YOUR FEEDBACK
Immo Huneke wrote: A well written article, an ingenious solution to a real problem often encountere...
Cloud Computing Conference
March 30 - April 1, New York
Register Today and SAVE !..

SYS-CON.TV

2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
TOP THREE LINKS YOU MUST CLICK ON


Real-World AJAX Book Preview: Leading-Edge Best Practices
Real-World AJAX Book Preview: Leading-Edge Best Practices

This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs for the special pre-order price, click here for more information. Aimed at everyone from enterprise developers to self-taught scripters, Real-World AJAX: Secrets of the Masters is the perfect book for anyone who wants to start developing AJAX applications.

Leading-Edge Best Practices
The dream is always the same. The "Big Idea" comes to me as a bolt out of the blue. I sit down at my computer, install Ruby on Rails, and in a few hours I've published a working prototype on the World Wide Web. A message to this forum, an entry on that blog, an e-mail to a few friends, and WHAM! I have users.

My users post messages to these forums, entries to those blogs, text messages to their friends, and the God of Network Effects blesses me; in weeks, there are a million users. They provide feedback; I provide features.

Every hour - 24 hours a day, 7 days a week - I push out a new version and I'm rewarded with more and happier users. In six months, I've sold out and am off to Tahiti to sip fruity umbrella drinks. Without process, quality assurance or even venture capital, I've joined the ranks of the Web 2.0 millionaires!

Then I wake up. It's time to go to work, making the world safe for consumer package goods companies. Newfangled notions such as permanent beta and semantic Webs hold no currency with our customers. In the old matrix of A, B, and C companies (early adopters, time-is-ripers, and footdragging Luddites, respectively), our customers hover somewhere between B- and C+. They're just about ready to move into the 21st century and congratulate themselves for successfully sitting out the dot.com crash.

This chapter will explore the best practices for Web 2.0 application development in a way that addresses a range of computing environments, from the start-up with dreams of glory to the hidebound dinosaurs that populate the rich fields of enterprise computing.

Web 2.0 and AJAX
The term "Web 2.0" was coined by O'Reilly Media to describe the next generation of Internet applications that were beginning to appear. At first, it was defined more by examples (Wikipedia, Flickr, Digg) than by actual qualities; but the major aspect that distinguishes a Web 2.0 application from a (retrospectively labeled) Web 1.0 application is collaboration and information sharing.

Web 1.0 applications provided content - brochureware, search engines, travel planning - and users consumed it. In Web 2.0, the applications provide only the infrastructure; users both produce and consume content.

In Google's Web 2.0 e-mail system, Gmail, sophisticated JavaScript clients provide WYSIWIG e-mail editing while Asynchronous JavaScript and XML (AJAX) allow periodic polling of the server and automatic updates of the user's inbox.

AJAX acts as a lynchpin in the Web 2.0 architecture, providing a mechanism for communicating with back-end services without requiring that the entire page be reloaded. This in turn enabled the creation of rich Internet applications (RIAs). Google and others are working on desktop suites: spreadsheets, word processors, and calendars with the functional reach of Microsoft Office delivered through the zero footprint convenience of a browser.

Over the past two years, a set of best practices has emerged for Web 2.0 application development. There's still obviously a fair amount of debate about these, but the basic tenets are:

  • Leveraging Users as Testers: Traditional software release cycles kept the application out of the hands of all but a few users until it was officially released. The Web 2.0 paradigm is to release early and release often, allowing users to collaborate in the actual development of the application.
  • Real-Time Monitoring and Sampling: Web 2.0 applications can track how the user actually uses the application and report this information back to the service provider. This automates feedback and lets developers shape the user experience accordingly.
  • Shadow Applications: Web 2.0 developers write two types of applications: the public application published to the users and one or more private applications, which helps the developer understand how the user is using, or not using, the public application.
  • Permanent Revolution: A consequence of "release early, release often" is that applications are identified by a timestamp - the date and time the release was published - rather than by version number. Since the application is effectively installed in the browser every time the user runs it, he is by definition using the latest version. There is no longer a need to worry about supporting old versions.
  • Public APIs: Web applications provide public server-side APIs providing third-party access to their services; the client side of these applications are built on top of these APIs.
  • Graceful Degradation: The best Web 2.0 applications provide some feedback to users if their browsers don't support the technical requirements for running them.
Let's examine each of these best practices in turn.

This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs, click here to order.

About Greg Winton
Greg Winton is a 20 year veteran of software development specializing in network and mobile application development. Currently Greg is leading the Web 2.0 initiative at Vision Chain, Inc., a Washington DC based software company specializing in demand signal repositories and interconnected enterprise applications. Author of "Palm OS Network Programming" (O'Reilly, 2001) and several articles on handheld development and usability, Greg has been making the world a better place for end users one enlightened developer at a time.

LATEST AJAXWORLD RIA STORIES
Curl announced the release of Curl Data Kit Data Services (CDK-DS) for enterprise developers building new applications using Adobe Flex or Flash, as well as developers upgrading existing Curl applications. This addition to the Curl Rich Internet Application (RIA) Platform is an i...
rPath and WANdisco today announced that WANdisco has selected the rPath rBuilder and rPath Lifecycle Management Platform to build and maintain its Subversion MultiSite solution as a manageable set of application images for delivery in virtualized and cloud-based environments. rPa...
MuleSource has announced a partnership with FastConnect that will provide Mule architecture and implementation services throughout the French market. FastConnect spans the domains of data and service integration, through to the user interface, using technologies such as SOA, dist...
Adobe and Intel plan to collaborate on porting Adobe’s Flash widgetry to Intel’s Media Processor CE 3100, a way to put Flash-enhanced web content and rich Flash applications on television. The chip is bound for cable set-top boxes, Blu-ray Disc players, digital TVs and retail...
Here, SYS-CON's Web 2.0 Journal has asked a selection of the industry's brightest minds what their own advice would be in these troubled times, and assembled it into a ten-point guide for software vendors, entrepreneurs, and startups to riding out a recession.
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

Click Here

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE