Mashup with Yahoo Pipes

Following my previous post on Mashup, I will be documenting the steps to create a mashup using Yahoo Pipes. For those who never heard about Pipes, it is “a powerful composition tool to aggregate, manipulate, and mashup content from around the web.”

Yahoo provides the platform for anyone to create own pipes, all you need is Yahoo account and you can start piping. In this tutorial I will combine data from USGS and Yahoo Map to show recent earthquake around the world.

Step 1: Login to Yahoo Pipes

Step 2: On the top navigation bar. Click on the “Create a pipe” button/link

Yahoo Pipes Navigation
Yahoo Pipes Navigation

Step 3: Now you will see the pipes workspace. It looks like any IDE. On the left hand side, you will all the modules available and on the right hand side it is the canvas for development. All you need to do is drag -n-drop the require component and wire them together.

Yahoo Pipes IDE
Yahoo Pipes IDE

Step 4: Drag-n-drop the “Fecth Feed” module and enter the following URL: http://earthquake.usgs.gov/earthquakes/catalogs/shakerss.xml. Ignore the output pipe for now.

Add Fetch Feed Module
Add Fetch Feed Module

Step 5: If you look into the RSS content, you will find the geo-location for each of the earthquake data. In this step, I will use “Location Extractor” module to extract the geo-location. It is located in the “Operators” group.

Add Location Extractor
Add Location Extractor

Step 6: In Yahoo Pipes, once location extracted you can out the information for the pipes to automatically link it with Yahoo Map. Feature or limitation? up to you to decide :).  With all the necessary modules in place, all you have to do is wire then together.

Wire all modules
Wire all modules

Step 7: You must save the newly created pipes before you are allowed to run it. Let’s name it “Earthquake Map by USGS”

Save & Run Pipe
Save & Run Pipe

Step 8: You will see the output from your pipe in a new screen. Yeah!! you’ve done it.

Output from Yahoo Pipes
Output from Yahoo Pipes

Anyway, this is just a simple pipe. You can see what other has created, some are simple, some are complex… some are very complex. It is really up to you and your creativity to combine various module and create new service.

So, you may ask “what can I do with the pipe?”

  1. You can publish it. It will be publicly available within the pipes communities.
  2. You can include it in your own site, by generating the badge. (see the script below below).
  3. You can add it to your “My Yahoo” or Google

Add this to your site/page to try it out.

<script src=”http://l.yimg.com/a/i/us/pps/mapbadge_1.1.js”&gt;{“pipe_id”:”48a0ce7eeece808ea6cece6bd70abc64″,”_btype”:”map”}</script>

Reference:

  • Yahoo Pipes
  • USGS – Earthquake Data

So, happy piping…. if you have created something in Yahoo Pipes, share with me via the comments box 🙂

Mashup

Did a bit of research on mashup couple of months ago and would like to share a short write up about it.

The term mashup originated from composing songs or musics. Wikipedia defines it as “a song or composition created by blending two or more songs, usually by overlaying the vocal track of one song seamlessly over the music track of another”

The mashup I will be talking about here is about IT applications and Wikipedia defines it as “a web page or application that combines data or functionality from two or more external sources to create a new service”. The data or functionality are typically from other sites and accessible via APIs, XML feeds, screen-scraping, mashup server, etc. The diagram below should help to illustrate the definition.

Mashup
Mashup

For a long time we have seen web portal, starting with Yahoo! and spreading to enterprise portal. So, how is mashup different from portal? I did a screen capture from wikipedia to illustrate the difference. (http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29). Click the figure below to see more…

Mashup vs Portal
Mashup vs Portal

Mashup itself can be implemented at any of the 3 layers, namely

  • Presentation
  • Business Logic
  • Data
Mashup Technology Domain
Mashup Technology Domain

Mashup at presentation layer is the most common one we’ve seen. Many sites combining Google Maps and own data to provide new services. Those services will then rendered as gadget (Google and Open Social Standard), widget (IBM term), Badges (Yahoo! term).

Mashup at Presentation Layer
Mashup at Presentation Layer

Mashup at logic/process layer and data layer typically done with the help of mashup server or application server. The definition of mashup at business logic layer is a little unclear to me because it looks like any server-side integration (using application server or service bus).

