Last year, I did a bunch of JavaScript programming. Widgets were the little graphical pieces, like dialog boxes and radio buttons, that I used to build my web app. My understanding of “widget” pretty much matched what I find at wikipedia – “(short for windows gadget) is an element of a graphical user interface (GUI) that displays an information arrangement changeable by the user, such as a window or a text box.”
So I was quite surprised to come into the mobile industry to find that “widget” was interchangeable with web application. In fact, there is even a W3C standard around “widgets”. And it is fine to have a standard around pieces of small, single purpose desktop functionality. However, when the term “widget” is used as a synonym for any web app, it trivializes the power of the web as an application development and deployment platform.
Web Development Trends
After spending its early days as a tool to wrap small scripts around html, JavaScript has evolved into a language for full-fledged app development. Evidence includes the emergence of AJAX as a popular powerful mechanism to drive asynchronous page fragment updates and tools like jslint to improve the ability for JavaScript to scale up robustly.
While JavaScript is evolving into a more scalable programming, Google is attacking the problem of Web programming from the other end with GWT (Google Web Toolkit) which compiles Java into JavaScript, thus bringing the advantages of compiled languages to Web development including the ability to find more classes of errors at compile-time instead of run-time and enabling the usage of mature Java tooling.
While the programming languages for the web mature, there is also progress being made with the core markup language (assembly language) of the web browser. Two important addtions of html5 are the canvas tag which enables dynamic scriptable rendering of bitmap images and the ability to do offline storage to better enable web apps to deal with intermittent connections.
Examples
Check out bespin to get a sense of the growing power of the web application platform. Bespin is on its way to becoming a fully functional development environment developed purely on the web. In addition to typical IDE features like editing and building, it takes advantage of the web to innovate around developer collaboration.
On the mobile side, check out phonegap’s or project page or Appcelerator Titanium’s sample page to see a wide range of apps developed using cross-platform web tools to run on multiple mobile devices.
Wrap Up
The word “widget” may be too entrenched to change, but whether they’re web apps or widgets, web applications are here to stay and will only get more important. There are an order or two more web developers in the world than native developers. The mobile platform is transforming into an innovation convergence and acceleration point for the web, embedded devices, and the cloud. So the mobile eco-system providers that do the best to enable mobile apps with the right browsers, enabling APIs, powerful development tools and usable deployment tools will lead the way in attracting web developers to create a rich set of applications.


If applet was the father… widget is the son…
Nice read. I think the best widgets out there are those that have some serious mashup/computation activity server-side. The most succesful widgets will almost always have a complex “server” infrastructure where all the data (from news, services, sensors, etc) get together before being “served” to the mobile devices. Some examples.
Does anyone know what apps are doing to the overall economy of the areas they get released in? When i read 2 billion Google app downloads I was thinking so what are they displacing in people’s attention span – and do developers have those economics and analytics to hand?
Mobile apps shouldn’t necessarily displace the “attention span”, but they definitely make the customer find/use information or any other service faster. This gain in time is paramount for a busy schedule in the modern world.
As far as the economics/analytics… I don’t quite believe that most of mobile app developers are big software studios. Most of them are freelance coders or small teams. Probably this is one of the reasons they can keep costs low and ask for a lower price for their products. Who knows what might come out once the first serious trend analyses become available!!
I’ll write more in depth in your other thread, Haydn, since you opened a dedicated one for this topic.
[...] Tuesday’s blog post from Paul on Widgets and Apps got me looking around at the economics of apps. My question was: What are apps [...]