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.