|
|
|
|
|
by kragen
5882 days ago
|
|
It seems like what you're interested in is more like UI or UX research than hardware innovation? The universality of the machine, strengthened by the ubiquity of compilers and software written in high-level languages, almost totally disconnects the user experience from the computing hardware, except for efficiency differences; instead it's tied to the I/O devices and the user interaction techniques, and increasingly, to the data the user is interacting with. But I do see a fair bit of discussion of researchy and novel UIs here, don't you? On the front page right now I see Heroku (reducing the cost of administering systems), Hummingbird (real-time web site analytics visualization), Android vs. iPhone (which is largely about ubiquity and UI), Chatroulette, the death of files in the iPhone/iPad UI (which sounds like goes right to the core of the "dominant costs" you're talking about), Nielsen's report on iPad usability, and UI design in Basecamp. And that's just above the fold! |
|
1) Make the things humans have to do easier. UI/UX
2) Reduce the number of things humans have to do. While all modern hardware can calculate the same things (are universal) they have different security models which can affect how much maintenance the user has to do. Take capability based security, an old idea implemented in hardware in the IBM AS 400. Languages (E, Joe-E) based on it are currently being touted as a way to reduce the risk of malware infection, even if malware does get on the system it can't do much because the language VMs operate under a principle of least privilege.
If we are changing the Arch for performance (e.g. fleet) and can't make use of the performance with standard software we may want to change it in this way as well, to take advantage of the system.
To give a concrete example of how computer architectures can be changed for the better. If windows had capability based security at the low level it could pass bits of memory to the user land process by sharing a capability that gave it write access. Then the user land process could populate it, once it had finished and the kernel wanted to read it, they could revoke the the writeable permission. This would prevent this sort of attack
http://news.ycombinator.org/item?id=1331025
See this for an intro to the philosophy
http://www.erights.org/talks/virus-safe/index.html
3) Make the computer do the work for the human. Yes this is mainly an AI problem, but it also an architecture problem. If you want the system to manage things like your graphics card drivers for you, you have to make some decisions about the hardware. Which programs are allowed to try and manage the graphics card drivers, how can the user communicate what she wants in terms of graphics card drivers in a way that the computer will find unambiguous.
So yep, UI and UX, is important but it is only one possibly angle of attack, and not the one I'm interested in. Because people are doing fine work on it, while the others languish a bit.