Jim Voris' Blog

Friday, July 03, 2009

A Vacation to the Greek Islands

For vacation this year, we went to the Greek islands -- Santorini (5 nights), Naxos (5 nights), and then Athens (3 nights). We thoroughly enjoyed it. The views on Santorini... well, check out these pictures. We'll probably go back again next year. On Santorini, we stayed at Anastasis apartments. Highly recommended -- the staff is warm and friendly, and the views are great. On Naxos, we stayed here. It's not as up-scale as the place on Santorini, but the staff is friendly, and the location is great -- a short walk into Naxos town -- yet far enough from town to be quiet in the evenings. Overall, a relaxing time... that we hope to repeat (with some different islands) next year.

Wednesday, March 11, 2009

Make it easy to do the right thing...

One of the goals of good user interface design is to make it easy to do the right thing, and conversely, difficult to do the wrong thing. So the goal at Quma is to always make the right thing to do the easy thing to do. I don't always succeed, but that goal is usually in mind when adding some new feature, etc.

This same rule-of-thumb can apply also to institutions: good institutions make it easy to do the right thing, and difficult (or costly) to do the wrong thing.

Things go bad when you make it easy to do the wrong thing since most people choose to do the easy thing whether it's right or wrong. In software, there are typically few horrible consequences if the easy thing to do is the wrong thing to do – though I'm sure there are counter examples. In an institutional setting, making it easy to do the wrong thing can produce evil results. Among the horrific examples of this – imagine that you're a German citizen living during the WWII era. You're not some leader type, you're just a common Joe, trying to stay alive. The Nazis come to power, you're drafted, and now find yourself assigned to guard duty at Auschwitz. You thank your lucky stars you don't have to fight the Russians on the Eastern front. And then you're given the order to herd the Jews into the ovens. Here is an institutional setting where the easy thing to do (obey the order) is the wrong thing to do. Very few of us possess the moral fortitude to disobey – How many of the guards in the concentration camps knew they were doing the wrong thing, but chose to do the easy thing instead? The easy choice was to commit genocide; the difficult choice was to disobey and face an uncertain future -- either immediate death, or a trip to the Eastern front. The institutional framework was all screwed up.

A less horrific example from today's economic headlines – many bankers/lenders were aware of the sub-prime lending problem, and yet many of them chose to do the easy thing – continue to make bad loans. The bankers are not particularly stupid or evil – they are like most of the rest of us: when faced between a choice to do the right thing, vs. doing the easy thing, they chose the easy thing. The thing wrong with this picture is that the easy thing to do is the wrong thing to do. I'm not sure I could articulate all the wrong turns made that have put our instutions in their present state -- where in so many instances the easy thing to do is the wrong thing to do -- but it bears thinking about. If we're to ever get out of our current mess, one important step on the road to recovery will be to alter the design of our institutions so that doing the right thing is the same as doing the easy thing.

Saturday, March 07, 2009

QVCS-Enterprise 2.1.20.2 now available

Oops. I introduced a major defect (a.k.a. bug) in the 2.1.20 release that is now fixed in the 2.1.20.2 release. If you downloaded the 2.1.20 or 2.1.20.1 builds, you'll need to update to the 2.1.20.2 build in order to be able to define new projects. The downloads are available from the usual location. 

Sunday, March 01, 2009

QVCS-Enterprise 2.1.20.1 now available

Oops. I forgot to make a change in an ant build script which means the 2.1.20 build does not include the new client API classes.... So there is now a 2.1.20.1 release that does include the client API classes (in the gui_out.jar jar file). You can download it from the usual www.qumasoft.com/downloads.html download page.

Saturday, February 28, 2009

Kindle 2.0 first impressions

I got my Kindle 2.0 today. It was supposed to arrive on Monday, but the Post Office did something wonderful -- they delivered it a day early. I am pleased.

