The first microprocessor, Intel’s 4004 ushered in an era of widespread computing characterized by the growing importance of software and major advances in miniaturization of integrated circuits which has led to faster microprocessors and therefore more responsive computers. It has been centered around the programmable function IC.
If today we ask ourselves how useful our computing gadgets starting with the PC are, my answer would be not very. Today’s PC has been designed around a two-tier software architecture with the operating system at the bottom interfacing with the hardware and applications at the top. This has been designed assuming applications will proliferate. What really gets used by an end user is the application. My thesis is that applications have been slow to develop and because of this, the usefulness of today’s PC is pretty low. Mainly it’s still an office automation tool. How can we change this?
Lets start by questioning the assumptions we have have made in the last 40 odd years of development. The first big assumption has been that programmable function devices and the associated programs (software) are the way to build useful gadgets. If we don’t make this assumption and try to build a useful gadget, we find that for a large class of users, the usefulness of their gadgets comes from the availability of a few simple functions, mainly language processing. Therefore we can build a gadget that is useful and not programmable by implementing chip functions to 1) parse user input coming from the keyboard and mouse 2) drive the display and 3) perform any necessary intermediate computations. If we take a (business) user, analyze their specific usage protocol and implement these 3 types of chip function, we get a useful, non-programmable chip. With a non-programmable design, our RAM and hard disk requirements go down substantially to the point where all the RAM we need we can build onto the chip and secondary storage only stores user generated data, no programs. In summary, a non-programmable device built for a single user is substantially simpler than its programmable counterpart.
The second assumption we have made which is not really an assumption but more the reality of the business situation has been that we will get a more and more useful PC by improving the parts that run it — the microprocessor, the RAM, the hard disk and the peripherals. In other words, a bottom-up approach to design. Instead if we take a top-down approach in what I would call use-centric design, we would start by identifying what function would be useful for a user and then work down from that top level vantage point to define the hardware subsystem that will realize that function. In the process we would reinvent the hardware-software boundary and in many cases completely do away with software and programmability. A big advantage of the bottom-up approach is that you can freeze the top (the application software) and improve only the bottom to get an overall improvement. This keeps your next system compatible with the last one which is useful for market development. In a top-down design, your next system is a brand new design completely replacing the old one. You identified the needs of your user up front so you know what you build will be useful. Another difference is that in bottom-up you can target many users with a single design whereas in use-centric you will create many different designs. For use-centric design to succeed, the gadget design process has to be made simpler and simpler so that each design becomes a small (and cheap) task.
A good example of use-centric design that has seen widespread usage is Amazon’s Kindle. Starting with the requirement that users would read their books on this device, Amazon defined the hardware that would perform this function. At close to $100 street price its about 5 times cheaper than a $500 laptop that can do many other things and also be used to read books. It’s widespread adoption suggests that many users want just the ability to read their books in an easy way enough that they would buy a separate device for it. The $500 laptop on the other hand has been designed like a swiss army knife in that you can do a variety of things on it, each one being not that useful because the use driven design which is the design of the app software that runs on the laptop, comes much after the initial design and market deployment of the laptop. It’s a one size fits all solution.