Brief, but excellent interview with Steve Ballmer on Channel9.
I agree with his assessment of the market–that people would like to see more frequent updates to the OS–or even to Word or Visual Studio for that matter. Actually “updates” probably isn’t the right word. In general, I’d say I’d like to see capabilities, stability, and security improve. I guess the “capabilities” part takes us right back to the “innovation” question.
Along these lines, Ballmer mentions enhanced capabilities at the edge–whether it be for a rich client or a cell phone–as well as a dedication to web services. Sounds good.
But in terms of innovation here’s even more of what I’d like to see:
* Collaboration APIs. Provide ways for my applications to be used by people in ad hoc groups at a conference room table, in an office, in a classroom, in a PTA meeting, and so on. Sharing is going to become more and more important as people go more mobile. We don’t live in a centralized, read-only world and the more we take our computers with us, the more this becomes self evident.
* Communication APIs. Hand-in-hand with collaboration is communication. Once again, this capability is in large part related to hardware improvements in mobility. I want the OS and the applications I write to be better at improving communication between workers, grandchildren and grandparents, teenagers, students, husbands and wives, and on and on.
* Context is key. This isn’t as much a feature as it is a methodology I’d like to see more of. Here’s what I mean. As computing horsepower continues to improve, we as developers can do more. We can blast through more data. We can try 10 paths rather than one. And when the data doesn’t resolve to a nice clean answer, we should be able to write code that takes the context and attempts to at least suggest an alternative. Google does this well with its spelling alternatives, address recognition, AdSense, and so on. At the lower level, managing context is what is separating the Google-grade search engines from the rest. Speech recognition, handwriting recognition, vision processing, and similar real-world data crunching technologies have to deal with this context issue too. This is one of the reasons I enjoy developing for the Tablet so much. Some things can fit nicely into rows and columns in a database, some things don’t. And when they don’t lots of creativity is required. And for a developer this is when the fun really begins.