Nikhil Kothari has a great post about Silverlight versus Ajax. It’s a view of the front-end technology stack, including Silverlight, WPF, Flash, Ajax, Gears and AIR. I guess the only thing it’s really missing is Mozilla’s XUL stack that’s been used to build Skype and Joost (and JavaFX and OpenLaszlo for RIAs). It’s a very honest look at the types of applications and the islands of functionality, aka the sweet spots, that are starting to develop.
Interesting thinking about what are the sweet spots for the users of particular applications. Funny that, it comes back to understand people and their environment. There are tradeoffs and benefits to moving along the axis.
Applications have distinct scenarios and correspondingly gravitate toward a sweet spot. Some apps lie squarely on the left, with the need to first and foremost prioritize universal reach. At the same time, some apps have experience or functionality as the high order bit, where it is necessary to leverage a more capable platform, even if it means somewhat reduced reach. Still, the best apps will probably be those that leverage multiple front-end options to follow the user, with a common back-end (sort of a software and a service model).
Building RESTful applications on the server can enable the creation of really powerful, customer-driven tools. Understanding the people using the tool and the context of how they are using it build better applications. Blogging provides a simple example, WordPress 2.5 has a fantastic Ajax admin UI, but requires that the user has a live network connection. This does not alway make sense, just imagine writing blog posts on an airplane without network connectivity. Tools like Windows LiveWriter or MarsEdit enable richer experiences and offline editing of blog posts (among other features like plugins for creating hCalendar microformat events).
The Web is rapidly transitioning from being the “second screen“, to being the primary screen as the number of hours and the consideration of the web as the primary source of information and news has steadily risen to eclipse television watching (IBM Institute for Business Value – The end of advertising as we know it [PDF – 303kb]. The Web is the hub. Ray Ozzie described the web as the “hub of our social experiences, our social mesh, the hub of our technology experiences, our device mesh”. Your devices, your data, your applications all need to be connected to the web. It means that great applications will be loosely coupled systems built on interoperability and open-standards.
Front-end development technologies are becoming increasingly important. Understanding what is possible, i.e., the sweet spot and the limitations, helps makes it easier to start building applications that match usage patterns and device capabilities. The user experience will continue to evolve to span of mesh of Web-connected devices increases. Tim O’Reilly introduced me to the concept of software above the level of a single device, where software becomes more valueable as manages and mediates access to local resources and the internet cloud.
It’s about looking for tools, design patterns and methods that allow you to create connected experiences. Building reach applications is the first step, but it’s the rich applications that are memorable and have the power to change the human condition.