Thursday, August 7, 2008

Speed, Features, and the Direction of Software Development

Signal vs Noise had a great post today on one of the most fundamental questions faced by Software Developers today; to develop 'pretty' software or 'fast' software. While this choice is not optimum, often times because of budgetary or time constraints, the choice is one or the other. So what should the answer be?
Many times, developing pretty software is the chosen path, as prettiness is something people can see. Therefore it tends to bring praise upon the developer. If one chooses to make 'pretty' software, users will initially be drawn to using it. However if it is overly slow, that appeal may not last longer than a few days.
Take for example Windows Vista. Without going into whether or not Vista is good software, two things can be said for certain. Vista is graphically pleasing. And, compared to less visually appealing operating systems, say XP, it runs slow. So, which operating system is doing better with the consumer? Without a doubt, XP.
The reason this is so pertinent now is because of several recent announcements coming from the open source community. Mark Shuttleworth's urging of the Linux desktop to be graphically better than OS X, and the Mozilla foundation's concept of Aurora. Both of these require extremely advanced technology, and would potentially be ultra-user friendly and flexible. But at what cost? In the case of Aurora, anything short of a modern day super computer would run the software so slowly that it would be simply unusable.
So, at least until the day when every person has several petaflops of computing power in their notebook, shouldn't the focus of developers be on creating software that 1) works flawlessly 2) is unbloated, fast, and responsive. While graphic design should be a priority, the first two listed should come first. In the long run, people will get used to software that doesn't look like Aurora. However software that runs as fast as a Snail on depressants will do nothing but anger users.

New RAM, Working Server

While still waiting on the RMA for some defective RAM, I stopped by the local Circuit City and picked up 2GB of (outrageously overpriced) RAM. As soon as i got home, I popped in the two new sticks, and before long I had a perfectly functioning server. Now, hopefully, I can get a refund (instead of replacement) for the defective RAM. Otherwise I'll have a home server with 4GB of 667MHz RAM, a little overkill for a two person data server. Everything is now working great, with the exception of Bugzilla, but I've never gotten that to install correctly anyway. In total, the server is running: Ubuntu 8.04 LTS Server, Samba (for Windows File Sharing), Apache2, Media Wiki (Project Documentation and Bug Tracking), Subversion, and Hamachi (Virtual Private Network). Watch for install guides soon...