Over the last year, I’ve outlined Apple’s efforts to starve Adobe’s Flash and AIR (and by extension, Microsoft’s me-too Flash plugin called Silverlight), at a time when pundits have insisted that Flash was a vital missing element on the iPhone and that Apple could/should/would be scrambling to port Flash to it. It might be a surprise to find that Apple’s air supply attack on Flash and its interest in dusting Windows with Cocoa are actually related.
Tuesday, August 12, 2008
RIA is MIA
Wednesday, August 6, 2008
What Google Can Teach Ajax Developers

Google Gadgets are XML files that run inside an iframe on your web page, complete with embedded Javascript. The XML file itself is divided into 3 parts: module preferences, user preferences and content (html with inline css and javascript). SEOish has a good Google Gadgets tutorial for Ajax Developers.
The next logical step for Google is inserting gadgets into Google's ad infrastructure - introducing rich content ads, such as ads that show pictures of things for sale. Rich media also allows advertisers to combine branding with lead generation, giving them the best of banner ads and click-through ads.
Google gadgets themselves represent an interesting proving ground for Ajax technology. Incorporating Google Gadgets into adsense takes Ajax to a whole new level. Adam described "unpausing" an Ajax ad without the proper infrastructure in place as "a very fast way to do a denial of service attack on yourself."
Here are some of the lessons learned from working in the high volume world of Google Gadget ads:
- Relevancy trumps latency. Rich ad widgets can make multiple Ajax calls and take ten times longer to load (sometimes several seconds), but get a much higher click through rate. In a nutshell, this is why Web 2.0/Rich Internet Apps/Ajax are taking over from the old internet - people are willing to wait for content that is more relevant and interactive.
- Context is difficult. Because syndicated ads live in their own isolated iframes, it is hard to create context-aware ads. Of course, having a good WYSIWYG Ajax tool to build iframe applications could help!
- Scalability is a challenge. Every ad impression hits a database, so going live with an Ajax ad on a high volume site creates a huge amount of database traffic. This is even worse for ads which have a number of images. On the other hand, the size limit for a Google Gadget is 50K, which at least sets an upper limit on the damage you can do.
- Testing is difficult. When ads are created on the fly, it is literally impossible to test all combinations of content, browsers and interaction.
With Google Gadgets, a developer can create a Google ad that includes images and interactivity. The ad publisher gets to define what a "click" means within their gadget. Their incentive to cheat is low because if they don't have a way to measure clicks, they will never win a bid!
Adam also gave a good perspective on how Google fights the proprietary web (what Alex Russell calls the unweb) - with Gadgets and standards! People choose proprietary solutions when good open alternatives are not available. Google is trying to make it so easy and cheap to work with open standards that proprietary standards lose their appeal.Thursday, July 24, 2008
Visualizing Web Services: WaveMaker and Xignite
WaveMaker and Xignite announced their own bit of mashup magic today.
Xignite provides financial data as a web service. Real-time financial data that would otherwise cost a minimum of $50K to access through Reuters or Bloomberg is available at a fraction of that cost through Xignite. These services can include foreign exchange pricing, commodities pricing and real time stock quotes.
The problem is that it takes a web application platform to call the Xignite web service, marshall the resulting data and display it in a web page. That's where WaveMaker comes in. With Wavemaker, a web developer can create a ticker widget that calls Xignite services in less than 5 minutes.
Click here to see the Exignite/WaveMaker ticker example. Click here for more Web 2.0 definitions.
Wednesday, July 16, 2008
Ajax Master Class Webinar Series

