Lately there’s been some some excitement about the new Samsung SUR40 table which ships with the latest version of Microsoft Surface. Cool piece of hardware indeed, if I could afford it I would put it into my wish list. Another device, another SDK, another user experience. Am I the only person who is getting sick of porting applications for different platforms?
For the past 5 years the “apps” world has taken over. We have created sophisticated games and applications for desktops, consoles and now we are spending so much time porting all of these applications to the coolest new device. First it was the iPhone, then Android, then tablets arrived, oh my, my textures are not big enough, the screen is a different resolution, this device has retina display, this one supports a compass, this one doesn’t, now there’s Apple TV, hey, Windows Phone 7 just arrived, learn one more SDK… this will happen once more with Surface. Yes, at the core it runs on Windows, but will still need to learn to use a Surface SDK.
As a way to develop software, is this sustainable? I mean, how many more devices will we encounter in the next few years? How many more different APIs will a developer have to learn to get an application to run on multiple systems?
Google is going in the right direction with ChromeOS and Chrome. It’s going to take some time before web browsers catch to speed with things like WebGL and full HTML5 support, but it’s going to happen eventually! Even Mozilla with Boot2Gecko is going the right direction, and is the clear example that a functional (I didn’t say fully functional, yet) device can be built on top of a browser layer.
Can the same idea (browser layer + small native layer on top) be applied to table top surfaces? I say yes.
This application I developed runs on Linux as well as Windows (and with some tweaking should work on Mac too). It supports the TUIO protocol (which is a standard for multi touch devices) and runs on 100% free software. I plan to release an alpha version of this program (I haven’t chosen a definitive name for it yet) sometimes late during this summer. In this screenshot you can see a several applications running at the same time, none of which took me longer than a few minutes to load onto the platform because they were already working on a regular web browser.
Here you can see an instance of YouTube as well as a view of the menu I created. The nice thing about the whole application is that you are not stuck with one UI. If you know HTML and CSS you can make changes to the whole UI in a few minutes.
Browser layer + small native layer. If we are going to make development for devices easy and enjoyable, I think this is the right direction. Stay tuned for updates on this project!0