Tips for Building Next Gen Web Apps
Good one from socialcomputingmagazine.com.
Tips for Building Next Generation Web 2.0 Applications
By Dion Hinchcliffe
Thursday, 17 April 2008
Design Elements of Next Generation Web 2.0 ApplicationsI’ve been spending a good amount of time the last several weeks getting ready for the workshop session I’ll be giving at Web 2.0 Expo next week in San Francisco on building next-generation Web 2.0 applications. What does “next generation” mean compared to what we were doing a couple of years ago with Web 2.0? A good number of things as it turns out.
Web 2.0 Expo San Francisco 2008 We’re currently seeing that newer Web applications are much more federated than in the past, meaning they’re made of distributed parts instead of being just one app on a Web server at one domain and are increasingly leveraging external Web services and APIs. We’re also seeing Web app functionality being bundled up into user distributable components such as widgets, gadgets, badges, and SNS embedded apps. Next generation Web apps are also much more social than in the past with features such as friends lists, activity streams, and aggregation from other social sites as well as using that information to really learn about your customer like Facebook does [Paul Buchheit.] And new Web apps are leveraging powerful new development platforms like Ruby on Rails, grid environments like 3tera , or cloud computing platforms like Amazon’s EC2 and Google App Engine (my comparison of the latter two is here on ZDNet.) And these are just three of the larger aspects of the many new things taking place in on the ‘edge’ of the Web today.
That’s a lot of things to learn for those who want to build Web applications that offer competitive features and will cost effectively scale as apps get larger, while often using technology that’s still fairly experimental. And that’s one of the big reasons we suggested this workshop to help get a snapshot of the current state of the industry to get up to speed on the latest. So we’re going to spend Tuesday afternoon at Expo going over the details of everything that’s happening in the Web app development space to the fullest extent possible.
And while I reserve the right to change things right up the very last moment, here’s what I plan on covering next week in San Francisco:
We’ll start by providing a detailed examination of the best methods for turning a Web application into an open platform to drive growth through the use of open Web APIs with REST, JSON, ATOM. The key success factors for the underpinning business models of open Web platforms including brief case studies will be presented. Designing for consumption in mashups and 3rd party Web apps will also be covered. I’m planning to build a Ruby on Rails REST API during the session based on the positive experiences we had a few weeks ago with Rails 2.0.
The very latest rich user experience platforms will be explored including Ajax, Adobe’s AIR, Microsoft’s Silverlight, and Sun’s JavaFx with an eye towards how to take advantage of their individual strengths to create new, highly compelling user experiences not previously possible, including for the next generation of mobile devices.
This session will then look in detail at the latest in Web identity models with a focus on how to use openid and other popular Web single-sign on models to offer users the identity choices they’ll prefer in the near future. The cutting edge of social distribution channels will be explored through the latest field research in OpenSocial and Facebook application models and how best to package and distribute your Web application within popular and high volume social ecosystems and Web widgets.
The second half of the workshop explores the architectures and cutting edge development models of Web 2.0 era applications circa 2008. The latest techniques for designing applications out of other pre-existing online platforms such as AWS, Google’s APIs, and many others will be given with specific examples for dramatically cutting the cost and time to market of modern Web applications. The latest in emergent architecture techniques, large-scale customer testing approaches, and rapid scalability methods (summary of these three here) will round out the workshop and finish with a informative survey of the latest productivity-oriented development platforms for creating highly effective Web applications including Ruby on Rails 2.0, Cake PHP, Groovy, Grails, and others.
And while I’ll into more details about these in my session, here are some high level tips for building next generation Web 2.0 applications:
Tips for Building Next Generation Web 2.0 Applications
* First, understand the basics of Web 2.0. Here is a popular overview I wrote a little while back that has the essential design patterns of Web 2.0 as well as how they specifically plug into a viable business model.
* Assemble a development team that is willing to learn. The market is moving at light speed at the moment and new models for designing, building, hosting, and distributing Web apps are emerging rapidly. Because of this, it’s fairly unlikely you’ll be able to hire the folks that already have the skills you need, so the next best thing is hiring people who are passionate about and able to learn the latest new things quickly.
* Spend some time studying the competition. It’s definitely not polite to directly design replicate another company’s Web app, but they’ll do all sorts of things with their application that will give you new ideas and places to take your project that you never thought about. That doesn’t mean you have to do exactly what they do, far from it. But when you’re playing on the Web, you ‘replaying the same ecosystem and it’s often surprising how you can affect each other.
* Really get to know your customers. You might think they’re consumers but they might really be small businesses or big enterprises. All of the audience groups out there have specific needs and once you learn your demographic and who is actually using your applications, you can start offering them what they really need. For example, here’s what large enterprises are typically looking at doing with Web 2.0 applications. It’s a lot different from what consumers will generally do. Deeply understanding your customers (which you can watch live as they interact with your product) will make your product as successful as possible. In fact, I call this the First Commandment of application development.
* Along the way, don’t lose sight of the fundamentals of Web 2.0. It’s what makes your product especially potent and drives the core of the long-term value it generates. But it’s easy to forget in the haze of Web design, feature-itis, testing, deployment, hosting, and scaling. I’m not talking the surface gloss that most people are referring to with Web 2.0, I’m talking the serious stuff like Architectures of Participation, building a strong network effect, and capturing classes of data online. Also read my Sixteen Ways essay as well as Product Development 2.0, they can help guide you enormously.
* Finally, use all the latest tools, technologies, apps, platforms and gain ground truth on what they can do. There is no substitute for using things hands on and understanding what they are capable of. Yes, this is time-consuming. No, you can’t skip it. This is the special sauce that many entreprenuers fail at doing: Using Web 2.0-style apps in their personal and work life and getting their hands deep into the actual technologies. Get to understand these things profoundly including how they work and their strengths and weaknesses.
I’ll be at Web 2.0 Expo for most of the week and I’ll be keeping everyone up to date on my Twitter feed , so please follow me if you want to keep up with the very latest.