YOUR FEEDBACK
Gregor Rosenauer wrote: well, not what's your take on this? Did I miss a second page of this article or...
AJAXWorld RIA Conference
Early Bird Savings Expire Friday 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


Right Side Up Development
Introducing interactive use cases

Traditional Web development frameworks tightly couple the user interface (UI) and the server. This characteristic has two significant implications:

  • Prototyping is difficult
  • Development is server-focused

Prototyping
Traditional Web frameworks make it extremely difficult, if not impossible, to create prototypes. The tight coupling between the UI and the server dictates that you must write and run server code to do anything. This leaves you with two options: build prototypes using a different set of technologies or don't prototype at all. In the first case, your prototype will be thrown away, which is obviously expensive, but there are certainly cases where it's less expensive than forgoing a prototype all together.

Server-Focused Development
Starting development with traditional Web frameworks equates to writing server code. The problem with this is that you are forced to build your UI and your server simultaneously. Inevitably, there will be changes to your application. This approach makes changing applications expensive, because you have to modify both the UI and the server; in some cases, you may have to undergo major structural changes if a new requirement dictates it. The negative effects of this type of development are not insignificant. Best case, you simply incur a small additional cost to make the change, but the cost of several small changes adds up quickly. Worst case, the cost is significant, which leaves you with three suboptimal options: absorb the cost, don't absorb the cost and deliver an application that doesn't meet business needs, or scrap the application.

A second side effect of server-focused development is you typically have server programmers writing UI code. This is bad for two obvious reasons:

  • Server programmers don't typically have good UI design skills
  • You're using an expensive resource to perform a lower-cost activity

The net result is that you spend more money creating an application that has inferior usability.

Introducing Interactive Use Cases
The emergence and widespread adoption of AJAX has triggered a foundational change in Web application development. The Appcelerator Platform is an example of this change. The platform is based on a message-oriented architecture, which enables some interesting capabilities related to this discussion. First, it enables an almost full decoupling of the UI from its services. In Appcelerator, UIs and services are linked only by a lightweight message interface. Second, it enables you to create "mock services" in the UI. Mock services handle remote service requests and responses, but they reside in the browser; the application has no knowledge of the location of the services it consumes. These two capabilities are the driving force behind what we call Interactive Use Cases. Interactive Use Cases are fully functional UI prototypes that are 100% reusable.

Fully Functional UI Prototypes
"Fully functional" means that your prototype behaves as if it were a real application. For example, when you do a search, you see a progress indicator for a second or two before seeing the search results. Experiencing the actual behavior is important because it's necessary to evaluate usability. In traditional application development, this is impossible to do without actually building the entire application, which is why there are so many applications in production with poor usability.

"UI prototypes" means no server code. This is important for two reasons. First, it lets you build and improve the UI until it meets your business and usability requirements without writing a single line of server code. The result is that you can build a much better product in less time and for less money. Second, no server code means no server is needed to run the prototype. This makes it easy to share and demo the prototype with both internal and external audiences to get feedback before building out the service tier.

100% Reusable
Once you've completed the prototype, you're ready to build out the services tier. The really good news is that your prototype will now serve as the final UI with no changes. Well, there's one change - you have to remove the reference to the file that contains your "mock services," which is one line of code. Your mock services also provide an additional and powerful benefit - they contain the messaging interface that the actual services must implement. The result is faster service development because developers have two important artifacts before starting to implement: the final UI and the messaging interface they need to implement.

Resource Alignment
As mentioned earlier, the Appcelerator Platform cleanly separates the UI from its services. A positive side effect of this is that you can now use designers and HTML developers to fully and independently build the UI - no more UIs written by server programmers. This is a great example of how a well-designed technology can enable natural efficiencies in the development process.

Conclusion
At Appcelerator, we use Interactive Use Cases for all of our software development projects. It has fundamentally improved the way we, and our customers, develop software, both in terms of speed and quality - we like to call it technology-enabled agile development. Instead of adopting a formal process, our technology enables a behavior that is agile in nature. The results have been phenomenal. We built our new developer network in eight weeks using this approach. We also used Interactive Use Cases with one of our biggest customers, Premiere Global. We have published a full case study on their experience at http://www.appcelerator.com/premiere.html.

About Jeff Haynie
Jeff Haynie is co-founder and CEO of Appcelerator. He started Appcelerator to provide a true open-source solution to enterprise RIA and SOA-based services development, after growing frustrated by the limited options and complexity in other solutions through his own development work. Prior to starting Appcelerator, Haynie served as co-founder and CTO of Vocalocity and CTO of eHatchery, an extension of Bill Gross? ideaLab. Haynie is an expert software developer and entrepreneur. Haynie has been active in standards development, as well as a contributor to open-source projects, including early work on JBoss. For more on Jeff Haynie, visit his blog at http://blog.jeffhaynie.us.

About Nolan Wright
Nolan Wright is co-founder and CTO of Appcelerator, leading the company's product and services organizations. Prior to starting Appcelerator, he led engineering and product management at Vocalocity. He has also held several senior technology, product management and consulting positions with Accenture, Netscape Communications and Vertical One. Wright is a graduate of Vanderbilt University, where he earned his BEEE in Electrical Engineering. For more information, please visit http://www.appcelerator.org.

LATEST AJAXWORLD RIA STORIES
Rich Internet Applications have become ubiquitous to the point that many of us rely on them for daily activities. But there's a big difference between consumer websites and enterprise-class applications. While new browser capabilities provide a richer look and feel for consumer s...
Cloud Computing isn’t just another buzzword: this session will look at what the industry is up to, Amazon is up to, and especially how people are innovating in the cloud. Buzzwords aside, virtualized (cloud) computing is a disruptive game changer at both technical and business ...
The Dojo Toolkit is an open-source JavaScript toolkit that has a large community following in and out of the Enterprise. One of the many useful aspects of Dojo is the ability to extend the toolkit to incorporate new functionality. dojo.E is a set of extensions for dojo 1.1 that m...
Using AJAX and Comet, this presentation walks through the process of creating a simple tic-tac-toe game in which two people play while other people can watch the game via their browser. The session involves creating a simple game playable in one session and then stepping through ...
Web applications are accessible on smart phone, TV, desktop, your home office or in your conference room. They have become common decision aids for our personal and business meetings. Situational Applications provide rich information and data visualization aids for decision-orien...
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


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE