I originally posed this software design challenge to application developers in September 2008 based on an InfoWorld article that warmed my heart, but have yet to see any major changes in how most software applications are designed.
For far too long, especially on the PC, software developers have been building applications with a feature arms race mentality. Because of rapidly expanding memory and hard disk space on customers’ machines, developers have not had to write tight code in the same way they had to in the early days of the PC.
Now, hopefully Symantec’s focus on creating Norton applications that install in under a minute and consume far less memory will spread to other industry players. Just because I have 4gb of RAM and 160gb of hard disk space does not give software developers the right to consume it thoughtlessly or to make my computer run slower.
Why can’t software developers give us adaptive software?
If I don’t use a feature of a product in 30 days, it should uninstall itself.
Why can’t I choose lean and mean (give me only the basic features) as an install option?
Software should be smart enough to minimize its footprint, while at the same time giving you the opportunity to add a feature easily later. So, an unused feature should get uninstalled, and simplify the menus as a result. But, if I hold the bottom of the menu it should expand to show uninstalled menu features in grey. If I select a greyed out feature it should tell me it is going to re-install it and then do so automatically.
I can only imagine how much smaller Vista, Office, Photoshop, and other applications would get if they were designed in this way.
If you know of applications designed in this way, please feel free to let me know by commenting on this article.
What do you think?