Some first impressions:

  1. It is smaller than I expected. I know I could have taken the published dimensions and created a cardboard cutout to mimic its size to see what to expect -- but who has time for that. No complaints about the size -- just that it really is only a little bigger than your standard size paperback book.
  2. It has a nice heft to it. It feels sturdy.
  3. It takes some getting used to the difference between reading on the Kindle vs. reading a real book. Well duh.... but it will take a while to get used to the differences. My current expectation is that there will be some changes to the way people read a Kindle book vs. the way that you read a paper book.
  4. The text-to-speech is the best I have heard.... not that I have made a study of products in that category, but the speed is good, and it is easy to understand.
  5. At this point, I think the biggest thing I will like about the product is that it will let me carry around a whole bookshelf of books. The navigation between books is an area that could be improved -- ideally the device would have a touch screen -- but I think I'll be able to learn navigation tricks to make it second nature.
  6. I put a couple of .pdf books on to the device (an easy enough thing to do, though it does require an e-mail round-trip to amazon) and -- aside from the footnotes -- the translation to Kindle format worked well.
  7. For avid best-seller readers (I am not), I can imagine the immediate gratification of being able to get your hands on a bestseller in just 60 seconds will be the most addictive part of the Kindle experience.
  8. My Kindle came pre-configured with my Amazon account, and a 'personal' thank-you letter from Jeff Bezos on the device; along with a book that I had ordered while the device was being shipped. Pretty cool, and pretty painless. Nice that they pay attention to those kinds of details. It's like a book appliance.... you just turn it on, and it works.
  9. What will the secondary market for Kindle's look like?

Conclusion -- it's a thumbs up...

QVCS-Enterprise 2.1.20 Release now available

I just posted the 2.1.20 release. You can read more about the changes here. This is the first release to include support for a client API -- which allows you to write a Java program that can query the QVCS-Enterprise server for information about the projects and files that are version controlled by the server. The client API javadocs can be seen here. 

Friday, February 20, 2009

Another QVCS-Enterprise beta...

I just posted another beta (2.1.19.2). You can download it here. This build fixes some issues I found in 2.1.19.1 -- in particular in the SCC IDE integration .dll. I've now tested this IDE integration with Visual Studio 2003, 2005, 2008, and Altova's UModel product. Things are looking good for the 'official' release on February 28.

Thursday, February 12, 2009

Just posted a beta for an upcoming QVCS-Enterprise release

I just posted a beta release (2.1.19.1). You can download it here. The beta is a preview of what will be in the 'official' 2.1.20 release which should be out at the end of February.

This is sort of a maintainance release -- though it includes one fairly major addition: support for a client API. The client API allows a vanilla Java client to access information from the QVCS-Enterprise server so that you can create your own application to display information about the files that are version controlled by the QVCS-Enterprise server. This first release of the client API is just a 'look don't touch' kind of API -- the user of the API can look at what's on the server, but they cannot make any changes to what's there.... so it's a read-only kind of interface.

The other 'feature' in this build is support in the SCC (SCC IDE integration) .dll for the 'get all' and 'get recursive' area of the Microsoft SCC spec.

All the other changes are bug fixes:

  • Rework of the checkin dialog so it displays correctly in non-US locales.
  • Fix the view revision feature so it works correctly for workfiles larger than 10 megabytes.
  • Fix the SCC visual compare command line so it works correctly on Vista and XP machines.
  • Fix an SCC thread exit issue.

The beta is pretty high quality -- I'm using it here, so feel free to give it a spin. The simplest way to do that is to shut down your server, then just replace your existing server_out.jar jar file with the server_out.jar jar file contained in the beta .zip file.... then just restart your server. Switching back to an earlier build works the same way -- just replace your server_out.jar with the one associated with the build that you want to use.

In the pipeline after the 2.1.20 release (barring some emergency release) will be the 2.2 (though I may rename it to 3.0) release. The 2.2 release will have much improved view/branch support. It's been in progress for a while, and I can't predict its release date. I'll definitely have a beta period for it, as it includes a lot of new code and functionality.

Sunday, December 28, 2008

QVCS-Enterprise 2.1.18 Release now available

I just uploaded the bits for the 2.1.18 release of QVCS-Enterprise. Find out more here. 

Friday, December 26, 2008

Year-end QVCS-Enterprise release

I'll be publishing a year-end release of QVCS-Enterprise in a couple of days.

This release adds a several usability improvements:

  • You'll be able to change the font size used in the client application (within reason).
  • You'll be able to skip the login dialog. The paranoid should not use this option, since it stores your password on the client hard drive, but for many users, this will be a handy way to improve the startup experience.
  • The client will now automatically 'naviagate' to the directory that was last selected when you exited the client application.

The current plan is to publish this 2.1.18 release on December 28.