Ajax File Upload/Download Master Tutorial
29 July 2008, 11am PT
Matt Small, Senior Software Engineer, WaveMaker
Debugging Ajax Applications With Firebug Master Tutorial
26 August 2008, 11am PT
Ed Callahan, Director of Technical Services, WaveMaker
Where there is development, there is debugging. In this session, we will discuss techniques for debugging issues commonly encountered while developing Ajax web-apps. We will use the Firebug add-on to Firefox to debug client side errors. We will also discuss the logging features available in the WaveMaker framework to diagnose server side issues.
Dojo Data Grid Master Tutorial23 September 2008, 11am PT
Steve Orvell, Senior Architect, WaveMaker
A grid is a fantastic way to view complex data at a glance. Whether it's data from a database, web service, or java service, WaveMaker provides a simple way to produce complex grids quickly. We'll review how to setup a basic grid and then dive into some advanced ways to manipulate the grid widget in WaveMaker.
Dojo Getting Greater Grids
At WaveMaker, we have found that creating a drag and drop interface for the grid widget is by far the most difficult task in building a visual tool for web application development. Having a more powerful grid widget makes our task easier!
Friday, July 11, 2008
Buzzwords 2.0: What is Web 2.0? What is RIA? What is Ajax?
Buzzwords represent job security for entrepreneurs like me who would be practically unemployable were it not for our secret knowledge of the true meaning of words like Web 2.0. However, even I must admit that these Buzzwords 2.0 get in the way of clear communication.
In addition, while there are many standalone definitions of terms like Web 2.0, it is much easier to understand these buzzwords mean by considering them together. With that in mind, here are my definitions of Web 2.0, Rich Internet Application and Ajax, complete with helpful graphics:
- Web 2.0 represents a market shift in consumer attention from expert-generated content (Yahoo) to user-generated content (Google)
- Rich Internet Applications represents a requirements shift for more interactive, PC-like web sites to simplify consumer creation of content (Blogger, MySpace)
- Ajax is an architectural shift to support RIA requirements
Definition of Web 2.0 - Shift In Consumer Attention
Consumer eyeballs still rule the web. The huge power shift over the last 5 years has been from expert-driven content (which could be created using expert tools like Adobe Dreamweaver) to user-driven content (which requires web based tools that are easy to use). The shift in consumer attention is also driving a shift in business focus as corporations look at ways to engage more effectively with their customers and employees.Definition of Rich Internet Application - Shift in Web Requirements
In order for more people to participate in creating content for the Internet, the content creation tools have to be both simpler and more interactive. Rich Internet Applications seek to erase the difference in user experience between browser-based applications (Gmail) and traditional client/server applications (Outlook). A quick comparison of Gmail versus Outlook shows that RIAs have a big usability gap, but the Internet brings the offsetting benefit of dramatically simpler application distribution.Definition of Ajax - Shift in Web Architecture
Ajax is an architecture which makes the browser smarter and more interactive by running Javascript programs on the client. Don't tell anyone, but the old name for putting logic on the client was fat client programming. Everything old is new again and it turns out the only way to make an interactive client is to do more processing in the browser.The following diagram shows the fundamental changes between the Web 1.0 architecture (circa 2000) and the Ajax architecture.
Where is all of this leading?
Web 2.0 is driving new application requirements and in turn creating a demand for new development tools that can meet those application requirements. Building increasingly visual and interactive web applications requires a WYSIWYG Ajax tool - something like a Microsoft Access for the Web. Flex and Silverlight, Adobe and Microsoft are providing proprietary tools for building RIA applications.For an example of an open-source tool for building RIA applications based on Spring, Hibernate and Dojo, check out WaveMaker . Download Wavemaker to see what a visual Ajax tool looks like! Wikipedia also lists a number of other Ajax frameworks for building RIA applications.
References
A number of others have gone before me in defining these terms individually. Jonathan Schwartz recently pointed out that Java has always had RIA capabilities (but he also admits they didn't work very well until recently). Here are my personal favorites definitions:
- Web 2.0. Tim O'Reilly at O'Reilly Media has a good definition of what is web 2.0
- Rich Internet Application. Adobe initially defined the term rich internet application. The Burton Group also has a good white paper on Ajax and RIA (registration required).
- Ajax. Jesse James Garrett of Adaptive Path originally defined Ajax.
Tuesday, June 17, 2008
Cool PHP code generator for Ajax
