// you’re reading...

6th Generation

What is a mashup?Â

A mashup is a hybrid web application… it takes functionality from multiple sources and combines them to create a new application. Often this is done through API’s - one well-known example of a web service with a powerful API is Google Maps. Many developers have utilized the Google Maps API and combined it with another service, such as a listing of beaches with WiFi internet access, to create a new map application that points out the best beaches in the world based on the availability of WiFi. The Maps program comes from Google and the listing of beaches comes from another site, and the developer merges the two into a new application.

Mashups have opened up new possibilities for powerful web-based software development by utilizing resources from multiple distributed origins. I dont believe there is anything new in mashup development, and its revolutionary effect on social networking - what is new is the scale of adotpion by a new generation of developers and development tools. I have a passion for electronic music, which preceded my interest in technology. Electronic music broke down traditional barriers to music making, and allowed people who were not considered as “musicians” to create music. As with technology, the paranoia is that this evolution is seen as a dilution of quality - I saw it as a gateway to other possibilities.

Now mashup has become an increasingly adopted development method, either as whole or part of a project, it will become an accepted method - probably spawning many methodologies. Web 2.0 has in no doubt helped drive this surge. The development method is not new - LAMP (Linux,Apache,MySQL, php) opened up a whole raft of database-driven websites, providing easy tools and templates to kickstart the applications. All this can be tracked back to opensource - the community that provided of many fundamental web applications. sendmail perhaps the oldest, and still processing the majority of web email traffic.Â

Mashup is next phase, and has deconstructed our preconceptions, as Agile did with our preconceptions of delivering quality software in shorter time than preceding methodologies. As yet, mashup is untainted this way, having no method contructed, but running by common sense, machine-logic and a prolific community. Google, Yahoo … have been helping in these efforts by providing tools and API’s to enable the web community to extend social networking beyond the visions of youtube, flickr, del.icio.us and technorati. Once a web application is first moved from concept to web server, it is already on its way to becoming a component fo further, larger systems.

This is the natural evolution of programming languages, defined in generations. From the first generation (binary, just 1’s and 0’s and no compiling), through to the hype and ultimate disappointment from fifth generation languages. In the 1990s, fifth-generation languages were considered to be the wave of the future, and some predicted that they would replace all other languages for system development, with the exception of low-level languages. However, as larger programs were built, the flaws of the approach became more apparent. It turns out that, starting from a set of constraints defining a particular problem, deriving an efficient algorithm to solve it is a very difficult problem in itself. This crucial step cannot yet be automated and still requires the insight of a human programmer.

Mashup approaches this from a new angle, rather thinking at pure machine level, introducing the human element. Mashups developments rely on sharing, reviews, re-engineering and adoption (which is based on usefulness). By using existing technology, most notably the www, this evolution has been possible. A statement that the web should be open and democratic - refreshing in the current patent-obessed climate in IT.


Discussion

No comments for “6th Generation”

Post a comment