For a few years, I've tried to recap here some events I've found notable over the past year and offering some guesses on what might be ahead of us. I'm somewhat late on these things this year, due to being busy with other stuff, but I didn't want to break the tradition, no matter how silly my wrong guesses might seem later. And again, others have covered generals, so I'll try to focus on specifics, in particular as they relate to what I do. For a look at what we achieved for Habbo, see my recap post on the Sulake blog.

This time last year Oracle still had not successfully completed the Sun acquisition due to some EC silliness, but that finally happened over the 2010. It seems to be playing about how I expected it to - MySQL releases have started to appear (instead of just being announced, which was mostly what MySQL AB and Sun were doing), and they actually are improvements. Most things are good on that front. On the other hand, Oracle is exerting license force on the Java front, and hurting Java's long-term prospects in the process, just at a time when things like Ruby and Node.js should put the Java community on the move to improve the platform. Instead, it looks like people are beginning to jump ship, and I can't blame them.

A couple of things surprised me in 2010. Nokia finally hired a non-Finn as a CEO, and Microsoft's Kinect actually works. I did mention camera-based gesture UIs in my big predictions post, but frankly I wasn't expecting it to actually happen during 2010. Okay, despite the 8 million units, computer vision UIs aren't a general-purpose mass market thing yet, but the real kicker here is how easy Kinect is to use for homebrew software. We're going to see some amazing prototypes and one or two actual products this year, I'm sure.

In terms of other software platform stuff, much hot air has been moved around iOS, Android, JavaScript and Flash. I haven't seen much that would have made me think it'd be time to reposition yet. Native applications are on their way out (never mind Mac App Store, it's a last-hurrah thing for apps which don't have an Internet service behind them), and browser-based stuff is on its way in. Flash is still the best browser-side applications platform for really rich stuff, and while JavaScript/HTML5/Canvas is coming, it's not here yet. For more, see this thread on Quora where I commented on the same. Much of the world seems to think that HTML5 Video tag, h.264 and VP8 equate to the capabilities of Flash, that's quite off-base.

On the other hand, tablets are very much the thing. I very much expect that my Galaxy Tab will be outdated by next month, and am looking forward to the dual-core versions which probably will be good for much, much more than email, calendar, web and the occasional game. Not that I'm not already happy about what's possible on the current tablets -- I carry a laptop around much less already. An in terms of what it means for software -- UI's are ripe for a radical evolution. 

The combination of direct touch on handheld devices and camera-read gestures on living-room devices is already here, and I expect both to shift on to the desktop as well. Not by replacing keyboards, nor necessarily mouses, but I'm looking forward to soon having a desktop made out of a large near-horizontal touchscreen for arranging stuff replacing the desk itself, a couple of large vertical displays for presenting information, a camera vision for helping the computer read my intentions and focus on stuff, and keeping the keyboard around for rapid data entry. One has to remember that things for which fingers are enough are much more efficiently done with fingers than by waving the entire hand around.. 

Will I have such a desk this year? Probably not. At the workplace, I move around so much that a tablet is more useful, and at home, time in front of a desktop computer grew rather more infrequent with the arrival of our little baby girl a few weeks ago.. But those are what I want "a computer" to mean to her, not these clunky limited things my generation is used to.