Data mashup can be implemented at client and server-side. Like business logic, server-side data mashup require mashup server or application server. While client-side can be implemented using on-demand Javscript.

Each of the components from the “smallest”, such as APIs, XML feeds can be assembled to create a new service or application by using a mashup platform or on-demand JavaScript. The diagram below sh0ws how each component connected.

Mashup Stack
Mashup Stack

Reference site

  • Yahoo Pipes – Mashups Development Tool
  • Google Sites – Mashups Platform
  • IBM Lotus Mashups – Mashups Platform. See the video tutorial below. It is still at early stage.  When I tried it out, it does not support IE 8 and FF 3.5.x. Future update should support them.
  • Mashups Directory
  • Kent County Council (UK)
  • Boeing Mashup – See the video below. It shows how Boeing uses IBM Lotus to develop a new services.
  • Kapow Technologies – Known for its screen-scraping product. However it has more.
  • My Twitter Nearby – did a simple mashup combining twitter data and google map to create twitter nearby. If you want to try, just click somewhere in the map and wait for awhile. You will see tweet nearby the area you click.

If you are curious about the IBM Lotus Mashup then watch the following videos:

Do share with me your thought on Mashup and how your organization make use of it.

Cloud Computing

Cloud computing is gaining momentum recently. It is they new buzzword and hype, however it is REAL. It is not a new technology, but it is a combination of existing technologies. In fact, Cloud Computing is currently at the peak of Gartner Hype Cycle 2009.

What is Cloud Computing? It is “a collection of computing resources (cpu, memory, storage, etc) delivered as service over internet or private network.” (from Frost & Sullivan).

Gartner Hype Cycle 2009
Gartner Hype Cycle 2009

Cloud computing is made possible with by right timing (green IT), right economic climate (financial crisis) and rapid development of technology that eventually form foundation to the cloud.

Some of key enabler are:

  • Network Bandwidth, Broadband and Smart Devices become more pervasive and affordable.
  • Open Source
  • Commodity Computing Power
  • Utility Computing and Virtualization
  • Web 1.0 -> Web 2.0 -> Web 3.0
  • Data Center Trend

There are 3 types of cloud computing:

  1. Public Cloud – Cloud that is open for public to subscribe and utilize, for example: Google, Microsoft Azure, Amazon EC2, etc.
  2. Private Cloud – Cloud that is hosted privately and own by enterprise. It is typically connected to the enterprise internal resources.
  3. Hybrid – Cloud that is combination public and private cloud. Typically separated by VPN or other secure network infrastructure.

Cloud Computing Taxonomy
Cloud Computing Taxonomy

Let’s look at the taxonomy of the cloud. The above figure shows the typical stack of IT in an enterprise. From data center all the way to delivering IT services.

  • IaaS – Infrastructure as a Service. The delivery of computer infrastructure as a service. For example Amazon EC2, Mosso, etc.
  • PaaS – Platform as a Service. The delivery of platform (OS, middleware, database) as a service. For example Google App Engine, Microsoft Azure, etc.
  • Saas – Sofware as a Service. The delivery of software/application as a service. For example Salesforce.com, Google App, WebEx, etc.

For those considering or thinking about Cloud Computing. Do consider the benefit and challenges before moving ahead. Like other technology, it is not for everyone and is not a silver bullet.

Challenges:

  • Security (data, network, etc)
  • Governance / Compliance
  • Service Level Agreement (SLA)
  • Risk to brand & revenue
  • Multi-tenant
  • Vendor Viability
  • Cost of transition
  • Portability
  • Lost of Control (performance, availability)

Benefits:

  • Capital Expense reduced.
  • Control Operational Expense
  • Business Agility
  • Re-focus on core business
  • Leverage economies of scale
  • Rapid development
  • Elasticity (capacity planning)
  • Alleviate need for special skill
  • Outsourced maintenance & management

The last few years Cloud Computing seems to be on steroid.

  • In US,  the government has setup apps.gov (15/09/2009). The equivalent of Apple Apps Store but for government to subscribe to platform and software as services.
  • In Singapore, cloud computing is also gaining momentum. In May 2008 (21/05/2008), Salesforce.com announced that it is building its first international data center in Singapore. The data center, which is expected to go live before the end of 2008, will service the company’s rapidly growing international customer base. Following that, in July 2009 (14/07/2009) SingTel announced it is collaborating with the Infocomm Development Authority of Singapore (IDA), International Enterprise (IE) Singapore, leading technology companies and software developers to establish Singapore as a regional cloud computing hub.

A brief history of Cloud Computing:

  • 1999 – the arrival of Salesforce.com, which pioneered the concept of delivering enterprise applications (CRM) via web. The services firm paved the way for both specialist and mainstream software firms to deliver applications as service over the internet.
  • 2002 – Amazon Web Services, which provided a suite of cloud-based services including storage, computation and even human intelligence through the Amazon Mechanical Turk.
  • 2006 – Amazon launched its Elastic Compute cloud (EC2) as a commercial web service that allows small companies and individuals to rent computing power on which to run their own computer applications. (Infrastructure as a Service)
  • 2009 – Google with its Google Apps offer browser-based enterprise applications.

Here are some of the player in Cloud space (not exhaustive list):

  • Amazon EC2/S3
  • Microsoft Azure
  • Google (App Engine, Google Apps, etc)
  • Alatum (part of SingTel’s group of businesses)  – Singapore
  • GoGrid
  • 3Terra (AppLogic)
  • StrataScale (IronScale)
  • etc…etc

Hope you find it useful and get you thinking about Cloud Computing 🙂

iPhone Worm

Yesterday, I stumble upon an article in CNet. “Another iPhone worm, but this one is serious“, that is the title. Initially I did not really care about because I know I won’t be affected. I believe only jailbroken iPhone will be affected 🙂

In case you have jailbroken your phone and worried about it. My friend Son Tung knows a way to prevent it, by changing the root password. Try the steps in this blog http://justanotheriphoneblog.com/wordpress/iphone-tips/how-to-change-the-iphones-root-password

I personally never try it, so I won’t be able to share my experience. But if you worry about the worm, it is worth to try :)…..

Virtualized Phone

Virtualization never stop to impress me. We can almost virtualize anything from application, server, network to storage.

Recently, I found a company that does mobile virtualization. It claims to be the first.

“OK Labs mobile virtualization technology specifically targets mobile requirements and use cases. The OKL4 Microvisor offers developers lightweight virtualization platform with a thin abstraction layer between the OK Labs secure cells (virtual machines – VMs) and underlying hardware.” – http://www.ok-labs.com

Mobile Virtualization
Mobile Virtualization

To find out more watch this.

Configuring ChromeOS

This tutorial will guide you to configure ChromeOS to run in VMware. Before configuring ChromeOS, download the VMware virtual disk from http://gdgt.com/google/chrome-os/download/. Unfortunately you have to sign up first before downloading :D. If you don’t have VMware Player, download from http://www.vmware.com/products/player/. In this tutorial I will be using VMware Player 3.0

1. Launch VMware player

2. Click on “Create a New Virtual Machine” and the New Virtual Machine wizard will pop up.

3. In the first screen, select “I will install the operating system later” then click “Next”

4. Choose “Other” for both operating system and version then click “Next”

5. Enter the virtual machine name. Use the same name as the downloaded vm disk file name to simplify configuration. Then click “Next”

6. Set the disk size accordingly. In this tutorial, I used 10GB. Then click “Next”

7. This is the last page of the wizard. However there 2 more configuration required. Click on the “Customize Hardware” button.

8. Adjust the memory size to 1024 or more depending on the availability of memory in your PC. Then click on the option Network Adapter

9. Select “Bridge” for the network adapter, then click “Ok”. You will be back at the wizard screen, then click “Finish”. Now you have completed the VM configuration. Before you can start ChromeOS, copy the vm disk (the one downloaded from gdgt) into the virtual machine folder.

10. Launch VMware Player then select the newly created vm and click Play. Once the VM start and loaded, you will see the ChromeOS login screen.

11. Use your google/gmail user id and password to login. Once login, you will see Chrome Browser. That will be the main screen of the OS. Have fun with ChromeOS!!