Wednesday, September 13, 2006

Advancing the Software Applications "Stack"

In the beginning there was computer hardware and applications software had to call the hardware directly to perform every operation required. There was no hierarchical stack of software to leverage. Soon thereafter two levels of the applications stack evolved basic input/output system (BIOS) that connected software commands to the hardware for reading and writing bites, and the operating system (OS) to provide basic software services as reusable code that could be needed by many applications and wouldn't have to be written for each. These basic services are standardized (separately for each operating systems) so applications can count on them being available. And operating systems have grown from small layer on top of BIOS to massive code libraries.

Now we had a couple of decades of experience in widespread computer use. A few "basic" applications are almost ubiquitous: word processor, spreadsheet, presentation graphics, email, browser, calendar, designer/layout and filing/database. And many other applications use these basic applications as building blocks. What if we were to standardized these software adding to the applications stack? Then computers would be purchased with those basic application built-in and new application could be made much smaller counting on those being available. The operating system would no longer matter, only this new basic applications layer would become important to the user.

No comments: