Wednesday, December 29, 2010

Mashups - Most promising aspect of Web 2.0

Web 2.0 has opened the door for a new breed of web applications. Mashups, like Wikis, blogs and social networks are a part of Web 2.0 but mashups continues to grow faster. A mashup is an application that combines information from different sources and integrate them to deliver content for a specific purpose or a new functionality. The purpose of mashups are to create a new class of service or functionality that is convenient, more user specific and generate new business opportunities. For instance, a mashup application can combine service from a mapping application and apparel store to locate all the branches of the store in a city. There is a huge possibility for mashups in today’s world. Forrester Research predicts that mashups will be a $682 million industry in the next 5 years. Mashup promises cost effective solution that add a great value both at user as well as at enterprise level. Few more examples of mashup are Amazon Light and ActorTracker. Amazon Light contains listings of products sold by Amazon.com and combines them with data from Google, Yahoo, Del.icio.us, Blogger and others. ActorTracker combines Amazon, eBay, and other movie data. BizRate, PriceGrabber, MySimon, and Google's Froogle used combinations of business-to-business (b2b) technologies.

Architecturally, a mashup is comprised of three layers:-

Datasources/Content Providers layer – A mashup application can get data from diversified data sources. It could be a XML feed (RSS/Atom) or by calling external APIs exposed by third parties like Google Maps API, APIs from Microsoft (Virtual Earth), Yahoo (Yahoo Maps), AOL (MapQuest) or Flickr APIs. A detailed list is available at http://www.mashupfeed.com.

Transformation Layer – This layer basically transforms the data by filtering, sorting or by performing any custom operation on the data to create something useful.

Front-End/UI layer – Mashup is all about creating rich user experience which can be created using tools like Google Mashup Editors or IBM’s Lotus Mashups.

From implementation perspective mashups can be enterprise or non-enterprise. An enterprise mashup is created in a server while a non-enterprise mashup is created within the browser. Most of the mashups available today are browser based. They query the data sources/content providers, transforms the data and render it in a browser. Browser based mashups extensively use AJAX which allows pages and data used for the mashup to change without the page being refreshed, thus, making the tool very efficient for the user. Tools like Google Mashup Editor can be used for creating browser based mashups which can be created by end user with limited programming knowledge. Thus they are extremely useful for creating situational application quickly by the end user without incurring an overhead on the existing IT infrastructure. But browser based mashups have limitations. Browser based mashups cannot provide much option to the user and has large dependency on sources. Again, browser based mashups are created using javascript which has limited ability to perform complex operations\

On the other side enterprise mashups are more robust in nature. They can address the features of security and governance. Mashup server provides visual drag-and-drop interface for mashing services together. Common functions like merging, filtering and even custom functions such geocodeing are built into the server toolkit. The mashup server can safely perform and store authentication and authorization information for external services. It can also be connected to the enterprise's own authentication and monitoring toolsets.

A tutorial for creating mashups using GME is http://code.google.com/support/bin/answer.py?answer=71042&topic=12044

Few available Mashup editors are:-

· IBM Mashup Center

· Yahoo Pipes

· Google Mashup Editor

· JackBe

· Lotus Mashups

· Microsoft Popfly

· Mozilla Ubiquity

To me mashups are all about innovation. Services are available, so it is upto an user or an enterprise to mix and match the data or functionality from different sources and create applications that adds value. IBM is leading the mashup race with wide range of tools and editor. More information about mashups are available at http://w3-03.ibm.com/software/developers/page/1117

Tuesday, December 28, 2010

Mobile 2.0 - The future of mobile internet

Nowadays, there is a lot of buzz around the word Mobile 2.0. Some prefer to use the term Mobile Web 2.0. But the question is what is Mobile 2.0? To me, Mobile 2.0 is the next generation of mobile internet services that will completely transform the web and mobility space that we're currently witnessing. I always believed that mobile devices can change our life dramatically. The reason being, nowadays, a standard mobile come with the features like camera, FM, Maps etc. So there is always a possibility that we can take a photo or video and share it instantly with others. We can download a song from my favourite radio station and share it with others. With rapid penetration of 3G and other Wi-Fi technologies we are fast moving towards using internet technology on our mobile. Mobile 2.0 is designed for two way communication. Instead of distributing ringtones, wallpapers, music, information and videos to the consumer by telecom operators, Mobile 2.0 will enable users to have instant access to wide range of data services that includes blogging, wikis, Flickr, Youtube or social networking. Thus Mobile 2.0 is the convergence of mobile device with next generation of data service. Going forward Mobile 2.0 is going to be dominant access method with mobile devices, having more features and networks more powerful and robust.

Key drivers to Mobile 2.0 are:-

· Low cost of mobile devices compared to PC or laptop

· Mobile devices are portable and always with us.

· Rapid penetration of Wireless Technologies like 3G

· New Business opportunities

The big question with mobile 2.0 is whether the web 2.0 applications will go mobile or there will be mobile specific applications. Before finding the answer, we need to understand that a mobile device is not a PC. It has a small screen and users have a different way of interaction with a Mobile device. Most of the standard mobile devices available in the market have a web browser with Java and Flash support. So accessing a Web 2.0 content in mobile is easy, but the scope of Mobile 2.0 goes much further. Mobile 2.0 is about delivering mobile content, which is personalized as well as localized. An example would be like a Mobile 2.0 enabled social networking site will be able deliver the content as well as able to locate me where I am and will ensure that I can be reached instantly via text message.

A very interesting development in the mobile device space is that many Internet players are entering the market. Apart from the handset manufacturers like Nokia, Motorola, Sony Ericsson or HTC, companies like Google, Apple (iPhone), Microsoft (Zune) and HP are also entering the market. They are also coming up with their own set of APIs which can be utilized for creating Mashups like iPhone SDK, Mobile Ajax, Nokia Web Run-Time, Google Gears, Android, Yahoo! Blueprint. Today there are many Mobile 2.0 applications in the market mostly built on J2ME, Flash or Ajax based frameworks. J2ME based Mobile Services Architecture (MSA, JSR 248) is now supported by most of the standard mobile devices. Rich Internet/Interactive Applications (RIA) is being used extensively in mobile web browsers. Many frameworks are available for creating RIAs like Adobe’s Flash / Flex, Microsoft’s Silverlight, Sun’s Java FX, AJAX or Laszlo’s OpenLaszlo.

Few key challenges ahead of Mobile 2.0

· There is a plethora of phones, multimedia formats and network configurations that needs to be standardized.

· Finding the right advertising model for facilitating ad-sponsored content.

· Quality of service by telecom operators for multimedia content which are usually bandwidth intensive.

· High cost of advanced multimedia handsets

A simple, futuristic example of Mobile 2.0 could be:

I traveled to another city. On my way I took pictures and video using my mobile phone. I instantly uploaded them to Flickr/Youtube to share them with my family. So they can now track my trip in pictures and videos. On my way, I can access a mashup application on my mobile to tell me the places worth visiting which being integrated with a map application will guide me to those places. The same application will also give me some background information about the places. Using the same application, I can find the nearest coffee shop, ATM or mall based on my current location. A chat and email client will also enable me to be connected with my friends and colleagues. I can also have an application to pay my bills and trade online. These new class of data services leveraging mobility is surely going to change our life.