I was sitting beside an American Airlines pilot on a recent flight from Minneapolis to Chicago. He asked what I did and I replied my standard “I work for IBM as a software developer”. He replied that he had a computer at home but that he rarely used it because he wasn’t good with computers.
Ummm, don’t you fly an airplane, and isn’t and airplane one of the most sophisticated computers there is? (Anyone else here worried or is it just me?) Of course, he just didn’t think of the airplane as a “computer” since the computer is embedded within the overall system. The complex computer system inside the airplane was hidden by a much simpler user interface. I’m not suggesting that flying an airplane is easy or that the controls for an airplane are easy to learn. But for this trained pilot, flying the airplane seemed easier than using his home computer.
The same could be said for an iPod or today’s automobiles. Both have sophisticated computer systems inside that are hidden by a much simpler user interface. I firmly believe that hiding, or even getting rid of the user interface, is a great way to reduce the complexity of our software applications. This is one of the reasons why I’m a big believer in Web Services – having the computer systems talk to each other instead of having people in between. Or using scanners and RFID to input information instead of manually entering it.
At the same time I’ve always held the opinion that this doesn’t apply to me since I’m writing application development tools that are targeted to computer programmers. However, I’m finding it harder and harder to convince myself of this. Why shouldn’t we strive to create development tools that have just as much functionality but with as little “complexity” as possible. It’s a lofty goal but not an easy task. First we would need a good definition of “complexity” and I’m not about to tackle that in this posting.
One area where this often comes up is with preferences pages (it came up earlier today as I was working through some new features for the RSE). When designing new functions there are times when something could be done two or more different ways. Often the result is to add a new preference and allow the user to choose. At first glance this appears to be a good thing since it provides the users with additional flexibility. However, flexibility usually adds complexity.
Instead of adding a new preference, perhaps the design needs to be reworked to come up with a better solution that doesn’t require additional preferences. This is not an easy thing to do and can take considerably more time than the original design did, but in the end everyone benefits.
As for my airplane ride, we were just about to take off from Minneapolis and the pilot (the one flying the plane) came on the radio and said we couldn’t take off because the radar was down in Chicago. He didn’t say why, but I’m sure adding a new user interface option wouldn’t have helped :)
We are often asked “Where can I find information on WDSC?” My answer is now always: del.icio.us. In an earlier posting I made the case for tagging Web resources on WDSC. Since then, myself and a few others have been busy tagging everything we come across. So now if you go to http://del.icio.us/tag/WDSC you will find to be the most comprehensive list of WDSC resources out there. Ah, the power of Web 2.0. Everytime I find an article on WDSC I immediately tag it in del.icio.us.
If you are not already familiar with tagging, I would encourage you to learn (and contribute by tagging things!) It becomes very powerful, especially when combined with RSS or ATOM feeds. For example, you can get a list of all resources tagged “RSE” and “articles” by going to: http://del.icio.us/tag/rse+articles .
Ran into this… The System iNetwork site hosts a vBlog (video blog) called iStudio. The blog contains interviews hosted by Bob Cozzi with various IBM System i celebrities like Jim Herring and Elaine Lennox during the last COMMON conference.
Topics include: System i academic initiative, the new entry boxes and user-based pricing, mySQL, and the VIP program.
Also, a follow up to a previous post on the System i Innovation Challenge called Students… Win a Wii or iPod – what better way to attract young minds. Winners of the challenge were announced at the last COMMON where a team from Marywood took the prize by developing a web-based vacation planning tool. Congratulations!
The challenge was deemed successful at raising awareness of the platform and its benefits to students and academic institutions, and at acquiring an application to help attendees reserve time for the 2008 conference. :)
HATS V18.104.22.168 is now available.
It includes important fixes, and the following functions have been extended:
- Quick Field exit keypress (avoids round trip to the server for field exit)
- 5250W connection for HATS RCP applications- no OLTP required
- Text filter in HATS project view
- Scrolling by year for calendar widget