SproutCore – Impressive but it is still just a Web App UI experience

PaperCube is touted as a great example on the SproutCore blog, PaperCube is a great example of using SVG and advanced CSS rendering to create a rich graphical experience. It’s a bit shocking when you use this app to realize that he has created this entire experience using only JavaScript and native web technologies. Who says you need Flash or Silverlight for a great visual experience!

I was led to the SproutCore blog by one of a series of postings in Roughly Drafted which raves on about how much SproutCore solves problems for web developers with some hyperbole: If you were waiting for the resurrection of Yellow Box or Cocoa for Windows, stop waiting and start coding. SproutCore brings the values of Leopard’s Cocoa to the web, domesticating JavaScript into a functional application platform with lots of free built-in support for desktop features.

Being based on open web standards and being open source itself means SproutCore will enable developers to develop cross platform applications without being tied to either a plugin architecture or its vendor.

It took me only a few minutes with the PaperCube example to see that, whilst it is a pretty example of a web-app, it’s still nowhere near a desktop experience.

I find it extremely ironic, after decades of people bashing the Mac for its single-button mouse, to see so much pressure for web apps which often abandon the right-button and often the scroll-wheel, for other than scrolling the page (if the app doesn’t fit).  Google apps, such as maps, make good use of the right-click context menu as well as scroll-wheels. Another superb example is Kerio’s webmail interface.

When it comes to development, SproutCore is a JavaScript framework. The develop is still going to have to work in a radically different framework and probably different programming language to write the backend data processing, for most business applications. The dancing bear is more graceful, but there is still an elephant in the room.