But it's also possible, and actually desirable in many cases, to do the work on the server, since the programming infrastructure there is much deeper and more powerful, though lamentably heavyweight. The one surprising advantage of the browser development model however is that its very constraints force ingenuinity; the relentless search for simple solutions to complex problems as well as radical expediency. This has brought the world not only the potential of Ajax but also amazing things like TrimQuery, a complete in-browser SQL database in a few hundred lines of code. Despite this, the server-side mashup approach has led to fairly advanced self-service approaches for creating mashups like Ning and others (and please send me any new ones that you know of.)
How do we bring this ease of creation to the rest of the non-Google Maps mashup world? Surprisingly, the answers might come from examples set by the likes of IBM, which has a new user-driven mashup creator called QEDwiki that:
The idea behind QEDwiki, which stands for quick and easily done wiki, is that businesspeople can create their own Web pages by dragging and dropping components onto a pallet, Smith said. For example, a businessperson could build a "dashboard" to see how weather is affecting sales at retail outlets. By aggregating information from public Web sites, such as mapping and weather services, he or she could assemble a very useful, if simple, content-driven application, Smith said.
This makes me think of a similar software development phenomenon a few years back. As much as I was never a huge fan of the earlier versions of Visual Basic, they did one important thing right. They made it easy for even novice programmers to quickly create useful business applications from various back-end databases. And while enterprise mashups are a whole different scenario, and my previously discussed mashup and Global SOA notions are a fascinating adjunct, none of this will matter until the right tools come. Fortunately, I think help is on the way and I'm already seeing indications that this is going to be an active and important product space in the near future.
Good Mashup Tutorials and How-Tos:
Programmable Web: How To Make Your Own Web Mashup
Dan Theurer: How To Build a Maps Mashup
Geocoding Tutorial: How To Build A Google Mashup
Mashup Tricks: How To Make Browsers Contact Web Services Across Domains
Example Web Mashup with Ruby on Rails: JobMapper
Mashups 101: Virtual Earth Map Control and Ajax
Screencast: Drupal Mashup Machine
Advanced: Mashing Up The Infoworld Explorer | Jon Udell
Important Note: I am doing a detailed round-up of all known mashup tools, client-side and browser-side both. Please send me any mashup tools you know of