<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7525200724918618557</id><updated>2012-02-13T19:21:57.771-08:00</updated><category term='mobile'/><category term='semanticweb'/><category term='web2.0'/><category term='technical'/><category term='general'/><category term='php'/><category term='flex'/><category term='rails'/><category term='.NET'/><category term='internet'/><title type='text'>Rohit's World</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1132135993062012905</id><published>2011-10-15T19:17:00.000-07:00</published><updated>2011-10-15T19:18:51.648-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Launched a new site for Bangalore Volvo Route planning</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); "&gt;&lt;div&gt;I have created a web application ( &lt;a href="http://bmtcroutes.in/" target="_blank" style="color: rgb(0, 0, 204); "&gt;http://bmtcroutes.in/&lt;/a&gt; )that helps user to find the BMTC volvo bus routes between places in Bangalore.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You might have come across some of the sites which provides the same functionality but I have tried to add some new features that are missing in the existing sites.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. It allows the user to enter free text to search for an address. It takes care of common spelling mistakes like instead of typing Marathahalli user typed Maratahalli&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Some places are more commonly called by their old names. For e.g. Majestic, the application takes care of such scenarios. Most of the addresses in bangalore are already listed so the user will get the suggestions about then once he starts typing the search string, but in case it is not listed the user can still enter the address and the application will try to find the route for it too. No similar application has got this capability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3.  Most of the similar applications searches only for the direct bus routes i.e. both source and destination should be covered by the same bus which is a serious restriction given possibility of indirect routes is very high. &lt;a href="http://bmtcroutes.in/" target="_blank" style="color: rgb(0, 0, 204); "&gt;bmtcroutes.in&lt;/a&gt; is the first application that can search for the indirect routes with high degree of precision. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Provides a very intuitive UI. Since the application is targeted to both technical and non-technical users, the simplified UI is key requirement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. The application can be accessed from multiple channels : Website, Mobile app, SMS based interactions. (Currently it is available only through webbased interface but I will cover others soon)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have focussed more on the functionality, so could not get time to make it jazzy as per todays standards but then it is VERSION 1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently the buses are restricted to BMTC Volvos, Big Circle and Airport Volvos, but based on the demand I can extend it to non-volvo buses too.&lt;/div&gt;&lt;div&gt;I have tested the site for firefox and chrome...I did not test much for IE&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1132135993062012905?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1132135993062012905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1132135993062012905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1132135993062012905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1132135993062012905'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/10/launched-new-site-for-bangalore-volvo.html' title='Launched a new site for Bangalore Volvo Route planning'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-3223261881456926555</id><published>2011-06-19T20:39:00.000-07:00</published><updated>2011-06-19T20:50:41.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><category scheme='http://www.blogger.com/atom/ns#' term='semanticweb'/><title type='text'>Can Semantic web improve the shortcomings of Keyword Search?</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small; "&gt;Currently most of the popular search engines are based on the keyword search algorithm which means, they try to search for the pages which contain the keywords entered by the user and provide you the results. There are certain problems with the keyword based search mechanisms which can be understood by taking few common scenarios (I have taken few examples from the book Social Networks and the Semantic Web by Peter Mika. I have added my explanations to make these scenarios easy to understand):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;1. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; font-weight: bold; white-space: pre-wrap; "&gt;Who is Frank van Harmelen?  (Basic keyword based search)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Suppose I want to query this with the search engine like Google. And I entered the keyword Harmelen. Google has no idea about my intentions it will just do a keyword search and return me the results that will be about persons with some portion of name as Harmelen, some product on Amazon whose name is Harmelen and so on . Basically if we look into the conversation mode then the query that we did and the response from the search engines will look like&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Q: Who is Frank van Harmelen?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;A: &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;I don’t know but there are over a million documents with the word “harmelen” on them and I found them all really fast (0.31s). Further,you can buy Harmelen at Amazon. Free Delivery on Orders Over 15.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Upon closer inspection the problem becomes clear: the word Harmelen means a number of things.  It  is a name of  few people  (Frank van Harmelen  or Mark van Harmelen etc). Harmelen is also a small town in the Netherlands and the place for a tragic train accident. There is also some products on Amazon with the name Harmelen. So basically the search engine has thrown a wide range of results.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;We will then start adding some more information to the keywords and will specify the full name that we are interested in “&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Frank van Harmelen”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;This will reduce the result set but still there are lot of extra results. For e.g. the user might be interested in Frank van Harmelen, Professor of Vrije University. But the result will have the web pages containing any Frank van Harmelen&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The user can further refine the search results by typing more keywords “Frank van Harmelen professor of Vrije University” which will return pages containing the correct Frank van Harmelen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;So if we analyze the refinements we are basically providing more and more information in the keywords to guide the search engine to return the correct results&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Still there are some problems in the results. There can be multiple scenarios where the even though information on the page is relevant to the Frank Van Harmelen but we are not getting them on the search results. There might be webpages where the name is not mentioned as Frank van Harmelen but still they have been written by Frank or there are web pages who are referring to Frank van Harmelen as “he” or Frank might have written some articles/books which the webpage is referring as FVH98.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The search engine will miss out these pages which can be quite relevant to the person who is querying since it has got no information that the pages related to Frank Van Harmelen&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;There are some common queries that user wants to perform but are impossible with the current searching mechanism. For e.g. a movie buff might want to search “Give me all the movies which were directed by Steven Spielberg and acted by Harrison Ford”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; The search engine will just return the pages where both of them are listed together. The search cannot understand the meaning of the web pages and cannot figure out if the page is indicating that two of them have worked together or it’s an information about a Movie party where two of them were present.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Only efficient way is to manually break the query as “Find movies by Harrison Ford”, “Find movies by Steven &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre-wrap; "&gt;Spielberg”. Now manually check the crew members in both the set and finally come up with the result “Indiana Jones”&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;2. Image search.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;A user might be interested in searching for the pictures of Paris city. On Google image search if you type “Paris” you will get more results related to Paris Hilton than Paris city. The problem with the image search is more profound then with the regular search. The problem is because associating the photos with the keywords is much more difficult than simple looking for the keywords in the text of the documents. It’s very easy for the human to find out that the results are not correct (Paris Hilton and Paris city are different things) but the computer can do a visual verification of the results. Automatic image recognition is currently not a matured field.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The images that were shown basically correspond to the pages where the images were placed and the pages contained the keyword “Paris”.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;3. Find new Music that I like&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;These kind of queries is at an even higher level of difficulty. From the perspective of automation, music retrieval is just as problematic as image search.  The search engine can try to avoid the problem by not going into the content of the music but only get the clues of the performer or the genre from the web pages that have links to the music files. But there are some practical problems. The music is very fast moving so the content of the indexed pages might have changed. The search engines typically index the Web once a month and therefore too slow for the fast moving world of music releases.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The user can give the query like “Give me all the latest sad English songs” or “give me songs which are hip hop” so we are trying to query for songs from different artists and filter them on the type of song.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The search engine has no way to find out the content of the music and what is the meaning of the music.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Ideally a user would like that the search engine fetches the music related information from user’s online playlist that the user maintains and based on the type of songs the search engine can return them the latest songs.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;4. Tell me about the music players with a capacity of at least 4 GB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;So basically this is an ecommerce query. The user is looking for a product with certain characteristics.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The basic problem is that translating this query from natural language to the Boolean language of search engines is (almost) impossible. We could try the search &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;“music player” “4GB” &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;but it is clear that the search engine will not know that 4GB is the capacity of the music player and we are interested in all players with at least that much memory. The query will just return the pages containing the keywords as  “music player” and 4GB. It cannot even make a choice if iPod, mp3 player should be considered as music player or not. In simple words if a web page is talking about a 4GB iPod, the page will not appear in the result set. The search engines don’t know what is a music player or a mp3 player. It is just a program capable of searching keywords from billions of pages across internet.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Also even if we somehow add modify the algorithm to make the search engines understand that iPod, mp3, mp4 are all kinds of music player the task of reading the web page to find out the capacity is quite tedious and erratic. The search engine will have to figure out where the information related to capacity has been mentioned.  It has to parse the HTML page to find the information. Parsing the HTML page to find information cannot be generalized simply because every web page is created differently. Some html pages can have presentation information inside the page some can have a separate css file. Some of the HTML pages might be generating the information dynamically so the indexing is also not possible.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;In short with the current search algorithm the query “give me all music players with a capacity of at least 4 GB “ is impossible to make&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;5. Tell me where I can find the cheapest iPad 16GB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The query is little different than the above since here the user has told specifically that he is looking for iPad 16 GB. So the search engine can go to Amazon, Google Froogle, ebay etc and get you the specific product. But the catch is the word “cheapest”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The user wants only the cheapest price. The search engine has to again parse the price related information. As discussed above the parsing of HTML pages for price information is very difficult. The price might be shown as “Total”, “Cost” etc. Also the various sites can give the value in different currency so 400$ &amp;lt; 380 euros but the search engine has no way to know this.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The above scenarios are the classic examples which indicate there is lot of scope for the improvement in the way search engine works.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;In all the examples we are dealing with knowledge gap: What a computer understands and able to work with is much more limited than the knowledge of the user.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;This lack of knowledge is mainly because of the technological difficulties in getting the computers to understand the natural language or to see the content of the image and the other multimedia.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;If we can somehow provide the background information that the search engines can read, the above queries can be easily satisfied.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The semantic web is a concept to apply the advanced technologies in order to fill the gap between the human and the machine&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Without getting into the actual technologies of the semantic web, I will discuss about what can be the background information that can help the search engine to return the correct results.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;1.     In the first kind of query the user is basically looking for the information related to a person Frank van Harmelen.  Some of the meta information (knowledge) that webpages can provide is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;“Frank van Harmelen” is professor. He teaches at Vrije University. He has publication FVH98. He works-on “Semantic Web”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Also the pages which were referring to Frank as “he” can add the meta information that “he” means Frank van Harmelen. The search engine won’t miss the pages that did not refer to him by the complete name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Also if the search engine have some background information about the user who is tying the query (With the Google/ig , my yahoo the users can have a personalized search page), the user need not type “Frank van Harmelen Vrije university” “Frank Van Harmelen” should be sufficient.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Based on the user profile, his past web history, his online bookmarks, his homepage, the search engine can make some inferences that the user is interested in Semantic Web and that’s why he has typed “Frank Van Harmelen”. The search engine already knows that Frank van Harmelen works on Semantic Web, so the background information has completed the knowledge gap that previously existed.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;There are ways to store the information in different forms like RDF, OWL which is out of scope of this article.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Similarly the movie based searches can be again enriched by maintaining some Meta information&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;            Indiana Jones “is-a” Movie     &lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;p style="margin-left: 36pt; margin-top: 0pt; margin-bottom: 0pt; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Harrison Ford  “acted-in” Indiana Jones&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt; margin-top: 0pt; margin-bottom: 0pt; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Steven Spielberg “directed” Indiana Jones&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;So the search engine knows that Harrison Ford and Steven Spielberg both are related to Indiana jones which is a movie. It can return the result as “Indiana Jones”. In this case the search engine can simply return the information as the name of the movie rather than the complete webpage. This is similar to typing “1USD to INR” on Google search page the result is the value 45.98. Google will find the value of the query expression automatically and display it. It’s kind of a calculator application&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;2.   Image searches can be significantly improved by adding the tags describing them. Flickr actively supports tagging. Similarly the other sites which allow adding the images can have ask the users to add tags when they upload the images. The search engines can read these tags to understand the images.  The images that are associated with a place, city, and country can be geo-coded. So the user can also query the images by clicking on the particular location on the map and ask for images of that place. The search engine can look at the geocodes of the indexed images and return them in the result&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;img src="http://2.bp.blogspot.com/-THHlozdFd5o/Tf7C6W7M7VI/AAAAAAAAGB0/ukPv26LqcbE/s400/pic1.JPG" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 3. Media searches can again be improved by adding meta information about the music.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The meta information will cover the title of the music, the artists, type of music (sad, hip hop), release date etc. This meta information will allow the users to make the searched like&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;“Give me latest sad songs of XYZ artist”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;If the user can maintain a online playlist, or specify the music preferences on the homepage, social networking profile the query can be made more powerful.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;“Give me latest music”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Now the search engine knows the users taste and the information about the music. Based on this the search engine can return the correct results.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;img src="http://4.bp.blogspot.com/-WtufVIu00DE/Tf7DDExHh0I/AAAAAAAAGB8/xxfKkTIseQM/s400/pic2.JPG" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;4. The e-commerce queries can be improved if the stores can maintain the information about the products in an open format which can be easily parsed by the search engines. So the information can say that iPod is of type music player, capacity 4GB, price 300, Currency: USD.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;These days Amazon, ebay, Google base have provided a syntax that can be used by the stores (in case of Amazon) or the sellers (ebay, google base) to describe the products. Based on this information the search engines can execute the query “All music players of At least 4GB capacity”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Since the format will specify very clearly the meaning of the fields, the search engines can be educated about it. Even if the format of each store is different we can write some kind of mappings between the fields. Amazon may call product as PRODUCT while ebay can call it ITEM.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.9502537071239203" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;5.     The “cheapest iPad” query can be addressed by the above solution. The search engine can find out the prices in different stores by reading the XML tags. Also since the currency units are available. The conversion rates can be applied (read them dynamically from xe.com) and do the conversion&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;I have just scratched the surface of semantic web. It’s a vast research field with tremendous potential to improve the searching capabilities. Semantic web will certainly change the way the queries are written in the near future.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-3223261881456926555?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/3223261881456926555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=3223261881456926555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3223261881456926555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3223261881456926555'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/06/can-semantic-web-improve-shortcomings.html' title='Can Semantic web improve the shortcomings of Keyword Search?'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-THHlozdFd5o/Tf7C6W7M7VI/AAAAAAAAGB0/ukPv26LqcbE/s72-c/pic1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6068093957609402591</id><published>2011-06-19T19:55:00.000-07:00</published><updated>2011-06-19T20:17:54.727-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>SMS based internet for social networking</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;I &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt;have heard a lot that people invent the ways when they face some problems. Few days back I also went through the same situation. Here is what gave me an urge to really do something that can help me to utilize my time while I am commuting. Everyday I travel in a BMTC Volvo to work. It is a torture when you have to travel almost for 1 hr standing in a crammed place and with 10 people pushing you every time when the driver presses a brake.  Reading books is out of question in this situation. The next best thing is to check my Facebook status or personal mails. But I don’t prefer taking out a flashy phone in these conditions because the chances for the damage are high. Every day I thought how can I use my old phone and still manage to perform some of the common tasks of status updates, checking mails or tweet some of the funny observations while I am standing in the bus. I finally decided to apply technology to improve my life.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Few days back I had read an article regarding text based web.  Text based web is basically about obtaining information from the web by sending the SMS to a particular service.  There are few SMS platforms like&lt;/span&gt;&lt;a href="http://www.google.com/mobile/sms/"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;http://www.google.com/mobile/sms/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;,&lt;/span&gt;&lt;a href="http://www.txtweb.com/"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;http://www.txtweb.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; which help in fetching the information from the internet and sending to the mobile phones via SMS.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;I thought of exploring this concept and try to dev&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt;elop my &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt; own applications that can receive the SMS and then perform some operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;As you all must know that the information in case of website is fetched using the HTTP requests. So  when the user types a URL to fetch the page he is ba&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt;sically sending a HTTP request to the application server that can return the HTTP response for that request. The following diagram briefly summarizes that (the details on HTTP is easil&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt;y available on the net and so I am not going to discuss that)&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;img src="http://1.bp.blogspot.com/-d79drafLpEs/Tf64JK3AOxI/AAAAAAAAGBM/gj-cFAYHhqk/s320/internet.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 127px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5620131852678347538" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left; background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; line-height: 17px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; line-height: normal; white-space: normal; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;1. &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;You enter a web page address in your browser’s location bar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;2. Your browser breaks apart that address&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; line-height: normal; white-space: normal; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; and sends the name of the page to the web server. For example, http://www.ndtv.com/index.html would request the page index.html from www.ndtv.com.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;3. A program on the web server, called the web server process, takes the request for index.html and looks for this specific file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;4. The web server reads the index.html file from the web server’s hard drive.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;5. The web server returns the contents of index.html to your browser.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6. Your web browser uses the HTML markup that was returned from the server &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;to build the rendition of the webpage on your computer screen&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; line-height: 17px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; line-height: normal; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Just to put everything in perspective, Facebook, Twitter, Gmail all have some Application server that is listening to your request and respond back with the information. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;The platforms like &lt;a href="http://www.google.com/mobile/sms/"&gt;http://www.google.com/mobile/sms/&lt;/a&gt;, &lt;a href="http://www.txtweb.com/"&gt;http://www.txtweb.com&lt;/a&gt;, &lt;a href="http://www.textmarks.com/"&gt;http://www.textmarks.com/&lt;/a&gt; &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;can convert the SMS to an HTTP request and can convert the HTTP response back to a SMS. This is important since you can now communicate with the application server by sending the SMS.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; line-height: 17px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; line-height: normal; "&gt;&lt;div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal; background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;p class="MsoNormal"&gt;The concept is described in the following diagram&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;"&gt;&lt;img src="http://2.bp.blogspot.com/-E1hADSfMs_8/Tf66eWpYjrI/AAAAAAAAGBk/NbyMr1PJqVw/s400/txtweb1.jpg" /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Step 1,2. Using the mobile send a SMS to the SMS platform using the mobile carrier&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Step3,4. The SMS platform will convert this SMS to an HTTP request and send it to the application server via internet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Step 5,6. The Application server will act on the request and then create a HTTP response and send it back to the SMS platform via internet&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Step 7. The SMS platform will now convert the HTTP response back to an SMS and send it to the mobile phone via Mobile carrier.&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px; white-space: pre-wrap; "&gt;his is different from how the normal apps on smartphones work. They can send/receive a HTTP request/response directly without any conversion so the application communicates almost like a website&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; line-height: 17px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; line-height: normal; "&gt;&lt;div style="font-family: 'Times New Roman'; font-size: medium; white-space: normal; background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;img src="http://4.bp.blogspot.com/-FdT5DRVVMCA/Tf66Cv-FahI/AAAAAAAAGBc/CIA9g8O8KBI/s400/txtweb3.jpg" /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;This is different from how the normal apps on smartphones work. They can send/receive a HTTP request/response directly without any conversion so the application communicates almost like a website&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;So with the above concepts in mind I decided to develop my first application. Since the whole idea was born in BMTC Volvo so I decided to create a textApp (named on the lines of mobile apps) to find the routes of Volvo bus.  As a user I might like to find out what is the route of  “volvo 500K”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The building blocks of my application are&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;1.  SMS platform&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;2.  Application server hosted on public domain&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;3.  Application to find the bus routes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;For SMS platform I used used txtweb (&lt;/span&gt;&lt;a href="http://www.txtweb.com/"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;http://www.txtweb.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;).  It is very simple to use and configure.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The following diagram explains how it work &lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;img src="http://3.bp.blogspot.com/-Cpn8c_VMJ2I/Tf663W8J4fI/AAAAAAAAGBs/-K_Gy_6U2T4/s400/txtweb2.jpg" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;All you need to do is to choose a keyword and associate it with a URL that will understand this keyword. The URL is the address of your application that will find the routes. This keyword along with the parameters need to be sent to 924334200.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;For ex.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;@bmtcvolvo 500k&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;And I get a response as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 8pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;ROUTE:V500K &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 8pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Vijayanagar Bus Station=&amp;gt;Vijay Nagar Maruthi Mandir=&amp;gt;R P C Layout=&amp;gt;BHEL Factory=&amp;gt;Veerabhadra Nagar=&amp;gt;Dwaraka Nagar=&amp;gt;Hoskerehalli=&amp;gt;Kamakya (Depot 13)=&amp;gt;Banashankari BDA Complex=&amp;gt;Banashankari Bus Stand=&amp;gt;Jayanagar 5th Block East=&amp;gt;Ragigudda=&amp;gt;BTM Mico Layout=&amp;gt;BTM 16th Main=&amp;gt;Central Silk Board (ORR)=&amp;gt;HSR 14th Main=&amp;gt;Agara=&amp;gt;Jn of Sarjapura Road=&amp;gt;ECO Space (RMZ)=&amp;gt;New Horizion College (ORR)=&amp;gt;J.P.Morgan=&amp;gt;Marathahalli (Mulitplex ORR)=&amp;gt;Spice Garden=&amp;gt;AECS Layout=&amp;gt;Kundalahalli Colony=&amp;gt;I Gate (Perot Systems)=&amp;gt;Sathya Sai Hospital=&amp;gt;ITPL Main Gate&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 8pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; font-family: 'Times New Roman'; white-space: normal; font-size: medium; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;The way it works is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;1. You will register a keyword (@bmtcvolvo) on txtweb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;2.  You then associate the keyword to a URL. So @bmtcvolvo is associated to a URL lets say http://&lt;/span&gt;&lt;a href="http://www.testurl.com/bmtcresponse.php"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;www.testURL.com/bmtcresponse.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;When you do that the txtweb will create a mapping table that will say that if a sms contains @bmtcvolvo  the http request  is to be sent to http://&lt;/span&gt;&lt;a href="http://www.testurl.com/bmtcresponse.php"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;www.testURL.com/bmtcresponse.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;3.  When you send a SMS  @bmtcvolvo 500k, the txtweb platform receives it and then finds the mapping for the keyword @bmtcvolvo. It then forms a request&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.testurl.com/bmtcresponse.php?txtweb-message=500k"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;www.testURL.com/bmtcresponse.php?txtweb-message=500k&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;4.  Now my application knows that GET parameter txtweb-message is the bus number.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;5.  I have fetched the data from BMTC site to construct a database of the bus routes. This table is used to find the route information for 500K&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6.  The application will then send back the information in the form of http response which basically means to print a html page.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Something like&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;  &lt;meta name="\&amp;quot;txtweb-appkey\&amp;quot;" content="\&amp;quot;TXTWEBKEY\&amp;quot;"&gt;            &lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;".$routeNumber."&lt;br /&gt;".$shortRoute."";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;7.  The txtweb platform will convert this information into an SMS and send it back to the phone.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;br /&gt;&lt;span id="internal-source-marker_0.15838142321445048" style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Once I got it running, I fulfilled my goal of updating Facebook and twitter based on the exactly same approach.  All my Facebook updates also contain a “via rPhone” tag just to keep people confuse that I have some new cool phone!!!.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Hopefully my commuting time will become more enjoyable than before.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6068093957609402591?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6068093957609402591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6068093957609402591' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6068093957609402591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6068093957609402591'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/06/sms-based-internet-for-social.html' title='SMS based internet for social networking'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-d79drafLpEs/Tf64JK3AOxI/AAAAAAAAGBM/gj-cFAYHhqk/s72-c/internet.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-662612617633255118</id><published>2011-04-28T19:41:00.001-07:00</published><updated>2011-04-28T19:41:24.668-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Use charts in PHP</title><content type='html'>&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.046195832569482564"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;I  was struggling to use the charts in my PHP script so finally when I  found out an easy way I thought of sharing it very everyone.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;I am using the GD library available in php. Only thing that needs to be done is to configure the php.ini file. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Go to the php.ini file and enable &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;extension=php_gd2.dll&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Now to create the charts I was following the method as specified at &lt;/span&gt;&lt;a href="http://www.qualitycodes.com/tutorial.php?articleid=20&amp;amp;title=How-to-create-bar-graph-in-PHP-with-dynamic-scaling"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;"&gt;http://www.qualitycodes.com/tutorial.php?articleid=20&amp;amp;title=How-to-create-bar-graph-in-PHP-with-dynamic-scaling&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;But the problem was that I was not able to write any text before or after the chart.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;so &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;text&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;chart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;text &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;the above kind of output is what I wanted and all I could get was a &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Chart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;So after doing some experiment I finally found a way&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;1. Create a file called imageGeneration.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Create a funcction createImage($values,$imageName)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;where $values is an associative array while $imageName is the name of the chart file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;The function will take the values to be plotted in the form of an associtive array &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;like &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;$values=array(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jan" =&amp;gt; 110,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Feb" =&amp;gt; 130,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Mar" =&amp;gt; 215,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Apr" =&amp;gt; 81,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "May" =&amp;gt; 310,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jun" =&amp;gt; 110,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jul" =&amp;gt; 190,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Aug" =&amp;gt; 175,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Sep" =&amp;gt; 390,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Oct" =&amp;gt; 286,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Nov" =&amp;gt; 150,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Dec" =&amp;gt; 196&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;So that the x axis is the name of the months and the y-axis is the values&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;function createImage($values,$imageName)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $img_width=450;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $img_height=300;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $margins=20;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # ---- Find the size of graph by substracting the size of borders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $graph_width=$img_width - $margins * 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $graph_height=$img_height - $margins * 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $img=imagecreate($img_width,$img_height);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $bar_width=20;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $total_bars=count($values);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $gap= ($graph_width- $total_bars * $bar_width ) / ($total_bars +1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # -------  Define Colors ----------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $bar_color=imagecolorallocate($img,0,64,128);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $background_color=imagecolorallocate($img,240,240,255);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $border_color=imagecolorallocate($img,200,200,200);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $line_color=imagecolorallocate($img,220,220,220);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # ------ Create the border around the graph ------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # ------- Max value is required to adjust the scale    -------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $max_value=max($values);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $ratio= $graph_height/$max_value;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # -------- Create scale and draw horizontal lines  --------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $horizontal_lines=20;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $horizontal_gap=$graph_height/$horizontal_lines;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    for($i=1;$i&amp;lt;=$horizontal_lines;$i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $y=$img_height - $margins - $horizontal_gap * $i ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        imageline($img,$margins,$y,$img_width-$margins,$y,$line_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $v=intval($horizontal_gap * $i /$ratio);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        imagestring($img,0,5,$y-5,$v,$bar_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    # ----------- Draw the bars here ------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    for($i=0;$i&amp;lt; $total_bars; $i++){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        # ------ Extract key and value pair from the current pointer position&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        list($key,$value)=each($values);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $x1= $margins + $gap + $i * ($gap+$bar_width) ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $x2= $x1 + $bar_width;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $y1=$margins +$graph_height- intval($value * $ratio) ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        $y2=$img_height-$margins;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        imagestring($img,0,$x1+3,$y1-10,$value,$bar_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        imagestring($img,0,$x1+3,$img_height-15,$key,$bar_color);        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_color);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    $temp_chart_file_name = $imageName;//"s/chart2.png";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    imagepng($img, $temp_chart_file_name,0);    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    return $imageName;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;one important difference from the &lt;/span&gt;&lt;a href="http://www.qualitycodes.com/tutorial.php?articleid=20&amp;amp;title=How-to-create-bar-graph-in-PHP-with-dynamic-scaling"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;"&gt;http://www.qualitycodes.com/tutorial.php?articleid=20&amp;amp;title=How-to-create-bar-graph-in-PHP-with-dynamic-scaling&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;is  that I am not using the header("Content-type:image/png"); since my  intention is not to print the chart from this function. The intention is  to get the chart and save it in the file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;2. Now create another file called test.php that will use this function &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;include 'imageGeneration';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;echo “ this is a sample test application for the chart”;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; // supply the parameters to the chart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; $values=array(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jan" =&amp;gt; 510,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Feb" =&amp;gt; 130,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Mar" =&amp;gt; 215,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Apr" =&amp;gt; 81,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "May" =&amp;gt; 310,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jun" =&amp;gt; 110,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Jul" =&amp;gt; 190,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Aug" =&amp;gt; 175,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Sep" =&amp;gt; 390,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Oct" =&amp;gt; 286,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Nov" =&amp;gt; 150,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;        "Dec" =&amp;gt; 196&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;    );&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;$imageName="Chart.png";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;createImage($values,$imageName);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; ?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&amp;lt;img src=" &amp;lt;?php echo $imageName; ?&amp;gt;" alt="some_text"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;echo “ the chart is placed”;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.configure-all.com/howto_display_image.php"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;You will get the output as &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;this is a sample test application for the chart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;Image of the chart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;the chart is placed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-662612617633255118?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/662612617633255118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=662612617633255118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/662612617633255118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/662612617633255118'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/04/use-charts-in-php.html' title='Use charts in PHP'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6929971701998241385</id><published>2011-04-28T04:30:00.000-07:00</published><updated>2011-04-28T04:33:35.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>Convert from System.Drawing.Image to System.Windows.Controls.Image</title><content type='html'>I was struck with the problem of converting  a System.Drawing.Image type  Image to System.Windows.Controls.Image. It was very difficult to find relevant resources on the Internet. So I thought of sharing the method for the benefits of everyone.&lt;br /&gt;&lt;br /&gt;It works perfectly for me!!.&lt;br /&gt;&lt;br /&gt;private System.Windows.Controls.Image ConvertDrawingImageToWPFImage(System.Drawing.Image gdiImg)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            System.Windows.Controls.Image img = new System.Windows.Controls.Image();&lt;br /&gt;&lt;br /&gt;            //convert System.Drawing.Image to WPF image&lt;br /&gt;            System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(gdiImg);&lt;br /&gt;            IntPtr hBitmap = bmp.GetHbitmap();&lt;br /&gt;            System.Windows.Media.ImageSource WpfBitmap = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());&lt;br /&gt;&lt;br /&gt;            img.Source = WpfBitmap;&lt;br /&gt;            img.Width = 500;&lt;br /&gt;            img.Height = 600;&lt;br /&gt;            img.Stretch = System.Windows.Media.Stretch.Fill;&lt;br /&gt;            return img;&lt;br /&gt;                    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6929971701998241385?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6929971701998241385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6929971701998241385' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6929971701998241385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6929971701998241385'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/04/convert-from-systemdrawingimage-to.html' title='Convert from System.Drawing.Image to System.Windows.Controls.Image'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5351585918509369587</id><published>2011-04-17T06:01:00.001-07:00</published><updated>2011-04-17T06:01:41.688-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>How to connect MSSQL server 2005/ SQLExpress  from php</title><content type='html'>&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.1254667827288456"&gt;Sometimes we want to connect to MSSql server from PHP running on Apache.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;The following steps are required to perform a hassle free connection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;I am assuming that the PHP has been installed using the winlamp so that it has copied the PHP in the Apache folder.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;1.) Download ntwdblib.dll (version : 2000.80.194.0) from Webzila.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;2.) Copy this dll file to apache\bin. Make sure you have the windows path set to this directory. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;3.) Restart the apache service by going to Control Panel-&amp;gt;Administrative Tools-&amp;gt;Services.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;4.) Go to “SQL Server Configuration Manager”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;5.) Under “SQL Server Network Configuration” clickon “Protocols for SQLExpress”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;or “Protocols for MSSQLSERVER” (in case you are using the complete SQL server)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;6.) On the right hand side,right clicked on “Named Pipes” and clicked on Enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;7.) Also, right clicked on TCP/IP and clicked on enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;steps 6 and 7 are very important. If you forget any of this the connection wont happen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;8.) Restart the SQL Server Express/ SQL Server service.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;9.) Uncomment the line extension=mssql in the php.ini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;If you check phpinfo you should see values for mssql section&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Also you need to make sure that the authentication mode is mixed. The connection wont work for windows authentication.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;You can do that by &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; In Express Edition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Right  click on the SQLSERVEREXPRESS database and then properties-&amp;gt;Security  (Choose Sql server and Windows Autherntication mode)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;In SQL Server 2005 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Right click on the MSSQLSERVER database and then properties-&amp;gt;Security (Choose Sql server and Windows Autherntication mode)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Create  a user by clicking on security-&amp;gt; Logins and create new login. Make  sure you give strong password. In the UseerMapping tab give control to  all the database and all databse rights&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Now try connection the database seeting should be&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;$db1 = mssql_connect("hostname\SQLEXPRESS", username, password) in case of the SQL server express edition&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;while&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;$db1 = mssql_connect("hostname", username, password)  in case of the MSSQL Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;This will make the connection to the database.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5351585918509369587?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5351585918509369587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5351585918509369587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5351585918509369587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5351585918509369587'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/04/how-to-connect-mssql-server-2005.html' title='How to connect MSSQL server 2005/ SQLExpress  from php'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1822307296059689037</id><published>2011-04-15T00:42:00.000-07:00</published><updated>2011-04-15T00:43:43.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Healthcare social platform (Heath 2.0)</title><content type='html'>&lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style="font-weight: bold;"&gt;Healthcare social platform (Heath 2.0)&lt;/span&gt; leverages the social software to promote collaboration among patients caregivers medical professionals and other health stakeholders&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Healthcare social networks provide an active platform for sharing the ideas, discussing symptoms and debating the treatment options…all of them can improve the patient care.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are several issues which raises questions over the entire Health2.0 concept: &lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What is the guarantee that the information shared is      correct..basically the factor of trust?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Why will anybody share his/her experiences?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What about the loss of privacy?&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There has been some research on the kind of information people would like to find out on the internet pertaining to healthcare. Some of the key reasons for the online activity are&lt;br /&gt; &lt;br /&gt; &lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;To conduct research on a disease..done mostly by      medical practitioners&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;To find out possible diagnosis for the condition …done      mostly by patients&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; Find out the insurance plans..done mostly by      patients &lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Research the reputation/quality of a doctor or the      hospital..done mostly by the patients&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Look for a doctor to get the treatment for a particular      disease.. done by patients. Now a days it is one the use case for creating      the local search applications&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Access or manage the personal health records…There are      websites that allow the patients to maintain their medical records&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Connect to other patient to understand the problems of      a particular treatment..done by the patients..patient social networks&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Healthcare social networks can be either physicians or patient oriented&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Physician social networks provide an online technical infrastructure for the doctors to share the clinical cases, images, videos, medical knowledge&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Patient social networks emphasize direct patient support, promote disease awareness, find out what it feels when you are suffering from a particular disease.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Physician Social Networks&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Sermo(&lt;a href="http://www.sermo.com/"&gt;&lt;span style="color: blue;"&gt;www.sermo.com&lt;/span&gt;&lt;/a&gt;) is one of the biggest online social network of the physicians&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;These platforms (Physician Social Netwoks) bring thousands of the physicians together to exchange the latest in the medical advances.  Some of the advantages are:&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Physicians exchange views about the drugs, devices and      the treatment options.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;They can each other specific clinical questions (just      like the software forums) that are not so obvious from the medical      literature&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The doctors in the rural places with limited access to      the libraries and specialists can join the communities to get help in      diagnosing and prescribing the correct medicines&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Physicians can discuss ongoing research and help speed      up the process of bringing the advances to the patient care.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The physician networks also provide useful VOC (voice      of customer) to the pharmaceutical companies. By monitoring the      conversations on the network they can understand if there is a need of a      particular type of drug , or what are the kind of diseases in a specific      region (potential markets), or why one particular drug is getting      prescribed by various doctors etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Similarly the device manufacturing companies can get      the feedback for their devices, or if there is a need for a new kind of      device for diagnosis&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; There are also some obvious concerns in such networks:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: -0.25in; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;·         &lt;i&gt;How do you gauge the accuracy of an advice or expertise on a particular topic?&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are few measures taken in this respect. Some networks require the physician to verify their credentials such as the state license, their degrees, before becoming the member or the membership is only by invitations(so trust is there). Also the advice given may be ranked by the other members (like in stack overflow &lt;a href="http://stackoverflow.com/"&gt;&lt;span style="color: blue;"&gt;http://stackoverflow.com/&lt;/span&gt;&lt;/a&gt; forum)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Patient Network&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The patient networks support the patients worldwide by promoting the disease awareness and positive and proactive behaviors to stay healthy while coping with a disease. Some of the key befits are:&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;They can ask each other about the after effects of a      particular medication. They can ask the other patient who is suffering      from the same disease about the medications and what is to be expected in      terms of the effect of the disease&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The network helps to lower the anxiety level of the      patients and the caregivers particularly for newly diagnoses patients who      are unsure about the future. Such patients require variety of information      quickly and without interruption.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Patients also feel that they are not alone in the world      but there are so many in the same situation which act as a soother for      them. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Between the doctors’s appointments the patients can      contact the other patients to gain enough knowledged about the treatment,      symptons and to frame the right questions to ask the physicians&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;They can also get reference of a physician or hospital      to get the treatment for a particular disease.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Also before going to a doctor the patients can find out      the reputation of a doctor and the hospital&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Even the healthy people can find out the information      regarding how to keep them protected from a particular disease. During the      outbreak of the Swine flu these social networks helped a lot to spread the      information about the disease i.e. how to protect yourself , what      precautions one must take.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In few networks even physicians are members and they      volunteer to give answers to patients queries&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The patient networks also act as a VOC for the drug      companies because they can find out the side effects of their drugs or if      a particular drug is causing miracles&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are some concerns too. &lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The biggest being the trust. To what extent the people      can trust the content of the patient networks. Most medical advice or the      comments come from other patients. The sites do not perform any validation      of the content. Patients have no choice but to believe in Collective      Intelligence (collective understanding of many will be better than a      single person). I think with the maturity of the collaboration model of      the web (travel forums, software forums) the collective intelligence is      more or less established.  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; Privacy is another concern. Since patients are      revealing their medical conditions it can be an issue with the insurance      companies. They may increase the premium depending on the patients      conditions&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;But still the benefits of the network can outweigh the concerns&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What distinguishes the physician and the patient networks from the other online communities is the motivation for the interaction: The professional interest for the doctors and coping with disease or diability for the patients.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;How as a software developer we can contribute to Health 2.0?&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The crux of the Health 2.0 is a social application that is intended to be used for the discussion on Health related issues. These days many social networking provide APIs to create the social applications. Facebook is a powerful platform which supports the social networking a big time. It is currently the most popular and the largest social networking site. There is a huge potential for a health2.0 kind of Facebook application. The application will allow Facebook users to form a specialized group for enabling the Patient Social networks or the physician social networks. Each member can view others Facebook profile to know more about him. This way the trust might be build which is a major issue in the existing Healthcare Networks.  Since the users can just add the app to their facebook profiles (without going to any third party sites) the chances for active participation is also more. There are many ideas that can be drafted around the concept of social app…its just the matter of brainstorming &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1822307296059689037?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1822307296059689037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1822307296059689037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1822307296059689037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1822307296059689037'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/04/healthcare-social-platform-heath-20.html' title='Healthcare social platform (Heath 2.0)'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5605820798660788559</id><published>2011-04-11T08:06:00.000-07:00</published><updated>2011-04-11T18:24:22.783-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Mobile Usage Patterns</title><content type='html'>&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.15760315483670362"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;With  markets flooded with different kinds of mobile phones buyers often get  confused as to what is the best option for them.  Even though the  buyer’s budget plays a crucial role in selecting a mobile but the  confusion arises when there are several options available in the same  price range. I think one way to identify the right mobile for the buyer  is to figure out the intended use for him. It will make little sense to  buy an Android phone to a hawker or a maid who is only going to use the  mobile for making the phone calls. I have tried to come up with the  category of users based on the usage pattern and the kind of services  that they generally use on mobile. Try to identify your category in  order to target the correct type of mobile.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;1.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;College going students&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;.  These are the users who are active on Facebook, twitter, and use mobile  camera to share the photos across friends.  This user category requires  a phone that keeps them connected when they are away from the  PC/laptops.  The phone must have the apps for the Facebook, twitter,  chat messenger, and a good camera. The mobile companies have provided  the users option to go for the touch screen or QWERTY keypad.  This  category of the users is highly concerned with the looks of the phone  and how easy they can download the latest apps.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Some of the features that are mostly looked for :&lt;/span&gt;&lt;ul&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Camera Resolution : Higher the resolution the happier the customer&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;HD  video recording: Most cameras are available with the 720px video  recording. The phones are coming with 16-32 GB expandable memory that  helps in storing the HD videos.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;3G capability: Almost a must to have.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;GPS:  Lot of mobile apps are based on GPS for .eg. based on the phone  location the users look for the facebook friends in the vicinity. The  GPS is now available in most of the smart phones&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Mobile  Apps: Phones are available from 5000-35000. The low end phones come  with the mobile apps like facebook, twitter, weather that have been  created exclusively for that phone (just like the age old calculater,  todo applications). These phones do not allow the users to add new  applications on their own. While other phones specially based on  Android, Symbian allows the users to add the mobile apps on the fly.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Music sound:  Sound quality is important since these users will be always listening to music.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;2.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Gamers&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;:  College students, Young professionals who are addicted to the mobile  gaming. They want to play high end graphics multiplayer games on their  mobile phones. Not all mobile phones can support high end graphics  because of the limitation of the hardware. The mobile companies are now  launching phones that have in addition to the regular processor a  snapdragon A5 graphics processor. So basically the phones are now  bundled with a high speed GPU which will enable running the high end  games. Also these phones have lot of memory (atleast  512MB RAM)  required to running the games. These phones are almost as powerful as  the laptop only difference being the small form factor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;There  are phones in pipeline that will have a 3D screen to create the WOW  effect while playing the games (of course you will not be required to  wear the 3D glasses to get the effect).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;The  phones are generally equipped with the sensors like Gyroscope,  Accelerometer to capture the movements of the user when he/she is  playing the game and act as an input for changing topology of the game/  view screen of the game etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;3.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Business users&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;.   This kind of users is mostly business executives, sales/marketing  leaders who are always travelling. They require a phone that can connect  them to their office mails using the &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: italic; text-decoration: none; vertical-align: baseline;"&gt;Push mailing&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;.  They also require an office suite on the phone that can help them to  open the power point presentations, excel sheets, word documents.  They  prefer to have a QWERTY keypad over touch for faster typing. Some of the  other features include&lt;/span&gt;&lt;ul&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;WiFi  connection: This is a must for business users since they will want to  use the WiFi hot spots at the airports, café’s, restaurants etc.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; Battery Life:  Since the users are mostly travelling they will want to have a battery that can last long.&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Projector:  The innovative idea of having a projector in the phone has quite  interesting applications for the users. If they have the data on the  mobile they can just project it bypassing the requirement to transfer  the data into the laptop first. Also sometimes in the field it is not  possible to arrange for the LCD projectors. The inbuilt phone projector  is quite handy. Check the Spice mobile ads for some of the interesting  applications&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;4.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Techies&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;.  These users want to experience all the latest and greatest features  that are available in the market. Their requirements in the phone  changes as and when some new features or technologies are introduced in  the mobiles. These are the guys who are ready to switch their phones as  an when a new phone is introduced. Some of the key CTQs are:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Touch  screen, WiFi, Ability to download Apps, Motion Sensors, Latest  Operating System (Android/Symbian), 3G capability, Camera Resolution.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Some  of the users also want to write their own applications for the mobile  in which case they are also concerned with how easy it is to program and  add the in-house software/Apps on the mobile.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;In  some way these users are the Beta tester for the companies since they  are the ones who are going to use the new features and share their  opinion about them.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;5.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Common Man&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;.  This is the largest chunk of the users. The spectrum is quite diverse;  hawkers, maids, drivers, clerks, house wives, middle age adults etc. The  main use case these users execute is phone books, write SMS, listen to  FM. The good quality camera is not the primary CTQ but it is good to  have. They are highly price sensitive and look for the cheapest set  available in the market. The user base is spread in the villages,  cities, towns in short almost everywhere. After sale service is a huge  differentiators since they are not ready to change the phone often.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;6.       &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;Old age people.&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;   This group of users mainly uses the phone to talk and may be listen to  music. The main requirements is that the dial pad should have large  numbers, and the battery life should be more since the users may forgot  to charge the phones for days. The companies are coming up with the  phones specially designed for them.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5605820798660788559?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5605820798660788559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5605820798660788559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5605820798660788559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5605820798660788559'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/04/mobile-usage-patterns_11.html' title='Mobile Usage Patterns'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-4440320850833593727</id><published>2011-01-23T08:14:00.000-08:00</published><updated>2011-04-11T08:03:33.348-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Mobile conference Experience</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;p class="MsoNormal"&gt;I got an opportunity to attend the Mobile Developers Conference held in Bangalore on 22&lt;sup&gt;nd&lt;/sup&gt; Janurary organized by silicon India (&lt;a href="http://www.siliconindia.com/events/siliconindia_events/index.php?eid=MDC_Ban2011"&gt;http://www.siliconindia.com/events/siliconindia_events/index.php?eid=MDC_Ban2011&lt;/a&gt;).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Despite a Karnataka Bandh called by the political parties it was almost a houseful!!!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lot of well- known technologists in the Mobile domain was invited as the speakers in the conference.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I have always found such conferences as a great source of understanding the market trends and to do a reality check on where I stand as an individual. I don’t feel that a person can learn a new technology by attending these conferences but he can get awareness of what is happening in the industry and what are the current buzz words which he should be aware of. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Some of the key points that came up were:&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The Platform war is on. Every platform (Symbina, Android, Iphone OS , Blackberry) is today trying to capture the market&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There are 5 main drivers that will guide the future of Mobile:&lt;span style=""&gt;      &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Connectivity:&lt;/b&gt; Broadband. 3G, GPRS, Wifi&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;OS&lt;/b&gt;: Symbian, Android, Iphone OS&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Smartphones&lt;/b&gt; ( todays smartphones are equipped with the fast processors, high end cameras, GPS , sensors)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Mobile Apps&lt;/b&gt;: The key differentiator for the success of the mobile platform&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;e.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Developer Community&lt;/b&gt; who is producing the Apps&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;3.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The Mobile Apps are as important for Mobiles as the websites are for the internet. Just like without the websites the internet is of very less use for the people similarly without the mobile apps there is very less that can be achieved from the high speed mobile networks.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;4.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Mobile apps are also very important from the fact that in smaller cities in India where internet is still restricted to cyber café, the people can be connected by using the mobile versions of the social networking sites, news sites, emails , cricket scores etc. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;5.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;The ease of development&lt;/b&gt; on a particular Mobile platform is the key determinant for the growth of the mobile apps on that platform&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;6.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There has &lt;b style=""&gt;been a change in the CTQs of the consumer&lt;/b&gt;. Few years back the main criteria was music, camera , colors. Today the customer asks about Mobile OS (Platforms), Services (3G, wifi) Mobile Applications. The phone retailers have also changed their marketing strategies and advocating that buy android since you will be able to download 300000 mobile apps and don’t buy Nokia because the number of apps is less. Nobody talks about music player or camera resolutions&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;7.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Nokia, the key OEM player is now focusing a lot on the mobile apps and is taking steps to make it very easy for the developers to submit the apps (ovistore). Nokia is trying hard to keep up the pace with the Android popularity.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;8.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The Developer community is getting respected from the OEMs a lot since the popularity of the platform is largely dependent on the mobile apps that the developers are producing and if the developers are developing the appications for the platforms they are supporting then they are at the advantage&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;9.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The UI/UX plays a very important role in the popularity of an application&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;10.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;The shelf life or the time frame for which the user is going to use the application is important yardstick for the app&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;11.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;People are globally downloading the apps. Today a developer can look for huge monetary benefit &lt;span style=""&gt; &lt;/span&gt;if the people are downloading his app. There are millions of users for a particular platform. Even if the cost of the app is just 1$ then millions are at stake&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;12.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Some of &lt;b style=""&gt;the key factors that will help in success of mobile app&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;UI/UX is the primary. If the application is not appealing the people are not going to download it&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Distribution channel. Basically the app stores. How easy it is to search an application and download on the mobile is very important since the demographic of users is very wide.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Consumer Awareness. Is the user aware of the existence of the app stores? &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;13.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Operator Integrated Billing: &lt;/b&gt;The user generally has to shell out 30-100 RS to buy a mobile app, which makes it very affordable. But the payment mode is little challenging. Credit card which is the most popular payment mechanism on internet is not that attractive when it comes to the mobile. The simple reason is the user demographics is different. The internet users are who are buying the stuff online are mostly from a middle to upper income group while the mobile application buyers &lt;span style=""&gt; &lt;/span&gt;can be &lt;span style=""&gt; &lt;/span&gt;from any income group and from various age groups. Also not everyone has got the credit card to buy (specially the college students which are among the main target for the mobile apps will not have a credit card). Even the credit card holders are sometimes reluctant to provide the credit card details online. The more preferred way is to buy it through the service provider. So I can tell Airtel to charge the amount in the bill depending on the application I have downloaded.&lt;span style=""&gt;  &lt;/span&gt;Nokia is trying to tie up with various operators to allow users to pay through the operators on the Ovistore. Similar model is very popular when it comes to download a caller tune.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;14.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The number of applications that are already created are so many that its difficult for an individual developer to get noticed on the app stores. You give a problem statement and there is a app for it”. Its important that the application should have something new in it and should not be just copy paste&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;15.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;b style=""&gt;Some of the trends that have been seen &lt;/b&gt;in the popularity of the apps&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Social Networking apps like facebook, twitter are popular since they provide one more level of connectivity. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Content Based Apps: The search apps like burp, trip advisors, just dial&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Utility Apps: Banking applications (SBI is encouraging the account holders to use the Nokia mobile apps for the banking services)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Games&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;16.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Just like web 2.0 changed the face of the internet. For the website to sustain it became important that it gives user to participate in adding/modifying the content of the website similarly in the mobile world there has been a shift in the ownership of the mobile apps. Previously it was the OEMs responsibility to provide some apps and the user was only the consumer of it (Nokia’s Snake game). But &lt;b style=""&gt;now user/developer wants to develop their own apps&lt;/b&gt; or download some others app and use them on the phone. &lt;b style=""&gt;The phones have become platform&lt;/b&gt; (just Like Web had become a platform)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;17.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;A new set of companies have come up who are just developing the Mobile Apps for various platforms. (Similar to web development companies who are involved in creating the web sites). Today every popular business wants its Apps and guess what its again the Indian companies who are taking such assignments. There are lot of start-ups who are developing apps for some of the leading brands like Levis, IBN, Star News etc. Just like businesses advertise for more details log on to &lt;a href="http://www.xyz.com/"&gt;www.xyz.com&lt;/a&gt; they are now saying download the app that will help you to browse the latest and greatest stuff on mobile.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;18.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There are &lt;b style=""&gt;4 major drivers which are guiding the mobile App economy (To monetize the apps&lt;/b&gt;)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The Developer who is developing the App on its own or for a company&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Content Provider (News channels, Sports Channels are trying to provide their content on the mobile)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Content Delivery Mechanism (3G, GPRS, Wifi. With the 3G connections ist possible to stream the videos on mobile. Expect IPL season 4 on the Mobile soon!!!)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Market place: The app stores where you can sell your applications. The App stores owners (Nokia’s ovistore, Apple Store) they are trying to come up with the Amazon like experience where the user can get recommendation for a app and based on the purchase history the apps are shown etc. It’s all about the experience.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;e.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Stay updated on the technology. &lt;span style=""&gt; &lt;/span&gt;You cant expect to sell a J2ME app now. People want the apps that are based on QT, Objective-C or Android&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;19.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Cross platform compatibility&lt;/b&gt; is very important when it comes to apps. The same app should be available to run on iPhone , Android phone, and Symbian phone. The user can switch the platform but still want to use the same app.&lt;span style=""&gt;  &lt;/span&gt;I want to use the same twitter app on my Iphone as well as on my Nokia C7. Its similar to the websites that should be compatible for all major browsers.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;20.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;Customization in Apps will &lt;/b&gt;make that App stand out. If it is a cricket app I should be able to choose the stadiums, day match or day-night match etc.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;21.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Some of the factors that have helped in the popularity of the mobile apps:&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Proliferation of smartphones: Now they are everywhere. There are some 50 odd OEM who are making smart phones. They are available for a wide price range (6000-36000 Rs)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Enhanced Lifestyle Quotient: People want to be connected. The facebook mobile app is helping them to be connected even when they are not at home/workplace&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;User Experience&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;High Utility Quotient: People find the mobile applications providing solutions to some of their daily needs like emails, local search, travels, news.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in;"&gt;Just like integration of Digital Camera, FM radio became an integral part of the mobile hardware similarly the mobile apps will become an integral part of mobile usage.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;22.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Since there are millions of&lt;span style=""&gt;  &lt;/span&gt;applications already developed from wide variety of domains for a new developer it’s very important to take care of few key things before getting started on a new app:&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Is it solving genuine real life problem.&lt;span style=""&gt;  &lt;/span&gt;For e.g. Banking app which help you to monitor yoru account, Stock trading apps are some of the applications that have simplified the real life workflows and are therefore very popular&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Check for the existence of similar application. Do not waste time in reinventing the wheel&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;In case of the existing application try to collaborate with the developer and help in creating a higher utility quotient for it. Try to add more customization options etc&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;App should be easy to download and install. There should be 0 user manuals&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;e.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;You should be able to rapidly prototype the app and launch&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;f.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Healthcare, telemedicine are some of the areas with huge potential for innovative ideas.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;g.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Education sector is very promising given the fact that today almost every college student has an access to mobile.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;h.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Real estate businesses can be another good choice to explore&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;b style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;23.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;Why is that people are running after Android?&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;a.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There are many players in the market who are launching the phones on Android so as a consumer I get a variety of choice for phone and as a developer I have more potential customers to download my application&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;b.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Developer Friendly: &lt;span style=""&gt; &lt;/span&gt;The Android Applications are Java based. If I know java learning the Android application development is quite simple (smooth &lt;span style=""&gt; &lt;/span&gt;learning curve). There is a huge java developer base who can start writing the applications. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;c.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There are many android markets unlike Ovistore and Apple app store. There are many local android markets which makes improves the chances for my application to be noticed . Also with the local markets(Indian Android market) I can get the apps that are more suitable for the local needs.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;d.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Most important that Android platform is not only restricted to the phones. Google TV is based on Android, Huawei is making set top box that are based on Android, GM is using android in Cars. So the scope of writing the applications is very wide. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;e.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;With Google supporting the platform there is a trust that the platform is there to stay.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-4440320850833593727?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/4440320850833593727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=4440320850833593727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4440320850833593727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4440320850833593727'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2011/01/mobile-conference-experience.html' title='Mobile conference Experience'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-230373660898472029</id><published>2010-09-06T03:35:00.000-07:00</published><updated>2010-09-06T03:49:17.226-07:00</updated><title type='text'>Allen Holub: A critic of every commonly accepted technology</title><content type='html'>Allen Holub has the balls to abuse and contradict every well known theory, technology and concept. It is good in a sense that you get some new perspective in contrast to the commonly published theory. Holub in his articles and writings has challenged some of the technologies like &lt;a href="http://www.sdtimes.com/content/article.aspx?ArticleID=29157&amp;page=2"&gt;AJAX &lt;/a&gt;, &lt;a href="http://www.sdtimes.com/content/article.aspx?ArticleID=29508&amp;page=1"&gt;XML &lt;/a&gt; which are like the defacto industry standards. Not only this he criticizes the classic compiler book by Aho, ullman sethi (&lt;a href="http://www.sdtimes.com/content/article.aspx?ArticleID=29508&amp;page=2"&gt;http://www.sdtimes.com/content/article.aspx?ArticleID=29508&amp;page=2&lt;/a&gt;) and call it a mistake to be taught in academics. In his book on Design pattern he has critisized Microsoft MFC technology openly to such an extent that now I myself have started thinking otherwise. I am actually enjoying his writings since some of his criticisms are very true and in line with my personal opinion (Only thing is I didn't have the courage to come out openly). &lt;br /&gt;In case you want to have an encounter with Holub opinions do visit &lt;a href="http://www.holub.com/publications/articles/index.html"&gt;http://www.holub.com/publications/articles/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-230373660898472029?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/230373660898472029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=230373660898472029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/230373660898472029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/230373660898472029'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2010/09/allen-holub-critics-of-every-commonly.html' title='Allen Holub: A critic of every commonly accepted technology'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-3957096925668467026</id><published>2010-05-01T23:00:00.001-07:00</published><updated>2010-05-01T23:00:08.899-07:00</updated><title type='text'>Migrate wordpress site and database to different servers</title><content type='html'>The following steps will help you to migrate the current wordpress site to different server (domain). I am assuming that you want to migrate the database also from the &lt;br&gt;old database server to a new database server&lt;br&gt;1. make a backup of the current wordpress site in your local directory&lt;br&gt;2. export the database and save the exported file in your local directory&lt;br&gt;3. copy the wordpress installer to the new server&lt;br&gt;4. create a database in the new database server&lt;br&gt;5. open the wp-config file of the new wordpress installer and provide the correct database information&lt;br&gt;6. Now install the wordpress by going to the wp-admin/install&lt;br&gt;&lt;br&gt;This will install a fresh copy of&amp;nbsp; wordpress and database&lt;br&gt;7. Now go to the database and delete all the tables that have been created&lt;br&gt;8. Import the old database file (created in step2). &lt;br&gt;9. go to the table wp_options and change the entry of siteurl and home to your new wordpress server (from htttp://oldwordpressserver/ to htttp://newwordpressserver)&lt;br&gt;this step is done so that when you migrate the old wordpress to the new server the links start pointing to the new wordpress server&lt;br&gt;10. Now you need to copy the old wordpress files that you had saved in step 1 to the new wordpress server. Just replace all the files with the new ones&lt;br&gt;11. If you now open the home page of the wordpress site from the new server you should see the old content. In case the links are broken or the pages are not opening then you &lt;br&gt;should open the admin page http://newserver/wp-admin and click edit on any post. click on the changepermalinks. select the default option and save. This will reset all the links for &lt;br&gt;the pages according to the newserver. You can later change the permalinks again to some other option.&lt;br&gt;&lt;br&gt;Following the above steps should help in migrating the site.&lt;br&gt;Note: you can directly copy the old wordpress files and old database without installing a fresh copy of wordpress. I tried it but was getting some errors. So I would suggest follow the above steps.&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-3957096925668467026?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/3957096925668467026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=3957096925668467026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3957096925668467026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3957096925668467026'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2010/05/migrate-wordpress-site-and-database-to.html' title='Migrate wordpress site and database to different servers'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-4240302508629336613</id><published>2009-05-31T08:17:00.001-07:00</published><updated>2011-04-15T00:45:41.425-07:00</updated><title type='text'>"Big Bang Theory" and the technology</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;"Big Bang Theory" and the technology&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;The popular sitcom "Big Bang Theory" has become a means to promote the new technologies by making their characters talk about them. Some of the stuff that has been talked openly on the show is :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Google Earth&lt;/li&gt;&lt;li&gt;Google Street View&lt;/li&gt;&lt;li&gt;Gmail&lt;/li&gt;&lt;li&gt;Java applets&lt;/li&gt;&lt;li&gt;Twitter&lt;/li&gt;&lt;li&gt;Facebook&lt;/li&gt;&lt;li&gt;Second Life&lt;/li&gt;&lt;li&gt;MySpace&lt;/li&gt;&lt;li&gt;Tivo&lt;/li&gt;&lt;li&gt;iPod&lt;/li&gt;&lt;li&gt;blog&lt;/li&gt;&lt;li&gt;yelp&lt;/li&gt;&lt;li&gt;iPhone&lt;/li&gt;&lt;li&gt;twitter&lt;/li&gt;&lt;li&gt;Mobile apps&lt;/li&gt;&lt;li&gt;Android&lt;/li&gt;&lt;li&gt;Kinect&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;There has been an instance of the latest movie flick "Slumdog Millionaire" being discussed.&lt;br /&gt;Feel free to add to the list if you find any thing that I am missing out&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-4240302508629336613?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/4240302508629336613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=4240302508629336613' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4240302508629336613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4240302508629336613'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2009/05/bang-theory-and-technology.html' title='&amp;quot;Big Bang Theory&amp;quot; and the technology'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-4053769398110842423</id><published>2009-01-09T20:28:00.001-08:00</published><updated>2009-01-10T01:23:43.807-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>My experience of Sillicon valley culture in Bangalore</title><content type='html'>Since my childhood days I am hearing about the stories of how two guys in sillicon valley met over the lunch and they started a company. In the evening guys meet in the restaurant to discuss projects and sign million dollar deals and so on. I always wanted to be a part of the story (may be just a guy sitting on the next table!!!).&lt;br&gt;So here I am standing in the billing line of a grocery store in Bangalore (my wife kicked me out of the bed to get some vegetables). I am still cursing my wife for spoiling my weekend morning and then I hear some conversation between two guys which goes like this&lt;br&gt;Guy1: Good morning Vivek how are u? Seeing u after a long time.&lt;br&gt;Guy2: hey man...Ya I was travelling. Just returned from US&lt;br&gt;Guy1: Man do you know some symbian sofware developers for mobile phones...I have 2 openings in my company&lt;br&gt;---(Suddenly my ears turned to that guy)&lt;br&gt;Guy2: I might be knowing 1 person but not sure whether he is looking for a change&lt;br&gt;Guy1: Find out some good developers I can be very generous about the compensation....&lt;br&gt;&lt;br&gt;And that conversation finally ended with the exchange of their new phone numbers and home addresses. Both of them were some HR managers in two very reputated companies (cant disclose the name...)&lt;br&gt;But&amp;nbsp; I got a&amp;nbsp; flavor of what it is to be in a Hi Tech city like Bangalore...there are opportunities waiting for u even in the grocery shop so always keep your eyes and ears open.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-4053769398110842423?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/4053769398110842423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=4053769398110842423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4053769398110842423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4053769398110842423'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2009/01/sillicon-valley.html' title='My experience of Sillicon valley culture in Bangalore'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5776543902250073587</id><published>2008-12-16T20:58:00.001-08:00</published><updated>2009-01-10T01:24:25.743-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>Few points on Blogging</title><content type='html'>&lt;b&gt;Today's scenario:&lt;br&gt;&lt;br&gt;&lt;/b&gt;Bloggers are affecting the election&lt;br&gt;newspapers,radio,tv are loosing their advertising revenues&lt;br&gt;2005 is known as the year when print journalism began to die&lt;br&gt;Blogging is new media journalism&lt;br&gt;podcasting is new media radio&lt;br&gt;video blogging is new media tv&lt;br&gt;all this is new media marketing&lt;br&gt;&lt;br&gt;3 biggest problems of today&lt;br&gt;1. How to put the websites&lt;br&gt;2. how do i get the traffic(viewers)&lt;br&gt;3. building a list who trust you and love you.&lt;br&gt;It all depends on building the relationships&lt;br&gt;&lt;br&gt;Why do you want audio and video blog&lt;br&gt;word press: it is a blogging platform&lt;br&gt;WordPress is a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability. What a mouthful. &lt;br&gt;WordPress is both free and priceless at the same time.&lt;br&gt;&lt;br&gt;Old media is very expensive compared to the internet media&lt;br&gt;&lt;br&gt;Blog?&lt;br&gt;Web pages that instantly communicate, educate,sell,announce and have dialogue to the world in text, audio or video.&lt;br&gt;&lt;br&gt;You become findable. other people can put your references and you become more popular.&lt;br&gt;The s/w is free&lt;br&gt;People can&amp;nbsp; instantly receive your updates by RSS&lt;br&gt;RSS can get you the content from where ever you want&lt;br&gt;You can put the audio content on i pod&lt;br&gt;&lt;br&gt;Apple TV and Tivo can play your podcast and Videos in your subscriber's living room (http://www.apple.com/appletv/)&lt;br&gt;&lt;br&gt;There are number of rss reader&lt;br&gt;1.Google&lt;br&gt;2.yahoo&lt;br&gt;3.feed reader&lt;br&gt;&lt;br&gt;itunes has 1 click rss subscription for the podcast and video cast&lt;br&gt;&lt;br&gt;the old media is a interrupting advertising. They are showing the ads which no body wants to see.&lt;br&gt;They are broadcasting spam. during cricket match who wants to know about fair and lovely ad&lt;br&gt;&lt;br&gt;TV advertisers are now turning to online ads&lt;br&gt;&lt;br&gt;What is new media marketing?&lt;br&gt;it is a conversational marketing rather than the interrupting marketing&lt;br&gt;like ad sense, rss based news&lt;br&gt;New marketing works on the viral behavior i.e. the word of mouth&lt;br&gt;&lt;br&gt;podcast:audio blog There are software available for preparing an audio blog. sony has one&lt;br&gt;&lt;br&gt;you should be able to make three types of content:mp3,flv,mp4&lt;br&gt;through the &lt;a title="www.blogmediauploader.com" href="http://www.blogmediauploader.com" id="k0t1"&gt;www.blogmediauploader.com&lt;/a&gt; you can upload your audio/video on to your blog&lt;br&gt;your setting should be 22.5-56k mp3&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5776543902250073587?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5776543902250073587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5776543902250073587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5776543902250073587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5776543902250073587'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/12/blogging-points.html' title='Few points on Blogging'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-8634805552999034618</id><published>2008-10-14T05:38:00.000-07:00</published><updated>2008-10-14T05:44:57.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><title type='text'>YahooMap Api for Flex 3 is Buggy</title><content type='html'>I have been using Yahoomap API for quite sometime. There are some annoying bugs which gave me a tough time. &lt;br&gt;Some of the bugs related to the marker manager are:&lt;br&gt;&lt;br&gt;1. &lt;span style="font-family: Courier New;"&gt;_yahooMap.markerManager.markers.splice(1,1); &lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;does nothing. Even though the markers is an array and&amp;nbsp; should allow the Splice operation to go through but nothing happens&lt;br&gt;&lt;br&gt;2. _&lt;span style="font-family: Courier New;"&gt;yahooMap.markerManager.removeAllMarkers()&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gives an annoying error.""Error# 1009: Cannot access a property or method of a null object reference"&lt;br&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;3.&lt;span style="font-family: Courier New;"&gt; _yahooMap.markerManager.removeMarker(obj as Marker) &lt;/span&gt;is also buggy.&lt;br&gt;&amp;nbsp;The intended behavior its that it should just remove the particular marker that is passed in the call, instead it removes all the markers that are present after the specified marker. So assuming if the markers array is [1,2,3,4] where the numbers are the marker ids. The call _yahooMap.markerManager.removeMarker(2) will give [1] instead of [1,3,4]&lt;br&gt;&lt;br&gt;&lt;br&gt;4. _yahooMap.markerManager.pop(): doesnot remove the element from the markers array it just gives the reference to it. So even after the pop() operation the marker manager will contain the recent most marker.&lt;br&gt;&lt;br&gt;&lt;b&gt;Solution for removing the markers from the marker manager&lt;/b&gt;&lt;br&gt;I have used the a work around for removing the items from the marker manager. I exploited the current behavior(buggy one see point 3) of&lt;span style="font-family: Courier New;"&gt; _yahooMap.markerManager.removeMarker(obj as Marker). &lt;br&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br&gt;The function is removing all the elements that are present after the marker passed in the call. So I am passing the recent most marker so that it removes latest marker and the markers after that (which will be null). Let me give one example&lt;br&gt;say the marker manager contains markers #: 1,2,3,4&lt;br&gt;we will use the following code to remove the markers. so after every pass we get&lt;br&gt;pass 1: 1,2,3 (4 is removed and there was nothing after that so only 4)&lt;br&gt;pass 2: 1,2&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="font-family: Verdana;"&gt;pass 3: 1&lt;br&gt;pass 4: null&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private function removeYahooMarkers():void&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var len:int=_yahooMap.markerManager.markers.length;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(var i:int=0;i&amp;lt;len;i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var obj:Object= _yahooMap.markerManager.markers.pop();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(obj!=null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _yahooMap.markerManager.removeMarker(obj as Marker)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(obj==null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Even the overlayManager is buggy. &lt;/b&gt;&lt;br&gt;There is some refresh problem. In case of removing any overlay, the overlay manager does not refreshes the overlays array.&lt;br&gt;So if you do &lt;br&gt;&lt;span style="font-family: Courier New;"&gt;_yahooMap.overlayManager.removeAllOverlays(); &lt;/span&gt;it would have removed the overlays internally but the overlays array still contains the references (something like dangling pointers in C/C++)&lt;br&gt;one workaround is to just call the removeAllOverlays(0 again so&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="font-family: Courier New;"&gt;_yahooMap.overlayManager.removeAllOverlays();&lt;/span&gt;&lt;br style="font-family: Courier New;"&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; _yahooMap.overlayManager.removeAllOverlays();&lt;/span&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-8634805552999034618?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/8634805552999034618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=8634805552999034618' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/8634805552999034618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/8634805552999034618'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/10/yahoomap-api-for-flex-3-is-buggy-i-have.html' title='YahooMap Api for Flex 3 is Buggy'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6514955672547707166</id><published>2008-09-15T02:31:00.000-07:00</published><updated>2008-09-15T04:19:42.290-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;div&gt;&lt;font size="5"&gt;Notes on Web 2.0: Part1&lt;br&gt;&lt;/font&gt;Web 2.0 is one of the most popular buzzword around. Lot of people have written about it, lot of books are available in the market. I have tried to compile the variety of information available and give a multi-dimensional overview of the Web2.0.&lt;br&gt;This is a very easy to understand discussion and should be helpful to everybody who is interested in knowing more about Web 2.0. I will be providing lot of examples to support the information. The article might look like collection of disconnected information, I have deliberately done this because my aim is to act like a collector for information on the web 2.0 from various sources and dump it….A kind of aggregator&lt;br&gt;&lt;/div&gt;The article will help readers to get a starting point and  a breadth of information about Web 2.0. Since there are too many things to cover I thought it to be a nice idea to divide the article into parts. Part 1 is a general overview of the Web 2.0 philosophy. In Part 2 I will be discussing about the business impact of Web. Like every Web 2.0 discussion starts with Tim Oreilly’s Web2.0 Diagram, I will also follow the tradition.&lt;div id="bd35" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 452px; height: 341px;" src="http://docs.google.com/File?id=dcw4k68n_154cnvq2fk9_b"&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;So what is it?&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In simple terms web 2.0 is a set of patterns seen in today’s online sites and businesses that has radically changed the way the web used to be.Web 2.0 is a read and write web, meaning instead of users just reading the information presented to them, they are also allowed to modify the content of the site.&lt;br&gt;&lt;/p&gt; &lt;p&gt;Rather than calling a website we call it a web application in Web 2.0 scenario. This is because earlier the content that was available on the web was just static pages, but now there is a wide variety of content available: web sites, web services, mashups, RSS, Social Networking sites, Video sharing , photo sharing. When we say that it is a Web 2.0 application, it means that we can find some of the design principles of the web 2.0 in the application which have been defined by Tim O’Reilly while coining the term (&lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html"&gt;http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html&lt;/a&gt; ): . Since they are the design principles, they are just the guidelines on which your application should be based:&lt;br&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;The Long Tail&lt;/b&gt;: It is the first indication of User Centric approach. It means that the applications should be more targeted towards the masses than the niche. If a site is for very specific user set than the popularity will be just among those users, but if the site is for the common masses millions of users will be using it. YouTube( &lt;a href="http://www.youtube.com/"&gt;http://www.youtube.com&lt;/a&gt; ) , Flickr (&lt;a href="http://www.flickr.com/"&gt;http://www.flickr.com&lt;/a&gt; ) are all the followers of this philosophy. The site is open to masses. We will see later that long tail is the reason why Web 2.0 businesses have grown from 0 to billions in a span of 2 years&lt;/li&gt;&lt;li&gt;&lt;b&gt;Data is the Next Intel Inside:&lt;/b&gt; Just like the core part of the system is the processor, similarly the core part of the web application is the data that it is providing. People go to Flickr because Flickr has got one of the largest searchable database of Photos. YouTube sits on millions of Videos that users can search for, and view them. Data has become the identity of the web business. We will discuss this in length in the next part of this article&lt;/li&gt;&lt;li&gt;&lt;b&gt;User Add value:&lt;/b&gt; This I would say is the core of Web 2.0. If the application has does not allow the user to add some kind of meta data or the content, then it is not a Web 2.0 application. I have discussed it in length in the later part of the article&lt;/li&gt;&lt;li&gt;&lt;b&gt;Network Effects by Default&lt;/b&gt;: The value of application increases with the growing number of users. Fax would have been useless if there were not many users ready to send and receive the fax. The value of the product is not what the product is but how many people are ready to use it. The users will come to a social networking site because they find their friends on the site (orkut, facebook), users visit ebay because they find buyers for their products. If tomorrow the buyers stop coming to ebay, the sellers will also stop. People are ready to write applications on facebook because they think that their friends are going to use it and appreciate them. So Web 2.0 applications grow because of the user base and their constant engagement with the site. In order to understand it more please refer to &lt;a href="http://en.wikipedia.org/wiki/Network_effect"&gt;http://en.wikipedia.org/wiki/Network_effect&lt;/a&gt; , &lt;a href="http://web2.socialcomputingmagazine.com/hackingwebnetworkeffect.htm"&gt;http://web2.socialcomputingmagazine.com/hackingwebnetworkeffect.htm,&lt;/a&gt; Also “Web 2.0: A Strategy Guide: Business thinking and strategies behind successful Web 2.0 implementations” by Amy Shuen (&lt;a href="http://www.amazon.com/Web-2-0-strategies-successful-implementations/dp/0596529961/ref=bxgy_cc_b_text_b"&gt;http://www.amazon.com/Web-2-0-strategies-successful-implementations/dp/0596529961/ref=bxgy_cc_b_text_b&lt;/a&gt;) will be invaluable to understand some of the business implications of network effects.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Some Rights Reserved&lt;/b&gt;: Normally people have Intellectual property rights which prevents users from modifying the content or using them in other places. Since Web 2.0 is all about people and their collaboration, strict licensing cannot be productive. The Applications are designed to encourage people to contribute…In words of Tim O’Reilly the Design for &lt;b&gt;Hackability and Remixability&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;The Perpetual Beta&lt;/b&gt;: Web 2.0 has introduced a new kind of development model called Perpetual Beta. The applications will be launched and called as Beta versions. This is because they are continuously being improved by following the users feedback. Some of the applications are building daily more than once. Flickr went from many iterations from what it was when Yahoo! Bought it to what it is now.Applications need no hard media to distribute since its all web based so the deployment means just loading the executable on the web server.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Software above the level of a single device&lt;/b&gt;: Applications have to talk to various other applications to come up with a good use. Design the applications to integrate the services across handheld devices, PCs, web applications.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Cooperate, Don’t Control:&lt;/b&gt; No Body is the boss. The stories published on Digg (&lt;a href="http://www.digg.com/"&gt;http://www.digg.com&lt;/a&gt; ) are what readers want to read and not what NewYork times want the readers to read. Wikipedia (&lt;a href="http://www.wikipedia.org/"&gt;http://www.wikipedia.org&lt;/a&gt; ) is a collaborative effort of millions of people towards building up a encyclopedia. Nobody contols Wikipedia. Web 2.0 applications give their user the resources to utilize in what ever manner they want. This has been reflected in growth of numerous businesses: YouTube, Flickr, facebook (&lt;a href="http://www.facebook.com/"&gt;http://www.facebook.com&lt;/a&gt; ), Amazon (&lt;a href="http://www.amazon.com/"&gt;http://www.amazon.com&lt;/a&gt; ) and list goes on.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;A good web 2.0 application will have the 3 main features&lt;/b&gt;&lt;br&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;  Good content, data:&lt;/b&gt; Data is what attracts the users. People come to Flickr because of the large database of photos, Amazon provides a rich database of the books and so on.  The data is essentially easy to search.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Social Architecture:&lt;/b&gt; Enable the users to interact and work collectively. For e.g. the users can view the photos of other users, they can write scraps, they can create their profile, express themselves on blogs, they can connect to different people &lt;a href="http://www.websocialarchitecture.com/community/2007/03/the_basics_of_w.html"&gt;http://www.websocialarchitecture.com/community/2007/03/the_basics_of_w.html&lt;/a&gt; gives a detail overview of what is social architecture is all about.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Architecture of participation:&lt;/b&gt; Users can add content to the existing applications. Flickr allows them to upload photos, Youtube videos, wikipedia allows the user to add new wiki page and so on&lt;/li&gt;&lt;/ol&gt;&lt;br&gt; &lt;p&gt;In short the Web2.0 can be defined as:&lt;br&gt;&lt;b&gt;            Content+commerce+community+context+personalization+&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;intelligent search=&lt;span style="color: rgb(255, 0, 0);"&gt;Web 2.0&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;br&gt;&lt;p&gt;Web 2.0 is all about the buzz words and jargons. The following are some of them&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div id="dodh" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img src="http://docs.google.com/File?id=dcw4k68n_155dz6x8qdn_b" height="356" width="523"&gt;&lt;br&gt; &lt;br&gt;  &lt;p&gt;&lt;br&gt; We can categorize these buzzwords into few categories:&lt;br&gt;&lt;b style="color: rgb(255, 0, 0);"&gt;Technology:&lt;/b&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt; AJAX&lt;/li&gt;&lt;li&gt; RSS&lt;/li&gt;&lt;li&gt; ATOM&lt;/li&gt;&lt;li&gt; RIA&lt;/li&gt;&lt;li&gt; SOAP&lt;/li&gt;&lt;li&gt; REST&lt;/li&gt;&lt;li&gt;CSS&lt;/li&gt;&lt;li&gt; XML/XHTML&lt;/li&gt;&lt;li&gt;Ruby on Rails&lt;/li&gt;&lt;li&gt;Open APIs&lt;/li&gt;&lt;/ol&gt;&lt;br&gt; &lt;p style="color: rgb(255, 0, 0);"&gt;&lt;b&gt;User Collaboration/Social Aspect&lt;/b&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt; Participation&lt;/li&gt;&lt;li&gt; Trust&lt;/li&gt;&lt;li&gt; Accessibility&lt;/li&gt;&lt;li&gt; Remixability&lt;/li&gt;&lt;li&gt; Folksonomy&lt;/li&gt;&lt;li&gt; Ranking&lt;/li&gt;&lt;li&gt; Social Networks&lt;/li&gt;&lt;li&gt; Communities&lt;/li&gt;&lt;li&gt; Forums&lt;/li&gt;&lt;li&gt; Viral Feedback Loop&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="color: rgb(255, 0, 0);"&gt;&lt;b&gt;Content creation&lt;/b&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Wikis&lt;/li&gt;&lt;li&gt; Blogs&lt;/li&gt;&lt;li&gt; Comments&lt;/li&gt;&lt;li&gt;Recommendations&lt;/li&gt;&lt;li&gt; Reviews &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;&lt;br&gt;&lt;b&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;User Experience&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;ol&gt;&lt;li&gt; Joy of Use&lt;/li&gt;&lt;li&gt; Simplicity&lt;/li&gt;&lt;li&gt; Interactive media &lt;/li&gt;&lt;/ol&gt;&lt;br&gt;Even though we say that Web2.0 is a read/write web but the&lt;b&gt; number of users who really add the contents are very few&lt;/b&gt;.&lt;br&gt;We can divide the users into 3 categories &lt;ul&gt;&lt;li&gt; Users who create the content&lt;/li&gt;&lt;li&gt; Users who add the meta data information, so they add value to the existing content&lt;/li&gt;&lt;li&gt;Users who are just reading the content: more of a web 1.0 behavior but majority of the users is like this&lt;/li&gt;&lt;/ul&gt;&lt;br&gt; &lt;p&gt;&lt;b&gt;Trust &lt;/b&gt;plays an important role in Web 2.0 applications.&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Wikipedia allows the users to add the wiki pages on the various topics. Nobody is controlling the information, it is all about the trust that the users will not enter wrong and objectionable stuff.&lt;/li&gt;&lt;li&gt;ebay whole business model is based on trust. It facilitates the buyers and sellers to reach to a deal. Both the parties are unknown but still engage themselves in business&lt;/li&gt;&lt;li&gt;Social networking sites allow the users to add their personal information. The personal information plays an important role in connecting the people. Trust is the main factor why people are  ready to enter their personal information and supporting the model of social networking sites&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;p&gt; Web 2.0 applications are known for providing &lt;b&gt;rich user experience&lt;/b&gt;: AJAX is almost necessary component for building the applications. AJAX provides the dynamic updates of the page without actually refreshing the entire page.The web sites will generally have components like maps, RSS feeds, videos, dynamically updating controls, glassy icons.&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;Sites are &lt;b&gt;pushing information to the user.&lt;/b&gt; This is one of the major change from the earlier web sites and the current websites. Early websites (web1.0) required users to regularly visit the site to check if some new updates have been done. This is not a very clever solution since the probability of user doing this is very low except for the few websites. Suppose I am a fan of &lt;a href="http://www.linuxjournal.com/"&gt;Linux journal&lt;/a&gt; , I might take the pain of visiting the site everyday to check if some new article has been published. But another user who is not that crazy about Linux might not take pain to visit the site regularly. In this manner the site is loosing on its users. Web 2.0 has a very well documented notification mechanism RSS which is all about updating the users about any changes on the site. So with RSS I don’t have to go to Linux Journal site. Instead I will just subscribe to the RSS feed from the site which keeps updating with any updates on the site. So I get the notification once the site is updated and so I can then visit the site.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;b&gt; Tagging/Folksnomy:&lt;/b&gt; Tagging helps users to categorize their content on the web.   &lt;a title="Delicious" href="http://delicious.com/" id="na-z"&gt;Delicious&lt;/a&gt; is based on tagging. The users bookmark the links by categorizing them with a tag. This helps in easy searching of the bookmarks later. Flickr allows the user to categorize their photos by giving meaningful tags. They can later search the photos based on the tags. Tagging has got lot of meta information which is quite valuable. Refer to my &lt;a href="http://rohitagarwal24.blogspot.com/2008/02/use-of-collaborative-tagging-in.html"&gt;blog posting for the benefits of tagging&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;b&gt;Web as platform&lt;/b&gt;: Web 2.0 is laying the foundation on which users can build the applications. It is providing the basic components/modules that are required to build applications. A typical application will require a Database, some APIs or libraries, messaging system to communicate between different components, UI, some kind of computation that is the brain of the application. Normally a person will use the Database from some vendor, APIs from other vendor, use a programming language for writing logic and bind them together. He will use some Hardware to run the application. So basically the different modules or technologies for creating an application are used from different vendors and assembled to get the final product.&lt;br&gt;&lt;/p&gt; &lt;p&gt;The same concept is supported by the various applications of the Web 2.0. We have different type of modules that can be used to create new applications&lt;br&gt;1.      Storage Services(equivalent to data storage in desktop applications): &lt;a title="Amazon S3" href="http://www.amazon.com/gp/browse.html?node=16427261" id="sgks"&gt;Amazon S3&lt;/a&gt; &lt;br&gt;2.      Compute Service: &lt;a title="Amazon EC2" href="http://www.amazon.com/gp/browse.html?node=201590011" id="yudu"&gt;Amazon EC2&lt;/a&gt; which provide a computing facility. You can run your application on Amazon’s hardware&lt;br&gt;3.      Information Services: A rich set of APIs providing specialized data. Like &lt;a title="Google map" href="http://maps.google.com/" id="qlgf"&gt;Google map&lt;/a&gt;, &lt;a title="Flickr" href="http://www.flickr.com" id="hpk4"&gt;Flickr&lt;/a&gt;, &lt;a title="Twitter" href="http://twitter.com/" id="n:zx"&gt;Twitter&lt;/a&gt;, &lt;a title="Delicious" href="http://del.icio.us" id="tifa"&gt;Delicious&lt;/a&gt;, &lt;a title="Amazon" href="http://www.amazon.com" id="dvmn"&gt;Amazon&lt;/a&gt;, &lt;a title="ebay" href="http://www.ebay.com" id="vd-h"&gt;ebay&lt;/a&gt;&lt;br&gt;4.      Messaging Service : They are like  middleware concept passing the messages from one application to another. &lt;a title="Amazon Simple Queue Service" href="http://www.amazon.com/Simple-Queue-Service-home-page/b/ref=sc_fe_l_2?ie=UTF8&amp;amp;node=13584001&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA" id="pph_"&gt;Amazon Simple Queue Service&lt;/a&gt; is one such example.&lt;br&gt;5.    Various technologies like AJAX, RIA, SOAP, REST, CSS, XML, Ruby on Rails, Grail and so on&lt;br&gt;&lt;/p&gt;&lt;p&gt;I have earlier &lt;a href="http://rohitagarwal24.blogspot.com/2008/02/web-as-platform-my-views-web2.html"&gt;posted the platform concept&lt;/a&gt; in depth on my blog  which I would suggest will help a lot. Tim O’Reilly has discussed it in length in his &lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html"&gt;classic Web 2.0&lt;/a&gt; discussion.&lt;/p&gt;&lt;br&gt;&lt;b&gt;Remixing and Mashups: &lt;/b&gt;Mashup means blend distinct data from 2 or more sources/APIs together to add more value to what was already there. E.g There are map APIs from Google which allows you to get the map based on Latitudes/Longitudes. They can be blended with a News data so that clicking on any place on the map will give the News related to that area. Now this is a blending of two data to produce something that is more valuable.They are one of the most popular reasons for the disruptive growth of web. Google Maps, Flickr, YouTube, Amazon provides APIs through which users create a new application making use of the data from these sites. For e.g. User might use the Google Map APIs to create a real estate agent site.  User might love to see photographs of any place in the world. He can combine Google Maps and Flickr APIs to do so.&lt;br&gt;Apart from the fun part, mashups do have lot of business value in them. Real estate business has benefited with the sites where they can get the real time property rates and the geographic maps for the site so that the clients can see the property before buying it.&lt;br&gt;&lt;br&gt;Web 2.0 applications generally &lt;b&gt;display the 3 dimensions&lt;/b&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Technical: &lt;/b&gt;The Applications are created using some of the most advanced&lt;br /&gt;languages/software. SOAP, REST, RSS, AJAX, Ruby on Rails, GWT etc. The&lt;br /&gt;whole mashup thing has taken the SOAP and REST to new heights. (They&lt;br /&gt;are the new versions of SOA).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Users Centric: &lt;/b&gt; User Centric aspect I have discussed a lot and will be revisiting later&lt;/li&gt;&lt;li&gt;&lt;b&gt;Business:&lt;/b&gt; Web 2.0 applications are running into big busisnesses. Youtube, facebook, mySpace made billions in a short span of time. We will be looking into the business aspect of Web 2.0 in the next part of the Notes.&lt;/li&gt;&lt;/ol&gt;&lt;br&gt;    &lt;p&gt;The&lt;b&gt; Web 2.0 is not only for the techie guys &lt;/b&gt;who are deep into coding and stuff. A web 2.0 application &lt;b&gt;can be built by or owned by a completely non technical person&lt;/b&gt;. It  takes just 5 minutes to start your blog site and start blogging ( check &lt;a href="http://www.blogspot.com/"&gt;www.blogspot.com&lt;/a&gt; ). Any person can use Google Ads to start getting the Ads on the site. Google provides a very easy way to start you own portal (iGoogle). Even if there is a need for programming, it is very simple and most of the times the sample code is available, the user just has to make some minute changes to get it working.The most popular APIs are the ones which are easy to use. This is because the APIs are being used by a diversity of people (from techie to non techie).&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;Today almost every type of application is available on the web:&lt;br&gt;a.       Videos/Audios sharing: &lt;a title="YouTube" href="http://www.youtube.com" id="noqv"&gt;YouTube&lt;/a&gt; &lt;/p&gt;&lt;p&gt;b.      Photo Sharing: &lt;a title="Flickr" href="http://www.flickr.com" id="l-.."&gt;Flickr&lt;/a&gt; &lt;/p&gt;&lt;p&gt;c.       Social Networking: &lt;a title="Facebook" href="http://www.facebook.com" id="nucv"&gt;Facebook&lt;/a&gt;, &lt;a title="Orkut" href="http://www.orkut.com" id="u4ma"&gt;Orkut&lt;/a&gt;, &lt;a title="MySpace" href="http://www.myspace.com" id="urfc"&gt;MySpace&lt;/a&gt; &lt;/p&gt;&lt;p&gt;d.      Books: &lt;a title="Amazon" href="http://www.amazon.com" id="g.y2"&gt;Amazon&lt;/a&gt; &lt;/p&gt;&lt;p&gt;e.       Storage: &lt;a title="Amazon S3" href="http://www.amazon.com/gp/browse.html?node=16427261" id="zidd"&gt;Amazon S3&lt;/a&gt; &lt;/p&gt;&lt;p&gt;f.       Computing Facility: &lt;a title="Amazon EC2" href="http://www.amazon.com/gp/browse.html?node=201590011" id="yudu"&gt;Amazon EC2&lt;/a&gt; &lt;/p&gt;&lt;p&gt;g.      Trading: &lt;a title="ebay" href="http://www.ebay.com" id="bx.n"&gt;ebay&lt;/a&gt;,&lt;a title="Paypal" href="http://www.paypal.com/" id="eqe4"&gt;PayPal&lt;/a&gt; &lt;/p&gt;&lt;p&gt;h.      Bookmarking: &lt;a title="Delicious" href="http://del.icio.us" id="riat"&gt;Delicious&lt;/a&gt; &lt;/p&gt;&lt;p&gt;i.        Maps: &lt;a title="Google" href="http://maps.google.com/" id="p.b_"&gt;Google&lt;/a&gt;,&lt;a title="Yahoo!" href="http://maps.yahoo.com/" id="dqdw"&gt;Yahoo!&lt;/a&gt; &lt;/p&gt;&lt;p&gt;j.        Office Applications (word, excel): &lt;a title="Google Docs" href="" id="b11x"&gt;Google Docs&lt;/a&gt;, &lt;a title="Zoho" href="http://www.zoho.com" id="e.te"&gt;Zoho&lt;/a&gt; &lt;/p&gt;&lt;p&gt;k.      Project Management: &lt;a title="Zoho" href="http://www.zoho.com" id="tysp"&gt;Zoho&lt;/a&gt; &lt;/p&gt;&lt;p&gt;l.        Encyclopedia: &lt;a title="Wikipedia" href="http://www.wikipedia.org" id="irur"&gt;Wikipedia&lt;/a&gt; &lt;/p&gt;&lt;p&gt;m.    Messaging: &lt;a title="Twitter" href="http://twitter.com/" id="n:zx"&gt;Twitter&lt;/a&gt;, &lt;a title="skype" href="http://www.skype.com" id="k89s"&gt;skype&lt;/a&gt; &lt;/p&gt; &lt;p&gt;And the list goes on. It is not too far when you need not install anything on the system, all software including OS will be web based. You will just require a very scale down version of say Linux to get the browser running and Web 2.0 will take it from there&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Let me spend some time on &lt;b&gt;how users have contributed&lt;/b&gt; in making the applications better.&lt;br&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a title="Wikipedia" href="http://www.wikipedia.org/" id="irur"&gt;Wikipedia&lt;/a&gt; is the best example of user content that has helped in creating one of the largest encyclopedia.&lt;br&gt;&lt;/li&gt;&lt;li&gt;The search results on Google are very much dependent on how many users have referenced the links, popularity of the page, any meta information associated&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Flickr" href="http://www.flickr.com" id="pl-j"&gt;Flickr&lt;/a&gt; allows users to tag the photos. This has helped Flickr to improve their search results drastically&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="YouTube" href="http://www.youtube.com" id="ysas"&gt;YouTube&lt;/a&gt; is all about sharing the Videos. Users create the video and share it..Broadcast Yourself.&lt;/li&gt;&lt;li&gt;&lt;a title="Facebook" href="http://www.facebook.com" id="bfjn"&gt;Facebook&lt;/a&gt; is allowing the users to build up new applications and host them on facebook…as expected it is one of the latest craze among the facebook users&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Digg" href="http://www.digg.com" id="ra2i"&gt;Digg&lt;/a&gt; is all about users adding their votes to make the news to show up on the main page or not&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Amazon" href="http://www.amazon.com" id="ypfv"&gt;Amazon&lt;/a&gt; Product Reviews is one of the major ways how people get to know which is the  better product. The users search keywords and shopping history help Amazon to find out the shopping tendency of users, so that they can “suggest” what is bought along a particular product. So you bought a book on Design Patterns by Gang of Four and there comes a Amazon suggestion saying those who bought this book also bought “Refactoring by Martin Fowler”  All this is user added meta data that is helping Amazon to serve its user better&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Delicious" href="http://del.icio.us" id="ekih"&gt;Delicious&lt;/a&gt; tags are added by the users. They have a great value in making the links searchable. Find out more about the tagging from my posts &lt;a href="http://rohitagarwal24.blogspot.com/2008/02/use-of-collaborative-tagging-in.html"&gt;http://rohitagarwal24.blogspot.com/2008/02/use-of-collaborative-tagging-in.html&lt;/a&gt; and  &lt;a href="http://rohitagarwal24.blogspot.com/2008/01/how-to-add-tag-cloud-to-your-blog-tag.html"&gt;http://rohitagarwal24.blogspot.com/2008/01/how-to-add-tag-cloud-to-your-blog-tag.html&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;            &lt;p&gt;This should give an overview of Web 2.0. I think I have touched base on all the key aspects of the philosophy. I will cover the business impact of web 2.0 in great details in the next part of the article. In case you want me to explain some portion of the article in more details kindly leave a comment.You can follow me on &lt;a href="http://del.icio.us/rohdimp_24/web2.0"&gt;delicious&lt;/a&gt; for web 2.0 related links.&lt;br&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6514955672547707166?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6514955672547707166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6514955672547707166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6514955672547707166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6514955672547707166'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/09/notes-on-web-2_5032.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-2413574531317423740</id><published>2008-09-09T21:16:00.000-07:00</published><updated>2008-09-09T21:26:16.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;br id="go4b"&gt;&lt;font id="go4b0" size="4"&gt;&lt;b id="go4b1"&gt;Why We buy ?&lt;br id="go4b2"&gt;&lt;/b&gt;&lt;/font&gt;&lt;br id="go4b3"&gt;&lt;br id="go4b4"&gt;I had  never thought upon this until I got this book in my hand.&lt;br id="go4b5"&gt;&lt;br id="go4b6"&gt;&lt;br id="go4b7"&gt;&lt;img id="go4b8" alt=""&gt;&lt;div id="vy5m" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img id="go4b9" style="width: 240px; height: 240px;" src="http://docs.google.com/File?id=dcw4k68n_149cb8qx2tc_b"&gt;&lt;/div&gt;&lt;br id="go4b10"&gt;The information given in the book is based on practical studies conducted in different retail shops, departmental stores. Data gathered has been analyzed thoroughly and findings put in the book. The stuff is kind of hillarious and mind boggling. While you are reading the book you will take some time to think ..Is Paco talking about me?&lt;br id="if1y"&gt;Paco for instance, discusses the implication of the trolley/baskets on the shopping experience, what happens if your shelves are oriented at an angle of 45 versus 90, what is the sales boost in having a merchandise displayed at the entry of the store versus in some middle section, A kid coming with his/her father is a better customer versus when he/she coming with mother and so on.&lt;br id="saam"&gt;Paco has touched base on very common things which can significantly change the shopping and sales.&lt;br id="xwcd"&gt;Buy Book at &lt;a title="Amazon" href="http://www.amazon.com/Why-We-Buy-Science-Shopping/dp/0684849143/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1221020499&amp;amp;sr=1-1" id="jyr5"&gt;Amazon&lt;/a&gt; &lt;br id="p:wz"&gt;&lt;br id="saam0"&gt;&lt;br id="go4b11"&gt;&lt;br id="rgvr"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://rohitagarwal24.blogspot.com"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-2413574531317423740?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/2413574531317423740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=2413574531317423740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2413574531317423740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2413574531317423740'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/09/why-we-buy-i-had-never-thought-upon.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-870016422696912476</id><published>2008-09-08T21:22:00.000-07:00</published><updated>2008-09-15T04:19:56.583-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;h1 id="hi6w" class="page-title"&gt;&lt;font id="yjvf" size="4"&gt;Download:  A History of the Internet on Discovery Channel&lt;/font&gt;&lt;/h1&gt;A cool new series is being telecasted on Discovery channel. This is the great way in understanding the Internet revolution that happened in the last decade and which has changed our lives for ever. The Series will let us know some of the key events that took place, the key companies/products  that changed the digital world and the people behind them. I am really excited for this. &lt;br id="fpkc"&gt;More information on the same is available at&lt;br id="hi6w0"&gt;&lt;a title="http://www.hastac.org/node/1251" href="http://www.hastac.org/node/1251" id="e70v"&gt;http://www.hastac.org/node/1251&lt;/a&gt; &lt;br id="fpkc0"&gt;I also found a google video &lt;a title="http://video.google.com/videoplay?docid=380058528391483877" href="http://video.google.com/videoplay?docid=380058528391483877" id="s.7s"&gt;http://video.google.com/videoplay?docid=380058528391483877&lt;/a&gt; &lt;br id="bnq."&gt;&lt;br id="bnq.0"&gt;Some of the key points from the Video:&lt;br id="bnq.1"&gt;&lt;ol id="bnq.2"&gt;&lt;li id="bnq.3"&gt;Internet is about connecting people&lt;/li&gt;&lt;li id="bnq.4"&gt;Youtube: Broadcast yourself. There is not central control of the video--No master of the media&lt;/li&gt;&lt;li id="bnq.5"&gt;DIGG: People digg (vote) the story so that its get featured on the main page. People are deciding what they consider exciting and what not&lt;/li&gt;&lt;li id="etaq"&gt;facebook: Its all about relationship among human beings. facebook is trying to map the way man thinks he is connected to the other people..concept of social graph.&lt;/li&gt;&lt;li id="idos"&gt;facebook allows you to develop applications and host them on facebook so that others can see and use them.&lt;/li&gt;&lt;li id="y-8:"&gt;General pattern of the popular web 2.0 businesses is : &lt;br id="ha4."&gt;&lt;/li&gt;&lt;ol id="ac-0"&gt;&lt;li id="ha4.0"&gt;started in college dorms as a fun project&lt;/li&gt;&lt;li id="ac-00"&gt;launched among college students&lt;/li&gt;&lt;li id="ac-01"&gt;through word of mouth gets vastly popular&lt;/li&gt;&lt;li id="ac-02"&gt;geek opts to  drop out of the college&lt;/li&gt;&lt;li id="ac-03"&gt;starts a company based on the project&lt;/li&gt;&lt;li id="ac-04"&gt; A giant business buys it at an incredible rate &lt;br id="ac-05"&gt;&lt;/li&gt;&lt;li id="ac-06"&gt;college geek becomes extremely rich ......time involved for hitting this jackpot ~2years&lt;/li&gt;&lt;/ol&gt;&lt;li id="xknh"&gt;Some of the key acquisitions were Youtube by google (1.65bn$), MySpace by Rupert Murdoch(600million $), facebook by Microsoft,flickr by Yahoo, delicious by yahoo&lt;br id="yrdc"&gt;&lt;/li&gt;&lt;li id="yrdc0"&gt;Digital media specially music has played a big role in bringing the people together&lt;/li&gt;&lt;li id="jb:x"&gt;It was because of the mp3 that the music could be compressed and easily shared on the net&lt;/li&gt;&lt;li id="jb:x0"&gt;Napster laid the foundation of the new experience on the internet i.e. exchange digital media. Today Youtube allows you to share the video, flickr allows to share the photos but back in 98-99, Napster made the sharing of music a child's play and took the internet by storm&lt;/li&gt;&lt;li id="pdzh"&gt;Napster was the fastest spreading software at that time. &lt;br id="tesf"&gt;&lt;/li&gt;&lt;li id="tesf0"&gt;The USP of Napster was if there is a computer on the internet which has got collection of songs and you want to download those songs...establish a peer to peer network with that computer and get the songs. Napster software helped in doing that. No computer is the central repository. Your home system can be a repository for somebody sitting in some part of the world&lt;/li&gt;&lt;li id="wm-0"&gt;Because of Napster people from different geographic locations , who had never heard about the other, no mails, no chat were suddenly exchanging massive data...This also laid the foundation of social networking&lt;/li&gt;&lt;li id="wm-00"&gt;An estimate says that 85% of the total bandwidth available in the college networks was being used to exchange music&lt;/li&gt;&lt;li id="o-x:"&gt;The internet usage suddenly raised and so the number of users... &lt;b id="msow"&gt;The user centric application theme got the first voice through Napster&lt;/b&gt;&lt;br id="o-x:0"&gt;&lt;/li&gt;&lt;li id="k2b2"&gt;The popularity of Napster had raised the questions of copyright violation of the digital media which overnight became available for free. The record stores lost major market since the college guys (their major customer) were downloading the music for free.&lt;/li&gt;&lt;li id="bzr7"&gt;Unfortunately Napster company was shutdown after the court order..but it had showed the would be Youtube, flickr, digg how to get the people attention. Majority of internet users are not worried about the information about latest books, articles, conference,how stuff works. instead they want to play with media. They want to watch movies, videos, photos, listen to free music, communicate with friends. Its all about what are the most common interests of people and can you provide them over the internet..Bang you have a new rocking web business&lt;/li&gt;&lt;li id="e77c"&gt; MySpace is another business that boosted the Social Networking idea in the sillicon valley and suddenly we had facebook, orkut coming up on those lines&lt;/li&gt;&lt;li id="g9gd"&gt; Youtube, MySpace, facebook have earned their founders a lot but there are some businesses which are as popular as these businesses but they are not earning any money: Craiglist, wikipedia&lt;/li&gt;&lt;li id="w-_y"&gt;The philosophy of craiglist is that they want to provide the newspaper classified sections for free. The advertisements are more organized , easy to search and available for almost all geographic loactions in the world. I can search for all advertisements for a  house in NY,USA sitting in Bangalore,India.&lt;br id="ejq2"&gt;&lt;/li&gt;&lt;li id="rwmc"&gt;Youtube provide people to share videos , Flickr provided photo sharing, Digg provided people the ability to decide what they consider is the top news, facebook provided people opportunity to make friends and remain connected to them....now people would also like to become authors,publishers and what not, so we have BLOGS&lt;/li&gt;&lt;li id="ptfp"&gt;Blogging is one of the most popular activity on the internet. People blog on various things. People feel excited that they can also write contents, and publish them just like any author in OLD days used to do. If you are reading this article then you know what I mean :)&lt;/li&gt;&lt;li id="oa9j"&gt;There is a whole lot of potential to become a new business on the internet...just need to find if it is user centric,how can a user participate in changing the content of your site. Today the User wants to become a peer in adding the content on your site rather than just a meek recipient of the content.&lt;br id="oa9j0"&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br id="htmc"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://rohitagarwal24.blogspot.com"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-870016422696912476?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/870016422696912476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=870016422696912476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/870016422696912476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/870016422696912476'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/09/download-history-of-internet-on.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-9041932802443250355</id><published>2008-09-06T19:53:00.000-07:00</published><updated>2008-09-08T21:32:28.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;font id="cn02" size="3"&gt;&lt;b id="vcz8"&gt;Brand Value: Silverlight versus Flex&lt;/b&gt;&lt;/font&gt;&lt;br id="ob5:"&gt;&lt;br id="ob5:0"&gt;How many people have  heard of Microsoft? May be everybody who has a PC&lt;br id="fl:b"&gt;How many people have heard of Adobe? I bet a very small fraction of the above population.&lt;br id="fl:b0"&gt;When Microsoft comes out with a product the user base is already there looking for that product. They launched Vista last year but people were already waiting for it since last 3-4 years.&lt;br id="fl:b1"&gt;This is the power of branding. Microsoft has clearly established in that perspective. Whether their offerings are really that cool or not is the other part of the story.&lt;br id="m3pp"&gt;Microsoft, historically has bee bit passive in the internet technologies. The Browser wars(Netscape versus IE) is a classic example. WEB 2.0 is the current buzz word in the Internet parley and it is taking the world with storm. The companies are coming up with RIA (Rich internet applications) which offer very rich UIs, almost like the Desktop. Its all about user experience. The applications are marketed for their rich experience rather than their functionalities. &lt;br id="td4a"&gt;Anyways coming to the M-Aspect, Adobe (they actually coined the term RIA) came up with their Toolkit called Flex, to make the development of RIA easy and fast. Flex has been around for about 3 years and has become quite stable technology. A lot of people around the world have embraced this technology and are developing really cool web applications. Lot of big names in the market like Yahoo, HP, SAP are using Flex for their products. But even with so much support the common people have never heard of Flex or RIA.&lt;br id="vx3v"&gt;2 years back Microsoft started working on Silverlight as their offering against Flex. Even though it is not being used in any commercial web sites but people are excited about it. If you discuss people about flex, the first question will be why don't you use Silverlight....Its from Microsoft. Even though they have neither worked on Silverlight nor on Flex, but they feel more comfortable to put their bet on Silverlight compared to Flex.&lt;br id="c1dt"&gt;In my opinion this is all because of the Brand Value. People have a kind of faith in the brand they have been using. Microsoft has always been looked upon as a company which comes out with new programming languages, Operating systems, Office software...practically everything. So its obvious that they have come up with a RIA toolkit (Siverlight).&lt;br id="gx0r"&gt;On the other hand Adobe, is known for software like PDF reader, Writer, PhotoShop...none of them is a OS or a general programming language. So when Adobe comes up with a language and a new paradigm of developing internet applications, people have doubts on their credibility. Another blow to the Flex popularity is the fact that it doesnot use javascript. Currently the general notion about the internet applications is: A website with javascript, XML, AJAX, CSS, RSS and so on. Now Flex uses actionscript which again raises people eye brows. Lot of javascript vs actionscript debate started in the recent years. Whenever such debate start, its likely that the people who are the supporters of one technology will start promoting it with full support. They will write blogs, give usage statistics etc. So now a person who is new to both actionscript and javascript when tries to decide upon which way to go, he follows an easy metrics of the popularity.&lt;br id="vq97"&gt;Silverlight is based on javascript so thats another advantage.&lt;br id="vq970"&gt;AJAX is another technology or I will say paradigm that has to be there in case your website has to get any respect. Flex never advertise much on the AJAXian capabilities. They advertise RIA more than AJAX. Web 2.0 is all about the jargons and clearly  jargon AJAX is lot more popular and than RIA. Web 2.0 is associated with AJAX. I have heard lot of early Web 2.0 heros admitting that without AJAX there is no Web 2.0. So when you have a product whose sole USP is RIA, a new person who wants to have a web 2.0 type of website immediately raises doubt: If I use flex will my website be called Web 2.0?&lt;br id="m1a9"&gt;Just to summarize Flex is a great product and is very easy to use, but from the popularity wise it will face tough competitions. One of the major factor that helped flex to reach upto the current state was the fact that was an early entrant. But with so many companies and specially Microsoft offering the same type of product, its going to be tough time for flex.&lt;br id="cn020"&gt;&lt;br id="hl7."&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://rohitagarwal24.blogspot.com"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-9041932802443250355?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/9041932802443250355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=9041932802443250355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/9041932802443250355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/9041932802443250355'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/09/brand-value-silverlight-versus-flex-how.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-3429806912211501009</id><published>2008-08-24T19:04:00.000-07:00</published><updated>2008-09-08T21:33:50.295-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;b id="xg:h"&gt;&lt;font id="xg:h0" size="4"&gt;Kingfisher Flying with Linux&lt;br id="k_ne"&gt;&lt;br id="k_ne0"&gt;&lt;/font&gt;&lt;/b&gt;&lt;font id="k_ne1" size="2"&gt;KingFisher Airlines, Indias most colorful and luxurious domestic airlines provides Entertainment system which are based on Linux. &lt;br id="k_ne2"&gt;It so happened that I was travelling from Hyderabad to Bangalore in KingFisher flight. 5 min before the take off , all the entertainment units got restarted. I was totally amazed when I saw a Linux boot sequence getting displayed on the screens. It was an embedded Linux ( a scale down and customized Linux especially for the Embedded Systems). After the booting was over the X window console came and then suddenly the moving map. The entire thing was very exciting. I wanted to share this information at that time itself. I sent SMSes to my friend who is a Linux Junnkie. I wanted to send this information to everybody who can get excited like me. For the first time I realized the use of microblogs like twitter. Had I got a twitter account on mobile I could have immediately posted the information on my twitter widget on the Blog. So the flight seem to be providing me lot of insights....&lt;br id="le5a"&gt;&lt;/font&gt;&lt;font id="le5a0" size="2"&gt;For all the Linux junkies KingFisher is a nice example of proving the use of it in the commercial systems. &lt;br id="j:bp0"&gt;&lt;/font&gt;&lt;br id="j:bp"&gt;&lt;br id="efyh"&gt;&lt;br id="vtwa"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://rohitagarwal24.blogspot.com"&gt;&lt;img src="http://static.technorati.com/pix/fave/tech-fav-1.png" alt="Add to Technorati Favorites" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-3429806912211501009?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/3429806912211501009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=3429806912211501009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3429806912211501009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/3429806912211501009'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/08/kingfisher-flying-with-linux-kingfisher.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-2492836934878047063</id><published>2008-08-02T20:09:00.000-07:00</published><updated>2008-08-02T20:24:51.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>            &lt;b id="n_je"&gt;Easiest way to crack an Interview&lt;br id="n_je0"&gt;&lt;/b&gt;&lt;br id="n_je1"&gt;Cracking an interview is what most of the people look forward. People generally prepare a lot for an interview in terms of their technical stuff, personal questions etc. All this is fine but I think even the interviewer is aware of all these preparations the candidate usually do, so he might not be very impressed if you answer him in the artificially imposed sophisticated looks and manners. The interviewer has 1 min to judge you and you have to take the lead in that 1 min. I have recently given 4-5 interviews (just for fun) and in all those interviews I found that no body is actually interested in looking at you "artificial manners". They will be more than happy if you remain what you actually are. So here is the trick and this is applicable for both freshers and the experienced people.&lt;br id="c-x7"&gt;Just to put it in simple sentences&lt;br id="emqc"&gt;1. Prepare slides or some visual depiction of the work you have done so far.&lt;br id="c-x70"&gt;2. Ask the interviewer permission to show your stuff.&lt;br id="c-x71"&gt;3. In all probability he will say yes&lt;br id="c-x72"&gt;4. Using your slides/ graphs give an overview of the work&lt;br id="u:o6"&gt;5. Be very casual while describing. The words should be just oozing out of the mouth.&lt;br id="er9h"&gt;6. You should look proud and confident of what you have done. Think as if you are selling your work to a customer&lt;br id="i5kc"&gt;7. You should tell what impact you work has put in the current company (if you are switching the job) or if you are fresher than how your work has been judged by the college&lt;br id="f0az"&gt;8. All this has a great effect on the interviewer.&lt;br id="h7dq"&gt;&lt;ul id="h7dq0"&gt;&lt;li id="h7dq1"&gt;He thinks that you are confident about what you have done--so you are not telling a lie.&lt;/li&gt;&lt;li id="jyuz"&gt;He thinks that you are sound in the area that you are looking for.&lt;br id="jyuz0"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul id="h7dq2"&gt;&lt;li id="h7dq3"&gt;He understands that you can express yourself---a very important quality&lt;/li&gt;&lt;li id="gtr3"&gt;He understands that you can sell your case ---If you cannot market a thing then what is the use to produce it?&lt;/li&gt;&lt;li id="gtr30"&gt;He thinks that you are professional-- slides, graphs, if permitted a prototype&lt;/li&gt;&lt;/ul&gt;9. If you have impressed the interviewer by your presentation, then it really don't leave any space for rejection, since Interviewer gets answers to all the potential questions.&lt;br id="j7qq"&gt;&lt;br id="j7qq0"&gt;In Short&lt;br id="j7qq1"&gt;"&lt;b id="srt8"&gt;&lt;span id="aw7j" style="color: rgb(111, 168, 220);"&gt;BE COOL AND TALK &lt;span id="aw7j0" style="color: rgb(0, 0, 0);"&gt;RATHER&lt;/span&gt;&lt;/span&gt; THAN &lt;span id="srt80" style="color: rgb(255, 0, 0);"&gt;LISTEN AND GET TENSE&lt;/span&gt;&lt;/b&gt;" &lt;br id="jyuz1"&gt;&lt;br id="n_je3"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-2492836934878047063?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/2492836934878047063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=2492836934878047063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2492836934878047063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2492836934878047063'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/08/easiest-way-to-crack-interview-cracking.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5125360443914551999</id><published>2008-08-02T19:47:00.000-07:00</published><updated>2008-08-02T20:12:25.685-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;font id="il6x" size="3"&gt;&lt;b id="f2fc"&gt;American way of abusing a country&lt;/b&gt;&lt;/font&gt;&lt;br id="lrnc"&gt;&lt;br id="lrnc0"&gt;The other day I was watching a comedy series "Big Bang theory?". The serial is about how do 4 geeky scientists live their social life , their love life etc. In the serial they have an Indian character too, which was a pleasant surprise to me, since I have never seen an Indian in the main cast of any American serial/film. However, it did not turn out to be pleasant for long. The Indian character has been overshadowed by other characters. The Indian is not allowed to talk much. The director has done it cleverly. It seams that this character is shy to open his mouth before a lady. Now most of the time the incidences take place in presence of a good looking neighbor, So the Indian is quiet in most part of the serial. &lt;br id="c.th"&gt;Moreover there has been continuous fun making of the Indian and indirectly India in the various episodes:&lt;br id="ujym"&gt;1. The other friends say finally the Broadband has arrived in India (the serial was released in 2007 and I am damn sure that broad band was there in India since 2002)&lt;br id="uggq"&gt;2. The Indian says its not that there are children starving in India, an Indian is also staring in US&lt;br id="uggq0"&gt;3. One of the character makes fun of the accent of the indian&lt;br id="uggq1"&gt;4. They make fun of the arranged marriage practice in India, Indian Cuisine etc.&lt;br id="mhj6"&gt;5. I don't know why the Americans still think that all they will find in India is monkey, snake , elephant and princess.&lt;br id="il6x0"&gt; I have actually hosted one American lady last year whose purpose of visit to India was to see cows, monkey, snake, elephant. I think Americans should start brushing their general knowledge which currently one of the lowest in the world.&lt;br id="wb5."&gt;&lt;br id="lrnc1"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5125360443914551999?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5125360443914551999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5125360443914551999' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5125360443914551999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5125360443914551999'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/08/american-way-of-abusing-country-other.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1783283616592228988</id><published>2008-08-02T19:27:00.000-07:00</published><updated>2008-08-02T20:12:25.686-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>&lt;font id="y34r" size="3"&gt;&lt;b id="y34r0"&gt;Is Malaysia a true Paradise for Tourists?&lt;/b&gt;&lt;/font&gt;&lt;br id="cimn"&gt;&lt;br id="cimn0"&gt;I was very much fascinated about Malaysia after listening to shopping and sight seeing experiences of some of my colleagues. So when I got a chance to travel to Malaysia I thought I &lt;br id="cimn1"&gt;will have a ball of a time there. But it did not turn out that way. Being a vegetarian its very difficult to find anything to eat. Every thing will have a fishy smell. In a traditional Malaysian cuisine its hard to find anything veg. So the food was a big problem. The entire place smells like fish. &lt;br id="li1i"&gt;The shopping too is not a fun. First of all the prices are not that attractive. I can get better deals in India than in Malaysia. Secondly, the shopkeepers are very arrogant and impolite. If you ask price of an article and then don't buy, they will literally abuse you. This is something I was not used too. In India, customer is treated like a God. You can ask price, touch it, even try clothes, the shopkeeper is not going to say anything.&lt;br id="crqj"&gt;The taxis are expensive and they are always ready to charge you more. I mean going to a place that is 2 Km away the Taxi guy will ask you for 10 RM that is like 140 INR.&lt;br id="klm4"&gt;In short I was not at all impressed by the Malaysian hospitality. I don't think ASIA is like that so why do they say MALAYSIA TRULY ASIA?&lt;br id="cimn2"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1783283616592228988?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1783283616592228988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1783283616592228988' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1783283616592228988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1783283616592228988'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/08/is-malaysia-true-paradise-for-tourists.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6387562805355657505</id><published>2008-08-02T19:16:00.000-07:00</published><updated>2008-08-02T20:12:59.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>              &lt;p id="jiv40" class="MsoNormal"&gt;&lt;font id="qyry" size="4"&gt;My take on REST and SOAP&lt;/font&gt;&lt;/p&gt;  &lt;p id="jiv41" class="MsoNormal"&gt; &lt;/p&gt;  &lt;ol id="jiv43" style="margin-top: 0in;" start="1" type="1"&gt;&lt;li id="jiv44" class="MsoNormal"&gt;Soap supports more RPC      style of architecture where the use of SOAP is to invoke a remote function      carrying in the message the function name and the various parameters. The      RPC is basically a function that is sitting on a remote machine. &lt;/li&gt;&lt;li id="jiv45" class="MsoNormal"&gt;The function has a      specified number of parameters that needs to be provided to make use of      the function. The use of SOAP is  to      make requests to such functions and to get the response back. &lt;/li&gt;&lt;li id="jiv47" class="MsoNormal"&gt;SOAP uses XML to transfer      the data and so it is heavy in size. &lt;/li&gt;&lt;li id="jiv48" class="MsoNormal"&gt;The SOAP message is      cryptic in the sense that it contains a header that wil specify the route,      the info about the message and sometimes the security aspect for the      message&lt;/li&gt;&lt;li id="jiv49" class="MsoNormal"&gt;The SOAP message is      difficult to create without the tools. So these days the langusgaes      provide the library functions which will create the SOAP message&lt;/li&gt;&lt;li id="jiv410" class="MsoNormal"&gt;The SOAP is generally sent      using HTTP but other protocols are also valid like Java Message service&lt;/li&gt;&lt;li id="jiv411" class="MsoNormal"&gt;SOAP is very function (verb      ) centric. The way you get the things done is by calling a function so to      get the stock prices you will call a function (web method: A webservice      will have number of methods) getstock(GE)&lt;/li&gt;&lt;/ol&gt;  &lt;p id="jiv412" class="MsoNormal" style="margin-left: 0.5in;"&gt;Now the function will calculate the price and send it back to you&lt;/p&gt;  &lt;p id="jiv413" class="MsoNormal" style="margin-left: 0.5in;"&gt;You must know the names of the function and the way it is going to use the parameters. For that you need to get the WSDL file which is very cryptic.&lt;/p&gt;  &lt;p id="jiv414" class="MsoNormal" style="margin-left: 0.5in;"&gt; &lt;/p&gt;  &lt;ol id="jiv416" style="margin-top: 0in;" start="8" type="1"&gt;&lt;li id="jiv417" class="MsoNormal"&gt;SOAP syntax is not user      friendly and human readable&lt;/li&gt;&lt;li id="jiv418" class="MsoNormal"&gt;When SOAP makes the http      request its difficult to find out which http method it is actually going      to use.&lt;/li&gt;&lt;/ol&gt;  &lt;p id="jiv419" class="MsoNormal" style="margin-left: 0.5in;"&gt; &lt;/p&gt;  &lt;p id="jiv421" class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;b id="jiv422"&gt;REST&lt;/b&gt;&lt;/p&gt;  &lt;p id="jiv424" class="MsoNormal" style="margin-left: 0.5in;"&gt; &lt;/p&gt;  &lt;p id="jiv426" class="MsoNormal" style="margin-left: 0.5in;"&gt;In case of rest the functions are fixed it will be get, put, post and delete. You will mention the name of the stock directly while making the request (each object will have a different URI) so &lt;a id="jiv427" href="http://www.stockprice/category/stock/GE"&gt;www.stockprice/category/stock/GE&lt;/a&gt;&lt;/p&gt;  &lt;p id="jiv428" class="MsoNormal" style="margin-left: 0.5in;"&gt;In this case the description of how to make the call is very simple and its intuitive. &lt;/p&gt;  &lt;p id="jiv429" class="MsoNormal" style="margin-left: 0.5in;"&gt;No extra tool is required, The call is very simple.&lt;/p&gt;  &lt;p id="jiv430" class="MsoNormal" style="margin-left: 0.5in;"&gt;REST is only for http since it uses the protocols methods GET, PUT(Update), POST (create), DELETE. This is good since the user don’t have to find out which method will be used for a specific purpose. Its basically service_name/noun so Stock is a service and GE is the noun&lt;/p&gt;              &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6387562805355657505?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6387562805355657505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6387562805355657505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6387562805355657505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6387562805355657505'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/08/my-take-on-rest-and-soap-soap-supports.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5866811511908676661</id><published>2008-05-13T00:15:00.000-07:00</published><updated>2008-08-02T20:12:49.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><title type='text'></title><content type='html'>&lt;font id="orhn0" size="4"&gt;&lt;span id="orhn1"&gt;&lt;b&gt;Password validator in flex 3&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;br id="gz_a0"&gt;&lt;br id="m8yt0"&gt;&lt;br id="m8yt1"&gt;&lt;span id="orhn2"&gt;&lt;b&gt;create a validator  PwdValidator.as &lt;/b&gt;&lt;/span&gt;&lt;br id="m8yt2"&gt;&lt;br id="gz_a1"&gt;package valueObjects&lt;br id="gz_a2"&gt;&lt;br id="gz_a3"&gt;{&lt;br id="gz_a4"&gt;    import mx.validators.ValidationResult;&lt;br id="gz_a5"&gt;    import mx.validators.Validator;&lt;br id="gz_a6"&gt;&lt;br id="gz_a7"&gt;    public class PwdValidator extends Validator {&lt;br id="gz_a8"&gt;&lt;br id="gz_a9"&gt;        // Define Array for the return value of doValidation().&lt;br id="gz_a10"&gt;        private var results:Array;&lt;br id="gz_a11"&gt;       // this will help in getting the status&lt;br id="uyet0"&gt;        public static var VALID:Boolean = true;&lt;br id="gz_a12"&gt;        &lt;br id="gz_a13"&gt;&lt;br id="gz_a14"&gt;        // Constructor.&lt;br id="gz_a15"&gt;        public function PwdValidator() {&lt;br id="gz_a16"&gt;            // Call base class constructor.&lt;br id="gz_a17"&gt;            super();&lt;br id="gz_a18"&gt;            &lt;br id="gz_a19"&gt;          &lt;br id="gz_a20"&gt;        }&lt;br id="gz_a21"&gt;&lt;br id="gz_a22"&gt;        // Define the doValidation() method.&lt;br id="gz_a23"&gt;        override protected function doValidation(value:Object):Array {&lt;br id="gz_a24"&gt;            //var pwd: Password = value as Password;&lt;br id="gz_a25"&gt;                        var p1: String = value.first;&lt;br id="gz_a26"&gt;                        var p2: String = value.second;&lt;br id="gz_a27"&gt;&lt;br id="gz_a28"&gt;                        results = [];&lt;br id="gz_a29"&gt;                        results = super.doValidation(value);&lt;br id="gz_a30"&gt;            &lt;br id="gz_a31"&gt;&lt;br id="gz_a32"&gt;                        if(p1 == p2)&lt;br id="gz_a33"&gt;                        {&lt;br id="gz_a34"&gt;                            VALID=true;&lt;br id="gz_a35"&gt;                                return results;&lt;br id="gz_a36"&gt;                        }&lt;br id="gz_a37"&gt;                        else&lt;br id="gz_a38"&gt;                        {&lt;br id="gz_a39"&gt;                                results.push(new ValidationResult(true, null, "Mismatch",&lt;br id="gz_a40"&gt;                    "Password Dosen't match Retype!"));&lt;br id="gz_a41"&gt;                                VALID=false;&lt;br id="gz_a42"&gt;                                return results;&lt;br id="gz_a43"&gt;                        }&lt;br id="gz_a44"&gt;        }&lt;br id="gz_a45"&gt;    }&lt;br id="gz_a46"&gt;&lt;br id="gz_a47"&gt;}&lt;br id="orhn3"&gt;&lt;br id="orhn4"&gt;&lt;br id="orhn5"&gt;Now the flex code should  be passing the  value of the password and confirm password  textbox. This is done as&lt;br id="orhn6"&gt;&lt;br id="orhn7"&gt;&amp;lt;mx:Model id ="pass"&amp;gt;&lt;br id="u8dz0"&gt;        &amp;lt;name&amp;gt;&lt;br id="u8dz1"&gt;        &amp;lt;passwords&amp;gt;&lt;br id="u8dz2"&gt;            &lt;br id="u8dz3"&gt;            &amp;lt;first&amp;gt;{txtPassword.text}&amp;lt;/first&amp;gt;&lt;br id="u8dz4"&gt;            &amp;lt;second&amp;gt;{txtConfirmPassword.text}&amp;lt;/second&amp;gt;&lt;br id="u8dz5"&gt;            &lt;br id="u8dz6"&gt;        &amp;lt;/passwords&amp;gt;&lt;br id="u8dz7"&gt;        &amp;lt;/name&amp;gt;&lt;br id="u8dz8"&gt;    &amp;lt;/mx:Model&amp;gt;&lt;br id="u8dz9"&gt;&lt;br id="u8dz10"&gt;// this is the way to pass the multiple controls input to the validator.&lt;br id="u8dz11"&gt;&amp;lt;val:PwdValidator id="custPass" source="{pass}" property="passwords" listener="{txtPassword}"/&amp;gt;&lt;br id="u8dz12"&gt;&lt;br id="u8dz13"&gt;&amp;lt;mx:Form labelWidth="110"&amp;gt;&lt;br id="u8dz14"&gt;      &lt;br id="u8dz26"&gt;        &amp;lt;mx:FormItem required="true" label="Password"&amp;gt;&lt;br id="u8dz27"&gt;        &amp;lt;mx:TextInput id="txtPassword" displayAsPassword="true" /&amp;gt;&lt;br id="u8dz28"&gt;        &amp;lt;/mx:FormItem&amp;gt;&lt;br id="u8dz29"&gt;        &amp;lt;mx:FormItem required="true" label="Confirm Password"&amp;gt;&lt;br id="u8dz30"&gt;        &amp;lt;mx:TextInput id="txtConfirmPassword" displayAsPassword="true" change="custPass.validate()"/&amp;gt;&lt;br id="u8dz31"&gt;        &amp;lt;/mx:FormItem&amp;gt;&lt;br id="u8dz32"&gt;       &lt;br id="u8dz35"&gt;    &amp;lt;/mx:Form&amp;gt;&lt;br id="orhn8"&gt;&lt;br id="orhn9"&gt; &lt;br id="gz_a48"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5866811511908676661?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5866811511908676661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5866811511908676661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5866811511908676661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5866811511908676661'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/05/password-validator-in-flex-3-create.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6289862163600993855</id><published>2008-05-07T23:34:00.000-07:00</published><updated>2008-08-02T20:13:09.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'></title><content type='html'>                        Five best bollywood lines&lt;br id="d4wx0"&gt;&lt;br id="qzgv0"&gt;1. Border : If every soldier leaves the battlefield to serve his family, who is going to fight the enemy&lt;br id="qzgv1"&gt;2. RHTM.. never say i dont eat nonveg, say I have not eaten it since long time&lt;br id="qzgv2"&gt;3. DDLJ: Whats there in Zurich , real europe is countryside.&lt;br id="j3780"&gt;            You can not spend the entire life with your friends, you got to have a beloved&lt;br id="w9t30"&gt;4. Zameen: In our country its illegal to kill stray dogs&lt;br id="w9t31"&gt;5. OSO: Every story has a happy ending, if you think the end is not happy it means the story is incomplete&lt;br id="j3781"&gt;            &lt;br id="qzgv3"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6289862163600993855?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6289862163600993855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6289862163600993855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6289862163600993855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6289862163600993855'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/05/five-best-bollywood-lines-1.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-7364773103866952570</id><published>2008-05-03T23:58:00.000-07:00</published><updated>2008-08-02T20:13:19.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'></title><content type='html'>            New Book on Web 2.0&lt;br id="vafg1"&gt;&lt;div id="v70z" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span id="vafg0"&gt;&lt;b id="xrj20"&gt;&lt;br id="vafg2"&gt;&lt;/b&gt;&lt;div id="z87u" style="padding: 1em 0pt; text-align: center;"&gt;&lt;img id="y48k0" style="width: 240px; height: 240px;" src="http://docs.google.com/File?id=dcw4k68n_134d875rvcs_b"&gt;&lt;/div&gt;&lt;br id="vafg3"&gt;&lt;/span&gt;&lt;br id="vafg4"&gt;A must read book. The author has explained the Web 2.0 philosophy in a very intuitive way. He talks about how to monetize the websites at the same time attract the users by giving them &lt;br id="o-ms3"&gt;some free services. He calls this as Freemium. &lt;br id="o-ms4"&gt;The book discusses the success stories of Flickr, Facebook,Linkedin, google. The basis of all the success story is the rich user base.All of them have followed the long trail concept by reaching out to the masses rather than concentrating to a niche segment " Every buck counts".&lt;br id="s.0w0"&gt;Since the book talks about the sites which we commonly use it is easy to realize the concepts since we are the part of the revolution happening around the particular site.&lt;br id="l.2v0"&gt;&lt;br id="pnw60"&gt;I would highly recommend this book to anybody who wants to find out what is this web 2.0 business all about.&lt;br id="s.0w1"&gt;&lt;br id="o-ms5"&gt;&lt;/div&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-7364773103866952570?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/7364773103866952570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=7364773103866952570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/7364773103866952570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/7364773103866952570'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/05/new-book-on-web-2.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5382275672040557112</id><published>2008-04-19T01:31:00.000-07:00</published><updated>2008-04-19T01:32:54.433-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;span id="e7:v"&gt;&lt;b&gt;How to create XMLListCollection from XML in flex 3&lt;/b&gt;&lt;/span&gt;&lt;br id="o6t5"&gt;&lt;br id="glpi"&gt;There are times when the data that you obtain is in the form of XML or a string that contains XML tags. For displaying the data in datagrid, list, trees we desire to convert the data in the XMLListCollection. We need to perform the following steps to get the XMLListCollection.&lt;br id="dq6z"&gt;&lt;br id="l676"&gt;1. Lets assume that we want to convert the following string to the XMLListCollection&lt;br id="a_i4"&gt;&lt;br id="aduf"&gt;&lt;span id="q9_9" style="font-family: Courier New;"&gt;var xmlStr:String="&amp;lt;root&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="qhlp"&gt;&lt;span id="khls" style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="m:l6"&gt;&lt;span id="vk_0" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Rohit&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ejj7"&gt;&lt;span id="xwfd" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Agarwal&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="kt0m"&gt;&lt;span id="c28e" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5551234&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ajum"&gt;&lt;span id="xe8t" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;24&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="t7um"&gt;&lt;span id="e6na" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="m.7:"&gt;&lt;span id="m:.." style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="u9g3"&gt;&lt;span id="wdfo" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Richa&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="dygn"&gt;&lt;span id="r_nu" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Mittal&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="wcoz"&gt;&lt;span id="ltzk" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5552341&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="hkwf"&gt;&lt;span id="e21c" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;23&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="wn4b"&gt;&lt;span id="eirk" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="thld"&gt;&lt;span id="hna0" style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="l7ea"&gt;&lt;span id="kd2s" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Puneet&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="a21k"&gt;&lt;span id="dv9o" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Jain&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ddv8"&gt;&lt;span id="i4ro" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5553412&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ormr"&gt;&lt;span id="x1h-" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;23&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="zd5w"&gt;&lt;span id="tykl" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="rre1"&gt;&lt;span id="lm7g" style="font-family: Courier New;"&gt;&amp;lt;/root&amp;gt;";&lt;br id="ml_o"&gt;&lt;br id="dyhf"&gt;2. &lt;font id="gn8z" face="Verdana"&gt;Convert the string to XML &lt;br id="qe:3"&gt;&lt;span id="jvt3" style="font-family: Courier New;"&gt;&lt;br id="bqru"&gt;private var pat:XML ; &lt;/span&gt;&lt;br style="font-family: Courier New;" id="kymw"&gt;&lt;span id="u:ai" style="font-family: Courier New;"&gt;pat=new XML(xmlstr);&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ufvo"&gt;&lt;br style="font-family: Courier New;" id="fa0o"&gt;3. Convert the XML to XMLList. We want to have individual persons as seperate XML objects&lt;br id="jv9j"&gt;&lt;br id="yegr"&gt;&lt;span id="a-je" style="font-family: Courier New;"&gt;private var patList:XMLList;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="bktk"&gt;&lt;span id="efl2" style="font-family: Courier New;"&gt;patList = pat.person;&lt;/span&gt;&lt;br id="u:21"&gt;&lt;br id="o-7g"&gt;4. Convert the XMLList to XMLListCollection &lt;br id="qcwn"&gt;&lt;br id="f0sc"&gt;&lt;span id="x9kh" style="font-family: Courier New;"&gt;[Bindable]&lt;/span&gt;&lt;br style="font-family: Courier New;" id="a5k-"&gt;&lt;span id="nx3j" style="font-family: Courier New;"&gt; private var patListCol:XMLListCollection;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="xium"&gt;&lt;span id="dd-l" style="font-family: Courier New;"&gt; patListCol = new XMLListCollection(patList);&lt;br id="euf6"&gt;&lt;br id="zc29"&gt;&lt;span id="kodn" style="font-family: Verdana;"&gt;In this way the XMLListCollection is created from the XML&lt;/span&gt;&lt;br style="font-family: Courier New;" id="w2t9"&gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="zab:"&gt;&lt;br id="c2t."&gt;&lt;/font&gt;&lt;/span&gt;&lt;br id="u1e-"&gt;&lt;br id="xe8l"&gt;&lt;br id="m5ib"&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5382275672040557112?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5382275672040557112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5382275672040557112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5382275672040557112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5382275672040557112'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/04/how-to-create-xmllistcollection-from.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6449219863272848747</id><published>2008-04-19T01:20:00.000-07:00</published><updated>2008-04-19T01:24:12.449-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;span id="afqo"&gt;&lt;b&gt;How to convert a XML to ArrayCollection in Flex&lt;br id="v356"&gt;&lt;br id="k6.7"&gt;&lt;/b&gt;&lt;b id="w7k6"&gt;&lt;b&gt;I wanted to use AdvancedDataGrid control of Flex 3, for which the best way to represent data is in the form of an ArrayCollection. The problem was that the data available to me was in the form of an string(XML serialized as string) and not objects. So I wanted to convert the XML to ArrayCollection.&lt;br id="gzte"&gt;&lt;br id="dxzi"&gt;Steps&lt;br id="fd41" style="font-weight: bold;"&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt; 1. The following is the string that I wanted to convert:&lt;br id="ccj1"&gt;&lt;br id="haxi"&gt;&lt;span id="q9_9" style="font-family: Courier New;"&gt;var xmlStr:String="&amp;lt;root&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="qhlp"&gt;&lt;span id="khls" style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="m:l6"&gt;&lt;span id="vk_0" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Rohit&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ejj7"&gt;&lt;span id="xwfd" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Agarwal&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="kt0m"&gt;&lt;span id="c28e" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5551234&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ajum"&gt;&lt;span id="xe8t" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;24&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="t7um"&gt;&lt;span id="e6na" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="m.7:"&gt;&lt;span id="m:.." style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="u9g3"&gt;&lt;span id="wdfo" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Richa&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="dygn"&gt;&lt;span id="r_nu" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Mittal&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="wcoz"&gt;&lt;span id="ltzk" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5552341&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="hkwf"&gt;&lt;span id="e21c" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;23&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="wn4b"&gt;&lt;span id="eirk" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="thld"&gt;&lt;span id="hna0" style="font-family: Courier New;"&gt;&amp;lt;person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="l7ea"&gt;&lt;span id="kd2s" style="font-family: Courier New;"&gt;&amp;lt;name&amp;gt;Puneet&amp;lt;/name&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="a21k"&gt;&lt;span id="dv9o" style="font-family: Courier New;"&gt;&amp;lt;surname&amp;gt;Jain&amp;lt;/surname&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ddv8"&gt;&lt;span id="i4ro" style="font-family: Courier New;"&gt;&amp;lt;phone&amp;gt;5553412&amp;lt;/phone&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="ormr"&gt;&lt;span id="x1h-" style="font-family: Courier New;"&gt;&amp;lt;age&amp;gt;23&amp;lt;/age&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="zd5w"&gt;&lt;span id="tykl" style="font-family: Courier New;"&gt;&amp;lt;/person&amp;gt;&lt;/span&gt;&lt;br style="font-family: Courier New;" id="rre1"&gt;&lt;span id="lm7g" style="font-family: Courier New;"&gt;&amp;lt;/root&amp;gt;";&lt;/span&gt;&lt;br id="un6e"&gt;&lt;br id="pmur"&gt;2. Convert the string to XMLDocument&lt;br id="xmwu"&gt;&lt;span id="c41e" style="font-family: Courier New;"&gt;&lt;br id="p6vy"&gt;var xmlDoc:XMLDocument = new XMLDocument(xmlStr);&lt;/span&gt;&lt;br style="font-family: Courier New;" id="f1ei"&gt;&lt;br id="odgx"&gt;3. Convert the XMLDocument to object by using SimpleXMLDecoder&lt;br id="i0.n"&gt;&lt;br id="m4k1"&gt;&lt;span id="hp4v" style="font-family: Courier New;"&gt;var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);&lt;/span&gt;&lt;br style="font-family: Courier New;" id="of5m"&gt;&lt;span id="j73." style="font-family: Courier New;"&gt;var resultObj:Object = decoder.decodeXML(xmlDoc);&lt;/span&gt;&lt;br style="font-family: Courier New;" id="oksz"&gt;&lt;span id="z1gb" style="font-family: Courier New;"&gt;&lt;br id="j58p"&gt;&lt;/span&gt;4.  Declare an ArrayCollection &lt;br id="bopw"&gt;&lt;span id="pxh0" style="font-family: Courier New;"&gt;[Bindable]&lt;/span&gt;&lt;br style="font-family: Courier New;" id="uhl6"&gt;&lt;span id="bys2" style="font-family: Courier New;"&gt; private var patArrayListCollection:ArrayCollection = new ArrayCollection();&lt;/span&gt;&lt;br id="c_ms"&gt;&lt;br id="v842"&gt;5. Add the&lt;span id="g3pi" style="font-family: Courier New;"&gt; resultobj &lt;/span&gt;to the ArrayCollection&lt;br id="bh:1"&gt;&lt;br id="vecf"&gt;&lt;span id="l1.4" style="font-family: Courier New;"&gt;  patArrayListCollection.addItem(resultObj.root.person);&lt;br id="vkor"&gt;&lt;br id="gef9"&gt;&lt;font id="iirf" face="Verdana"&gt;The important thing to note here is the composition of the patArrayListCollection is in the form &lt;br id="f0b6"&gt;[0] --main object&lt;br id="sxrc"&gt;    [0]-sub object 1&lt;br id="mlar"&gt;    [1]-subobject 2&lt;br id="zjwy"&gt;    [2]-subobject 3&lt;br id="ny_2"&gt;    &lt;br id="j-4d"&gt;This is not in a form that we require to make it a data provider for the AdvancedDataGrid. The Grid requires the ArrayCollection to have &lt;br id="rzcu"&gt;objects in the form&lt;br id="r3vm"&gt;&lt;/font&gt;&lt;/span&gt;&lt;span id="l1.4" style="font-family: Courier New;"&gt;&lt;font id="iirf" face="Verdana"&gt;    [0]-object 1&lt;br id="mlar"&gt;     [1]-object 2&lt;br id="zjwy"&gt;     [2]-object 3&lt;/font&gt;&lt;/span&gt;&lt;br id="c-bb"&gt;&lt;span id="l1.4" style="font-family: Courier New;"&gt;&lt;font id="iirf" face="Verdana"&gt;&lt;br id="p..e"&gt;So to get this form the following step is done &lt;br id="r.7:"&gt;&lt;br id="dmcb"&gt;6. &lt;span id="g6:a" style="font-family: Courier New;"&gt;var tempArray:ArrayCollection=patArrayListCollection.getItemAt(0)as ArrayCollection; &lt;br id="l9e2"&gt;&lt;br id="aze5"&gt;7.&lt;span id="m7a1" style="font-family: Verdana;"&gt; Finally assign tempArray to the AdvancedDataGrid&lt;/span&gt;&lt;br id="pgkx"&gt;myADG.dataProvider=tempArray;&lt;br id="c6m9"&gt;&lt;br id="y3vg"&gt;&lt;br id="bt4q"&gt;&lt;br id="ei4i"&gt;&lt;br id="v15e"&gt;&lt;br id="r8pw"&gt;&lt;br id="ijdn"&gt;&lt;/span&gt;&lt;/font&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6449219863272848747?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6449219863272848747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6449219863272848747' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6449219863272848747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6449219863272848747'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/04/how-to-convert-xml-to-arraycollection.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-2111109962017637130</id><published>2008-04-13T00:24:00.000-07:00</published><updated>2008-04-13T00:26:14.374-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;span id="i0-3"&gt;&lt;b&gt;ActionScript Error #2148&lt;/b&gt;&lt;/span&gt;:&lt;br id="g3s4"&gt; &lt;b id="zl7y"&gt;SecurityError: Error #2148: SWF file file:///C:/Documents and Settings/UserProfile/Desktop/flexstore/bin-release/flexstore.swf cannot access local resource myFile.swf. Only local-with-filesystem and trusted local SWF files may access local resources.&lt;br id="rqum"&gt;&lt;br id="myei"&gt;&lt;br id="set3"&gt; &lt;span id="tcal"&gt;This runtime error is thrown in Flex 3 if some where in the application you are trying to do a httpservice and use a resource from the local folder.&lt;/span&gt;&lt;br id="vx3k"&gt;&amp;lt;mx:HTTPService id="fillTreeByCatRPC" url="categories.xml" resultFormat="e4x" /&amp;gt;&lt;br id="acuj"&gt;&lt;br id="n_4v"&gt;&lt;span id="xvo."&gt;I have seen this error only in Flex 3, Flex 2 never gave this error.&lt;/span&gt;&lt;br style="font-weight: normal;" id="gqkw"&gt;&lt;br id="sy:8"&gt;&lt;span id="uc9x"&gt;I did some google and found some solutions. Almost all the solutions suggests that one should change the flex compiler settings. &lt;/span&gt;&lt;br id="ocqc"&gt;&lt;/b&gt;    &lt;br id="kojb"&gt;    "add these arguments to the compiler (via Properties - Flex Compiler) : -use-network=false "  &lt;a title="http://curtismorley.com/2007/08/31/flash-cs3-flex-2-as3-error-2148/#comment-3714" href="http://curtismorley.com/2007/08/31/flash-cs3-flex-2-as3-error-2148/#comment-3714" id="mbxn"&gt;http://curtismorley.com/2007/08/31/flash-cs3-flex-2-as3-error-2148/#comment-3714&lt;/a&gt; &lt;br id="wy48"&gt;&lt;br id="yoru"&gt;The problem with this solution is that once the settings are changed then the application will not be able to read any remote resource. so the below request will fail&lt;br id="djon"&gt;&lt;b id="zl7y"&gt;&amp;lt;mx:HTTPService id="fillTreeByCatRPC" url="http://www.resources.com/categories.xml" resultFormat="e4x" /&amp;gt; &lt;br id="h2rf"&gt;&lt;br id="n:gu"&gt;&lt;span id="xp4a"&gt;After doing further searches on Internet, I found that it is the setting problems of the flash player that cause the problem. Basically one needs to set the security settings of the flash player so that it allows the swf file to access the resources on the local system. This is done by visiting the following page&lt;/span&gt;&lt;br id="qd0l"&gt;&lt;a title="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html" href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html" id="r1_0"&gt;http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html&lt;/a&gt; &lt;br id="jvzb"&gt;&lt;br id="piff"&gt;Make sure that the Global security settings are set to&lt;span id="nswe"&gt;&lt;i&gt; Always Allow&lt;br id="jh1w"&gt;&lt;br id="i51v"&gt;&lt;/i&gt;&lt;/span&gt;&lt;span id="b2hb"&gt;The following screenshot is what we are looking for&lt;br id="oz6x"&gt;&lt;/span&gt;&lt;/b&gt;&lt;img id="iw_9" alt=""&gt;&lt;div id="stks" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img id="ycd6" style="width: 441px; height: 291px;" src="http://docs.google.com/File?id=dcw4k68n_117ffb5p9fb_b"&gt;&lt;/div&gt;Once the settings has been done, Restart the browser and Flex 3 IDE&lt;br id="gb9:"&gt;&lt;br id="jrty"&gt;In all probability the error is gone.&lt;br id="mlwo"&gt;&lt;b id="zl7y"&gt;&lt;br id="v185"&gt;&lt;/b&gt;            &lt;br id="f5ah"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-2111109962017637130?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/2111109962017637130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=2111109962017637130' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2111109962017637130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/2111109962017637130'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/04/actionscript-error-2148-securityerror.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-217667910613685361</id><published>2008-03-09T21:39:00.000-07:00</published><updated>2008-04-13T00:26:14.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 16pt;"&gt;Customized event in Flex 2&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Events are a way of sharing data between two components. Events also acts as a asynchronous message suggesting that  some input has arrived to the receiver of the event. For e.g. when a person clicks on the button control the event click is generated signifying that a user input in the form of a click has occurred. Once the event has occurred we need to take some action like on button click display the “hello world” in a text box. The action that we take is known as handling of the event. Or in other words we need to specify the even handler. Event handler is a function that specifies what needs to be done on that particular event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The following code snippet makes it clear&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Application xmlns:mx=="http://www.adobe.com/2006/mxml"&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;layout="vertical"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;//Event handler for the button click function&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function buttonEventHandler(evt:Event):void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;taTest.text="Hello World";&lt;/font&gt;                                  &lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                 &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Button id="btTest" label="Click Me" click="buttonEventHandler(event)" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;   &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextArea id="taTest" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Application&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;buttonEventHandler&lt;/span&gt; is the event handler that will be called when the button is clicked. One salient point to note is the argument passed in the handler. We pass the object of type Event i.e event. The object “event” is always available in the application and we need to use it at the time of calling an event handler.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Sometimes it happens that we need to transfer some data between the two components.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For e.g. there may be a component which is responsible to get the data from the server using a &lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;httprequestserver&lt;/span&gt;. Component populates the data in a collection and now wants to send to another component which implements the list or data grid to display the information to the end user. The events are the way through which this can be done. The catch here is that the event thrown by one component should be available in the other component. So the component1 when it is done with populating the collection will throw an event indicating which needs to be handled in the component2 responsible to display the collection in the datagrid. It happens because of the way the events are transmitted from the component to the Application. Before getting into the transmission concept we need to understand one more concept known as event listener. Event Listener signifies that the  component wants to receive a particular event and so it wants to register itself as one of the recipients. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;We use the function &lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;addEventListener(event name , event handler)&lt;/span&gt; to do that. Now you must be wondering that the above button code did not had any such function call then how were we able to handle the event. The simple answer is that the event that we talked about was provided by the flex framework and so every component has got an implicit event listener for such events.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;But the events that we are now going to see are the one that user has created himself (customized events). The customized events are used to transfer the data. These are created by the users and so the components will not be aware of them. Event Listener explicitly registers the component to listen to these customized events.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: blue;"&gt;HOW TO WRITE A CUSTOMIZED EVENT&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are 3 stages in order t use a customized event&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. Create customized event&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. Dispatch the customized event&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3. Listen the customized event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Create Stage&lt;p&gt;&lt;/p&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Let us see how we actually write a customized event. We are just discussing the salient points here which are required to write a customized event. Syntactical and theoretical details are well covered in the Adobe documents.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Customized event can be declared by writing a class that inherits from Event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;package controls&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import flash.events.Event;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public class ItemAddedEvent extends Event&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;var itemDescription:String; //an item to be added to the cart&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public static const ITEMADDEDEVENT:String ="ItemAddedEvent";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public function ItemAddedEvent(description:String)&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;super(ITEMADDEDEVENT,true,true);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;itemDescription=description;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;override public function clone():Event{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;return new ItemAddedEvent(itemDescription);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;These are the steps that need to follow for defining any customized event&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. The class has to extend Event&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. Declare what ever data type you want to transfer by this event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;var itemDescription:String; //an item to be added to the cart&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3.  One can give a name to the event for easy reference. In our case it is ITEMADDEDEVENT. We can give multiple names to the same event. This is required when we want to use the same event in different places. For e.g. in a shopping cart application we need to perform add item to cart, delete item from the cart and update the quantity of the item in the cart. In all the operations the same item type data is required to be passed. So we can define a single customized class that favors for the transfer of a item type data. But the same event class can be used for all the 3 functions. We will give 3 names so that we remember for what all purpose we are calling this class. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;public static const ADD:String = "addtocart";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;public static const REMOVE:String = "removefromcart";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;public static const UPDATE:String = "updatecart";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;4. In the Constructor we need to call super(). The parameters required to be passed are the type of the event (ADD,REMOVE,UPDATE) and the optional parameters specifying the properties of the event. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Super(type, isbubble,iscancellable)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The second argument signifies whether the event is allowed to bubble. i.e. an event thrown by a component is allowed to be listened by the components that are up in the hierarchy.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;5. clone() . This is required as per the Adobe document. We need to override the clone function and in the body just instantiate the customized event and return the object so created. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;override public function clone():Event&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;return new ItemAddedEvent(itemDescription);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;That is all to be done for a creation of an event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Dispatch stage:&lt;p&gt;&lt;/p&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The event is thrown by the component in this stage. There is a well defined procedure to be followed to do that.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lets take an example and do that&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;   &lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;span style="color: blue;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;[Event(name="addItemEvent", type="controls.ItemAddedEvent")]&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Label&lt;/font&gt;  &lt;font size="1"&gt;text="Item name:"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextInput id="enteredItem"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Button width="104" height="28" cornerRadius="10" fillColors="[#00ff00, #00B000]" label="Add Item" fontSize="12" click="greenClickEventHandler()"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import controls.ItemAddedEvent;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;          &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function greenClickEventHandler():void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;trace("Ouch! I got clicked! Let me tell this to the world.");&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// throws the event and the passes the string to the customized event object&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;              &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;dispatchEvent(new ItemAddedEvent(enteredItem.text)); // passing the string&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;   &lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;p&gt;In the example&lt;br&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;[Event(name="addItemEvent", type="controls.ItemAddedEvent")]&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;/mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The metadata section is an optional section that tells that these are the events this component is going to dispatch. It is more for giving the information to the developer that this particular code dispatches some event. This is useful since the other components by looking at the metadata section can find out the events they can listen to.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We give the name of the event &lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;(addItemEvent&lt;/span&gt;) and the location of the class (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;controls.ItemAddedEvent&lt;/span&gt;). Note we could have also given ITEMADDEDEVENT in place of addItemEvent.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;p&gt;  &lt;/p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;          &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function greenClickEventHandler():void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;trace("Ouch! I got clicked! Let me tell this to the world.");&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// throws the event and the passes the string to the customized event object&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;              &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;dispatchEvent(new ItemAddedEvent(enteredItem.text)); // passing the string&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When the greenClickEventHandler() is getting called on the click event the component is calling the dispatchEvent function. By calling this function the component is actually throwing the customized event. The dispatchEvent function requires the object of the Customized event class as an argument. So essentially we have passed the data structure (in this case string) to the event. This data will be available to all the component who will listen to this event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Listening&lt;p&gt;&lt;/p&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is the process of registering for the event. The component has to explicitly tell the application that it wants to get the event thrown by the other component and handle the data that is also being passed along with the event. This is done with the help of &lt;span style=" font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&lt;font size="2"&gt;addEventListener &lt;/font&gt;&lt;/span&gt; function. The next section will make this concept clearer. For now we can assume that the function allows the component to receive the event and then handle it.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;For e.g.&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Component called &lt;/p&gt;  &lt;p class="MsoNormal"&gt;     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;addEventListener(ItemAddedEvent.ITEMADDEDEVENT,addItemtoCartEventHandler);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;to register the event and tell which handler function to call&lt;/p&gt;    &lt;p class="MsoNormal"&gt;                                                 &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;       &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function addItemtoCartEventHandler(event:ItemAddedEvent):void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;           &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;sample.text+="yes a book has been added"+ event.itemDescription;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;                                  &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;font size="1"&gt;&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In the event handler pass an object (event:ItemAddedEvent) of the customized event class type and then use the data  passed through the event using the object passed in the argument.(event.itemDescription) &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now the final step is to instantiate the component that will generate the event which is &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;controls:newlargebutton /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;The way it will work is &lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;Instantiate&lt;/font&gt;&lt;/span&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt; ----:comp1 will throw the customized event on click&lt;/font&gt;&lt;/span&gt;&lt;span style=" font-family: Wingdings; color: blue;"&gt;----:&lt;/span&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt; comp2 will listen to it and call its event handler&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now lets get into the intricacies of how the events are propagated between the components.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In Flex in order to use any component, that component must be instantiated in the application(the application tag). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;comp 1&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;comp 2&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;…&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;comp n&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;/mx:Application&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The Application is the root of all the components. So if make a hierarchy tree it will look like&lt;/p&gt;    &lt;p class="MsoNormal"&gt;    &amp;lt;Application&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|                      |&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;Comp1&amp;gt;        &amp;lt;comp2&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So we can say that Application is the parent node of comp1 and comp2&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Again there can be a situation where we instantiate a component inside another component. Like &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;hbox&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;list&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;button&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;hbox&amp;gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;so list and button are getting instantiated in hbox&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;so in these cases the hierarchy tree will look like&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;Application&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;comp1&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;comp2&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;But in this case also &amp;lt;application&amp;gt; is related to comp2 in a ancestral relationship.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We need to understand this point because of the nature of event propagation. When any component generates an event it can be listened by all the components that are higher in the hierarchy. So an event generated by comp2 can be listened by comp1 and the Application. This means comp1 can have an event listener to register for the event generated by comp2, similar is the case with Application.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So if comp2 has to send any data to comp1, it will simply generate an event which will send the data to the comp1 which would be listening for this event.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There may be a situation where the components are not in the direct hierarchy but are in a sibling relation&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;Application&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|                       |&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;comp1&amp;gt;         &amp;lt;comp2&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now an event produced by comp2 will be easily listened by Application, but not by the comp1. But comp2 wanted to make comp1 listen to the event. Now events that are listened by the parent can be listened by the children also through following command&lt;/p&gt;  &lt;p class="MsoNormal"&gt;parent.addEventListener(event type,event handler)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This means that comp1 can listen to the events that reaches upto the parent. So the event sent by comp2 reaches Appication. Now this event can be heard by the comp1. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So in order to pass the events from one component to another one has to look at the way they are related to each other and depending on that call the addEventListener().&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lets look at some of the examples for understanding the concepts&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;E.g.1  There are two components related to each other in a parent child relationship. Comp1: It’s a VBOX containing a button and a textbox. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Comp2: A VBOX containing TextArea&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now the requirement is that in comp1 what ever is entered in textbox should be displayed in Comp2 textarea on the button click. So basically we want to send text string from comp1 to comp2. This is a classical situation where we will write a customized event to transfer the string between the two components.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The way we have arranged the components in the implementation is&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;Application&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;comp2&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;|&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&amp;lt;comp1&amp;gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;so addeventlistener will be called without parent prefix in comp1 &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Custom Event class (ItemAddedEvent.as)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;package controls&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import flash.events.Event;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public class ItemAddedEvent extends Event&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;var itemDescription:String; //an item to be added to the cart&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public static const ITEMADDEDEVENT:String ="ItemAddedEvent";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public function ItemAddedEvent(description:String)&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;super(ITEMADDEDEVENT,true,true);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;itemDescription=description;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;override public function clone():Event{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;return new ItemAddedEvent(itemDescription);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Comp1 (newlargebutton.mxml)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;[Event(name="addItemEvent", type="controls.ItemAddedEvent")]&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Label&lt;/font&gt;  &lt;font size="1"&gt;text="Item name:"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextInput id="enteredItem"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Button width="104" height="28" cornerRadius="10" fillColors="[#00ff00, #00B000]" label="Add Item" fontSize="12" click="greenClickEventHandler()"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import controls.ItemAddedEvent;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;          &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function greenClickEventHandler():void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;trace("Ouch! I got clicked! Let me tell this to the world.");&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// throws the event and the passes the string to the customized event object&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;              &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;dispatchEvent(new ItemAddedEvent(enteredItem.text)); // passing the string&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;   &lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:VBox&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Comp2: (BlindShoppingCart.mxml)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" &lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;xmlns:controls="controls.*"&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt; creationComplete="init()"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import flash.events.Event;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import controls.ItemAddedEvent;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function init():void&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// eventlistener&lt;/font&gt;                                       &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;addEventListener(ItemAddedEvent.ITEMADDEDEVENT,addItemtoCartEventHandler);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function addItemtoCartEventHandler(event:ItemAddedEvent):void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;sample.text+="yes a book has been added"+ event.itemDescription;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;!—instantiated the comp1 -- &amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;controls:newlargebutton addItemEvent="addItemtoCartEventHandler(event)" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextArea id="sample" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:VBox&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Application (greenbutton.mxml)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" &lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;    layout="vertical" &lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;   xmlns:ctrl="controls.*" &amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;ctrl:BlindShoppingCart width="350" height="200" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="2"&gt;&amp;lt;/mx:Application&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;br&gt;&lt;p class="MsoNormal"&gt;&lt;br&gt;&lt;div id="on_v" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 197px; height: 151px;" src="http://docs.google.com/File?id=dcw4k68n_112f8hg67cr"&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;Same example but instead of child parent relation change it to sibling&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;So the instantiation of the comp1 will not happen inside comp2 instead it will happen in the Apllication&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&amp;lt;Application&amp;gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;|                       |&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&amp;lt;comp1&amp;gt;    &amp;lt;comp2&amp;gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;Custom Event class (ItemAddedEvent.as)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;package controls&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import flash.events.Event;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public class ItemAddedEvent extends Event&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;var itemDescription:String; //an item to be added to the cart&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public static const ITEMADDEDEVENT:String ="ItemAddedEvent";&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;public function ItemAddedEvent(description:String)&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;super(ITEMADDEDEVENT,true,true);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;itemDescription=description;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;override public function clone():Event{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;return new ItemAddedEvent(itemDescription);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;Comp1 (newlargebutton.mxml)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;[Event(name="addItemEvent", type="controls.ItemAddedEvent")]&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Metadata&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Label&lt;/font&gt;  &lt;font size="1"&gt;text="Item name:"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextInput id="enteredItem"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Button width="104" height="28" cornerRadius="10" fillColors="[#00ff00, #00B000]" label="Add Item" fontSize="12" &lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;    click="greenClickEventHandler()"/&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import controls.ItemAddedEvent;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;          &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function greenClickEventHandler():void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;trace("Ouch! I got clicked! Let me tell this to the world.");&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;      &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// throws the event and the passes the string to the customized event object&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;              &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;dispatchEvent(new ItemAddedEvent(enteredItem.text)); // passing the string&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;            &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;        &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;   &lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;    &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:VBox&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;Comp2: (BlindShoppingCart.mxml)&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:controls="controls.*" &lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;creationComplete="init()"&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;![CDATA[&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import flash.events.Event;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;import controls.ItemAddedEvent;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function init():void&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;// eventlistener&lt;/font&gt;                                        &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;     &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;/&lt;/font&gt;&lt;span style="background-color: rgb(255, 255, 0);"&gt;/addEventListener(ItemAddedEvent.ITEMADDEDEVENT,addItemtoCartEventHandler); --wont work&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                  &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;parent.addEventListener(ItemAddedEvent.ITEMADDEDEVENT,addItemtoCartEventHandler);&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                  &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;private function addItemtoCartEventHandler(event:ItemAddedEvent):void{&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;sample.text+="yes a book has been added"+ event.itemDescription;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;}&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;]]&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Script&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:TextArea id="sample" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:VBox&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;Application (greenbutton.mxml)&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt; layout="vertical" xmlns:ctrl="controls.*" &amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;               &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;ctrl:newlargebutton width="350" height="82" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;                &lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;ctrl:BlindShoppingCart width="350" /&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=" color: blue;"&gt;&lt;font size="1"&gt;&amp;lt;/mx:Application&amp;gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;font size="2"&gt;In case the parent.addeventListener is not given , the event is not dispatched to the comp2 and so on button click the text in the text are is not written.&lt;/font&gt;&lt;br&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;/p&gt;&lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;div id="rwt4" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 197px; height: 151px;" src="http://docs.google.com/File?id=dcw4k68n_113gkpsjrdt"&gt;&lt;br&gt;&lt;br&gt;&lt;font size="2"&gt;Since in the example we have given parent.addeventListener, so comp1 and interact to comp2 via parent and we get&lt;br&gt;&lt;div id="o:eu" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 197px; height: 151px;" src="http://docs.google.com/File?id=dcw4k68n_114mqr59t3"&gt;&lt;/div&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;  &lt;/p&gt;&lt;br&gt;&lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="font-family: Verdana;" class="MsoNormal"&gt;&lt;br&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br&gt;&lt;span style=" color: blue;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-217667910613685361?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/217667910613685361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=217667910613685361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/217667910613685361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/217667910613685361'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/03/customized-event-in-flex-2-events-are.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5227962946453808744</id><published>2008-03-01T20:01:00.000-08:00</published><updated>2008-04-13T00:26:14.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;b&gt;            Reading remote XML data in Flex&lt;/b&gt;&lt;br&gt;&lt;br&gt;We all know that Flex 2 provides ArrayCollection , XMLListCollection to read XML and consume the data. &lt;br&gt;However in case the XML contains only a single set of Data entries ArrayCollection are not the right solution.&lt;br&gt;Assuming the XML is &lt;br&gt;&amp;lt;dataroot&amp;gt;&lt;br&gt;&amp;lt;Capital&amp;gt;&lt;br&gt;&amp;lt;city&amp;gt;Delhi&amp;lt;/city&amp;gt;&lt;br&gt;&amp;lt;country&amp;gt;India&amp;lt;/country&amp;gt;&lt;br&gt;&amp;lt;/Capital&amp;gt;&lt;br&gt;&amp;lt;/dataroot&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;In order to read this XML you have two ways to do &lt;br&gt;&lt;br&gt;    &amp;lt;mx:HTTPService id="rpcPatHTTP" url="sample.xml" resultFormat="object" result="handlerCapital(event)" /&amp;gt;&lt;br&gt;&lt;br&gt;    &amp;lt;mx:Script&amp;gt;&lt;br&gt;        &amp;lt;![CDATA[&lt;br&gt;    &lt;br&gt;                [Bindable]&lt;br&gt;                   var myAC:ArrayCollection = new ArrayCollection();&lt;br&gt;                 private function handlerCapital(event:ResultEvent):void&lt;br&gt;                {&lt;br&gt;                    myAC = event.result.dataroot.Capital as ArrayCollection&lt;br&gt;                    &lt;br&gt;                    &lt;br&gt;                }&lt;br&gt;           &lt;br&gt;                        ]]&amp;gt;  &lt;br&gt;         &amp;lt;/mx:Script&amp;gt;&lt;br&gt;&lt;br&gt;In the above case if you try to get the length of the myAC ArrayCollection, you will get 0&lt;br&gt;so &lt;br&gt;myAC.length will give 0&lt;br&gt;&lt;br&gt;In such cases you should use the XMLListCollection. So the above example will be rewritten as&lt;br&gt;  &lt;br&gt;&amp;lt;mx:HTTPService id="rpcPatHTTP" url="sample.xml" resultFormat="e4X" result="handlerCapital(event)" /&amp;gt;&lt;br&gt; &lt;br&gt;     &amp;lt;mx:Script&amp;gt;&lt;br&gt;         &amp;lt;![CDATA[&lt;br&gt;     &lt;br&gt;                 [Bindable]&lt;br&gt;                    var myXML:XMLListCollection;&lt;br&gt;                  private function handlerCapital(event:ResultEvent):void&lt;br&gt;                 {&lt;br&gt;                    myXML = new XMLListCollection(event.result.Capital);&lt;br&gt;                                         &lt;br&gt;                 }&lt;br&gt;            &lt;br&gt;                        ]]&amp;gt;  &lt;br&gt;          &amp;lt;/mx:Script&amp;gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;Now if you try to find the length of the collection you will get 1 so myXML.length will give 1, which is correct.&lt;br&gt;&lt;br&gt;So my recommendation is use XMLListCollection over ArrayCollections to store the incoming remote data since you never know the number of entries in the XML file&lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5227962946453808744?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5227962946453808744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5227962946453808744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5227962946453808744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5227962946453808744'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/03/reading-remote-xml-data-in-flex-we-all.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1080500400414328191</id><published>2008-02-16T05:09:00.000-08:00</published><updated>2008-04-13T00:26:14.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;font size="3"&gt;&lt;b&gt;Display Images from remote server in flex2.&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;I had a tough time in finding the resources that give working examples on this topic. Let me set the context of the problem then this discussion will make more sense. &lt;br&gt;There are times when you want to display images from various sources on the internet on your flex page, or you have a image server and you want to display the images from the server on to your page.&lt;br&gt;There are two ways of doing this&lt;br&gt;1. The server has sent you the image in the form of a byte array and you just want to render that byte array on your flex page&lt;br&gt;2. To mention the URL of the image and ask flex to display the image from that URL&lt;br&gt; &lt;font color="#ff0000"&gt;&lt;br&gt;&lt;span style="background-color: rgb(255, 255, 255); font-family: Georgia;"&gt;Note: Only jpg,png,gif and swf files can be displayed.&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font size="3"&gt;&lt;b&gt;Method 1 (byte array)&lt;/b&gt;&lt;br&gt;&lt;/font&gt;&lt;br&gt;This is quite simple. (courtesy &lt;a title="http://www.kineticz.net/blahg/2007/07/26/rending-a-bitmap-from-a-bytearray-in-flash/" href="http://www.kineticz.net/blahg/2007/07/26/rending-a-bitmap-from-a-bytearray-in-flash/" id="lh4h"&gt;http://www.kineticz.net/blahg/2007/07/26/rending-a-bitmap-from-a-bytearray-in-flash/&lt;/a&gt; )&lt;br&gt;&lt;br&gt;I am giving the pieces of the code. Basically Assuming that you have your byte array ready with you from the server. I will explain how to render&lt;br&gt;&lt;br&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;         &amp;lt;mx:Script&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;        &amp;lt;![CDATA[    &lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;        &lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;           private function renderImage():void&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;                var byteLoader:Loader = new Loader();&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;                 byteLoader.loadBytes(Your_Byte_Array_Name);&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;                 imageCanvas.rawChildren.addChild(byteLoader);&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;&amp;lt;/mx:Script&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;&amp;lt;mx:Canvas id="imageCanvas" left="10" top="189" right="528" bottom="10"/&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;br style="font-family: Courier New; font-weight: bold;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;b&gt;&amp;lt;/mx:Application&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;We essentially have to do the following three steps:&lt;br&gt;&lt;b&gt;step1 &lt;/b&gt;: declare an instance of Loader class. &lt;br&gt;&lt;br&gt;               &lt;span style="background-color: rgb(255, 255, 255); font-family: Courier New;"&gt; var byteLoader:Loader = new Loader();&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;step2:&lt;/b&gt; Now load the bytes of the byte array in the loader. This is going to load the bytes in the security context of your application&lt;br&gt;                &lt;span style="background-color: rgb(255, 255, 255); font-family: Courier New;"&gt;byteLoader.loadBytes(your_byte_array);&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;b&gt;step3&lt;/b&gt;: You need to have a canvas control where the image will be displayed so you must have something like&lt;br&gt;            &lt;span style="font-family: Courier New;"&gt;&amp;lt;mx:Canvas id="imageCanvas" left="10" top="189" right="528" bottom="10"/&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;step4&lt;/b&gt;: Finally load the Byte Array in the canvas&lt;br&gt;            &lt;span style="font-family: Courier New;"&gt;  imageCanvas.rawChildren.addChild(byteLoader);&lt;br&gt;&lt;br&gt;&lt;font size="3"&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;Method 2: Directly accessing the images using Image URL&lt;br&gt;&lt;/b&gt;&lt;font size="2"&gt;In this method I will give a sample code that will access the image using the image URL. First I will give the sample implementation and then explain whats need to be done. The code has been taken from &lt;a title="http://onflex.org/flexapps/applications/ProgressiveImageLoading/srcview/index.html" href="http://onflex.org/flexapps/applications/ProgressiveImageLoading/srcview/index.html" id="tf7u"&gt;http://onflex.org/flexapps/applications/ProgressiveImageLoading/srcview/index.html&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;&amp;lt;mx:Application &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    xmlns:mx="http://www.adobe.com/2006/mxml" &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    initialize="appInit()"&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    layout="absolute" &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    viewSourceURL="srcview/index.html"&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    backgroundGradientAlphas="[1.0, 1.0]" &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    backgroundGradientColors="[#FFFFFF, #FFFFFF]"&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;    &lt;br style="font-weight: bold;"&gt;&lt;b&gt;    &amp;lt;mx:Script&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;        &amp;lt;![CDATA[&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;        &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            // Progressive Image Loading&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            import flash.net.URLStream;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            import flash.net.URLRequest;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            import flash.utils.getTimer;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            // loader to hold the loaded bytes&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public var loader:Loader;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            // URLStream to load the image bytes&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public var imageStream:URLStream;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            // ByteArray to hold aggregate image data &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public var imageData:ByteArray;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            // Set up initial conditions when the application initializes            &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public function appInit():void&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            {&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //create a URLStream to load data in. The incoming data will be obtained using URLStream.&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageStream = new URLStream();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //add some event listeners for PROGRESS and COMPLETE. This will help in order to determine when the image download is complete &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageStream.addEventListener( ProgressEvent.PROGRESS , imageStreamProgress );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageStream.addEventListener( Event.COMPLETE , imageStreamComplete );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //create a fresh loader instance&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;              // this is similar to the Method 1 . Only thing is that the byte Array has not been obtained till now.&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                loader = new Loader();                               &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageCanvas.rawChildren.addChild( loader );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            }&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public function imageStreamProgress( event:Event ):void&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            {&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // if there are no bytes do nothing&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                if( imageStream.bytesAvailable == 0 ) return&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // ooo bytes process the image data&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                this.processImageData();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            }&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public function imageStreamComplete( event:Event ):void&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            {&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // if connected, stop that.&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                if ( imageStream.connected ) imageStream.close();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // lets refresh the displayList after rendering cycle&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageCanvas.callLater( this.processImageData );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            }&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public function processImageData():void&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            {&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // if connected, read all the bytes that have been loaded into the aggregate bytearray. The byte Array is filled with the incoming data&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                if ( imageStream.connected ) imageStream.readBytes( imageData , imageData.length );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // clean up the loader&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                loader.unload();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //push the aggregate bytearray of loaded image data in there.&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                loader.loadBytes( imageData );            &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            }&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;            public function loadImage( input:String ):void&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            {&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //if connected we need to stop that&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                if ( imageStream.connected ) imageStream.close();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //lets load a new image url&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageStream.load( new URLRequest( input + '?' + getTimer() ) );&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                // clean out all the crud in that loader&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                loader.unload();    &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;                &lt;br style="font-weight: bold;"&gt;&lt;b&gt;                //create a fresh bytearray to store aggregate image data            &lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;                imageData = new ByteArray();&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;            }&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;            &lt;br style="font-weight: bold;"&gt;&lt;b&gt;        ]]&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    &amp;lt;/mx:Script&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;        &lt;br&gt;    &lt;b&gt;&amp;lt;!-- this is the place that we are accessing the jpg image from our server--&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;    &amp;lt;mx:Button click="loadImage('http://sampleserver/scripts/sample.jpg')" y="10" label="Load sample" x="371" /&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;    &lt;br style="font-weight: bold;"&gt;&lt;b&gt;    &amp;lt;mx:Canvas id="imageCanvas" left="10" top="40" right="10" bottom="10"/&amp;gt;&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;    &lt;br style="font-weight: bold;"&gt;&lt;b&gt;&amp;lt;/mx:Application&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;A rough algorithm&lt;br&gt;&lt;br&gt;1. Create a URLStream to access the remote image URL&lt;br&gt;2. Create a loader object&lt;br&gt;3. Create a byte Array&lt;br&gt;4. Create a canvas or some container where to render the image. Associate the loader object as a child of this canvas&lt;br&gt;5. Listen to the events &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;ProgressEvent.PROGRESS,&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;Event.COMPLETE. These will help in knowing if the download is over or still progressing&lt;br&gt;6. We load the URL to the URLStream&lt;br&gt;7. Clear the loader&lt;br&gt;8. initialize the ByteArray&lt;br&gt;9. Now listen to the events. &lt;br&gt;If the Progress event occurs then&lt;br&gt;10. Read the bytes into the byteArray and then load the bytes to the loader. So we will see the some portion of the image on the client&lt;br&gt;If the Complete Event occurs then &lt;br&gt;11 close the URLStream.&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;            &lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1080500400414328191?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1080500400414328191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1080500400414328191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1080500400414328191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1080500400414328191'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/display-images-from-remote-server-in.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1232250160682903455</id><published>2008-02-10T03:36:00.000-08:00</published><updated>2008-02-10T03:56:34.414-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>Books to read for Ruby on Rails</title><content type='html'>I will suggest the following books to learn ruby on rails&lt;br /&gt;One should first learn ruby since rails is based on this. There are two interesting books I would recommend&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning Ruby, Oreilly Publishers&lt;/span&gt;&lt;br /&gt;The book talks about the syntactical details of Ruby in a simple and practical manner with lots of example&lt;br /&gt;&lt;br /&gt;The other book is&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ruby For Rails,David Black,Manning Publication&lt;/span&gt;&lt;br /&gt;The book explains Ruby as well as Rails. Lot of examples are given so that will help in easy understanding of the topic. The advantage of this book is that its a complete deal it talks about Ruby, Rails and gives an example Rails application.&lt;br /&gt;&lt;br /&gt;For Rails:&lt;br /&gt;1.&lt;span style="font-weight: bold;"&gt; http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html&lt;a href="http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Refer to the above URl. This is like the first guide that every Rails beginner must refer to. The page explains how to install rails, How to write the hello world in rails. It also gives an example to complete the overview of Rails&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Agile Web Development with Rails,second Edition:&lt;/span&gt;&lt;br /&gt;This is the book of Rails. Written by the creator of rails (DHH) himself is the most authenticated account of the Rails framework. Usually the books written by the language creators are little tough to understand e.g. Kernighan &amp;amp;Richie 's C, Bjarne Stroustrup's C++, But this book is very simple to understand. The book talks about the internals of Rails framework and also develops an application. Its a must to read book&lt;br /&gt;&lt;br /&gt;One thing I have noticed in the books that are being written these days, the authors are more inclined towards explaining the practical aspects of the language giving examples rather than just a theoretical overview.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1232250160682903455?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1232250160682903455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1232250160682903455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1232250160682903455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1232250160682903455'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/books-to-read-fro-ruby-on-rails.html' title='Books to read for Ruby on Rails'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6097969376924644430</id><published>2008-02-09T20:31:00.000-08:00</published><updated>2008-02-09T20:33:06.416-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>Logger in rails</title><content type='html'>By default log files are created in the log directory. But if you want to control you logs then you can specify it in the config/environment.rb file&lt;br /&gt;&lt;br /&gt;# Include your application configuration below&lt;br /&gt;#Added to include the logging capability in the code&lt;br /&gt;MY_LOGGER = Logger.new("c:/logging_rail.log")&lt;br /&gt;MY_LOGGER.level = Logger::DEBUG&lt;br /&gt;&lt;br /&gt;From the code use lgger as &lt;br /&gt;MY_LOGGER.info("-----------------------------");&lt;br /&gt;MY_LOGGER.info("INFO: Inside function");&lt;br /&gt;MY_LOGGER.info("INFO: At:"+1.hour.from_now.to_s);&lt;br /&gt;MY_LOGGER.debug("DEBUG:executeQueryByID--queryid:"+params[:queryid]);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6097969376924644430?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6097969376924644430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6097969376924644430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6097969376924644430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6097969376924644430'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/logger-in-rails.html' title='Logger in rails'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-7570981211547901766</id><published>2008-02-08T22:09:00.000-08:00</published><updated>2008-02-09T20:33:39.809-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>  &lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;&lt;b&gt;Web as a platform  --my views&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;br&gt;&lt;span style="font-size: 9.5pt"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;Web2.0 is all about the platform. &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;In layman terms we call OS as a platform , this is because it gives us the necessary support that is required to develop applications and to use them. OS alone is of no use if there are no applications. The popularity of a OS (Windows,Linux) is based on the number of user/system applications it provides and the support it provides to develop new applications. Linux is quite popular among students since it provides vast support for development of applications. Another reason why we want platform is because it allows thousand of users to contribute to the development of new applications without worrying about the low level details of the system. Also the developers of the OS can concentrate on developing the platform while other people can develop the applications which they think are useful. &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;Think it this way If there was no OS then you would be required to perform all the memory management, task scheduling all by yourself. Even a Hello World program could then become a 1 month project !!. In simple words the kinds of application which we can develop now a days in few hours would have taken months.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;Now a days all the current programming paradigms are based on frameworks .NET, J2EE, Ruby on Rails rather than on a particular language specifications. Users first look what all support a particular framework gives in terms of architecture, classes, language and then start using it. The reason why Rails is gaining so much popularity is because of the framework (the richness of the platform it provides) &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;The bottom line is that users want ability to extend the systems rather than just be a dumb user.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;Web2.0 supports this philosophy in a big way. &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;The new websites/web portals are coming with the idea of providing the platform/framework. They provide the user various APIs that help him to develop the applications and plug them in their framework.&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;E.g. facebook. &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; The users are developing mashups that are the result of remixing multiple APIs together to create a new application. The development in web had never been so prominent as it is happening now. Like OS is running various processes which can share some information among themselves, similarly in web the portals can share information in the form on RSS feeds. The web is full of resources : Photos from Flickr, Videos from YouTube, Social Networking APIs from Facebook, Bookmarks from delicious, Storage and Computing power form Amazon, Financial services from Yahoo, Maps from Google and list goes on (This is like the drivers, Communication libraries a typical OS provide) you can use them and come up with wonderful applications.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;The main reason for this success is because when you provide an application rather than a platform you have defined an intended use which has limited use. But when you provide a platform you open the opportunities for developing applications which even you had never thought about before. This is how Facebook has become so popular.Its a win-win situation for the facebook and its users&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent"&gt;&lt;span style="font-size: 9.5pt"&gt;&lt;br&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size: 9.5pt"&gt;1.     &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;The popularity of the facebook is touching sky (Benefit for facebook)&lt;span style="color: red;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size: 9.5pt"&gt;2.     &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;The users can do experiments and come up with really cool applications which the creator may not have thought about. (user are happy so is facebook) &lt;span style="color: red;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size: 9.5pt"&gt;3.     &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;It creates an interest in the tech savvy users to use more and more of the facebook and hence the user faithfulness&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt; (user are happy so is facebook)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-size: 9.5pt"&gt;4.     &lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;Overall it is helping in the growth of the craze for the web. (Most important)&lt;/span&gt;&lt;/p&gt;&lt;br&gt;&lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;I will say that the philosophy of Web2.0 to provide a platform has started the web revolution which is going to change the way the applications were developed forever.&lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;br&gt;&lt;span style="font-size: 9.5pt"&gt;&lt;span style="color: red;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 9.5pt"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-7570981211547901766?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/7570981211547901766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=7570981211547901766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/7570981211547901766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/7570981211547901766'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/web-as-platform-my-views-web2.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-4490520025143405215</id><published>2008-02-03T20:37:00.000-08:00</published><updated>2008-02-04T00:54:11.994-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'></title><content type='html'>&lt;font size="5"&gt;&lt;br&gt;&lt;b&gt;require_gem error&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;span style=" background-color: rgb(255, 0, 0);"&gt;&lt;b&gt;c:/ruby/bin/rake.bat:24: undefined method `require_gem' for main:Object (NoMethodError)&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;I encountered this error when I installed rails version 2.0.2. I wanted to use &lt;br&gt;&lt;div style="margin-left: 40px;"&gt;&lt;b&gt;call rake db:migrate &lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;when I encountered the error &lt;br&gt;"&lt;span style=" background-color: rgb(255, 255, 255);"&gt;&lt;b&gt;c:/ruby/bin/rake.bat:24: undefined method `require_gem' for main:Object (NoMethodError)"&lt;br&gt;&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);"&gt;I was able to remove this error by  following way:&lt;/span&gt;&lt;span style=" background-color: rgb(255, 255, 255);"&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;1. open the rake.bat file. This file is present in the bin folder of ruby. For me the path was c:rubybinrake.bat&lt;br&gt;2. The file will look like the following:&lt;br&gt;&lt;/b&gt;&lt;/span&gt;&lt;div style="margin-left: 80px;"&gt;@echo off&lt;br&gt;if not "%~f0" == "~f0" goto WinNT&lt;br&gt;ruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9&lt;br&gt;goto endofruby&lt;br&gt;:WinNT&lt;br&gt;"%~d0%~p0ruby" -x "%~f0" %*&lt;br&gt;goto endofruby&lt;br&gt;#!/bin/ruby&lt;br&gt;#&lt;br&gt;# This file was generated by RubyGems.&lt;br&gt;#&lt;br&gt;# The application 'rake' is installed as part of a gem, and&lt;br&gt;# this file is here to facilitate running it. &lt;br&gt;#&lt;br&gt;&lt;br&gt;require 'rubygems'&lt;br&gt;version = "&amp;gt; 0"&lt;br&gt;if ARGV.size &amp;gt; 0 &amp;amp;&amp;amp; ARGV[0][0]==95 &amp;amp;&amp;amp; ARGV[0][-1]==95&lt;br&gt;  if Gem::Version.correct?(ARGV[0][1..-2])&lt;br&gt;    version = ARGV[0][1..-2] &lt;br&gt;    ARGV.shift&lt;br&gt;  end&lt;br&gt;end&lt;br&gt;require_gem 'rake', version&lt;br&gt;load 'rake'  &lt;br&gt;&lt;br&gt;__END__&lt;br&gt;:endofruby&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;3. You need to replace the line&lt;br&gt;&lt;div style="margin-left: 40px;"&gt; &lt;b&gt;require_gem 'rake'version&lt;/b&gt; &lt;br&gt;&lt;/div&gt;with &lt;br&gt;&lt;div style="margin-left: 40px;"&gt;&lt;b&gt;gem 'rake',version&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;b&gt;4.  The file rake.bat will now look like&lt;br&gt;&lt;/b&gt;&lt;div style="margin-left: 80px;"&gt;@echo off&lt;br&gt; if not "%~f0" == "~f0" goto WinNT&lt;br&gt; ruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9&lt;br&gt; goto endofruby&lt;br&gt; :WinNT&lt;br&gt; "%~d0%~p0ruby" -x "%~f0" %*&lt;br&gt; goto endofruby&lt;br&gt; #!/bin/ruby&lt;br&gt; #&lt;br&gt; # This file was generated by RubyGems.&lt;br&gt; #&lt;br&gt; # The application 'rake' is installed as part of a gem, and&lt;br&gt; # this file is here to facilitate running it. &lt;br&gt; #&lt;br&gt;&lt;br&gt; require 'rubygems'&lt;br&gt; version = "&amp;gt; 0"&lt;br&gt; if ARGV.size &amp;gt; 0 &amp;amp;&amp;amp; ARGV[0][0]==95 &amp;amp;&amp;amp; ARGV[0][-1]==95&lt;br&gt;   if Gem::Version.correct?(ARGV[0][1..-2])&lt;br&gt;     version = ARGV[0][1..-2] &lt;br&gt;     ARGV.shift&lt;br&gt;   end&lt;br&gt; end&lt;br&gt; gem 'rake', version&lt;br&gt; load 'rake'  &lt;br&gt;&lt;br&gt; __END__&lt;br&gt; :endofruby&lt;br&gt;&lt;/div&gt;   &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Hope that this should solve your problem&lt;br&gt;&lt;/b&gt;             &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-4490520025143405215?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/4490520025143405215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=4490520025143405215' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4490520025143405215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/4490520025143405215'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/requiregem-error-crubybinrake.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6490440273633312672</id><published>2008-02-03T08:33:00.000-08:00</published><updated>2008-02-04T00:54:12.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'></title><content type='html'>&lt;span style=" background-color: rgb(255, 0, 0);"&gt;&lt;b&gt;ActiveRecord::StatementInvalid in GreetingController#index &lt;/b&gt;&lt;/span&gt;&lt;br style="font-weight: bold; background-color: rgb(255, 0, 0);"&gt;&lt;span style=" background-color: rgb(255, 0, 0);"&gt;&lt;b&gt; Mysql::Error: Unknown system variable 'NAMES': SET NAMES 'utf8'&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;This error occurs if you are using rails &lt;b&gt;2.0.2.&lt;/b&gt;&lt;br&gt;&lt;br&gt;As far as I understood, in case of rails 2.0.2 when we create a new project, the default database adapter is SQLlite. &lt;br&gt;In order to use mysql, one need to explicitly tell, &lt;br&gt;&lt;b&gt;rails -d mysql cookbook&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;br&gt;Assuming that you have already created the three database tables: cookbook_development, cookbook_test, cookbook_production,&lt;br&gt;if you look at the database.yml file that is present in the config folder, you will see the the following lines&lt;br&gt;&lt;b&gt;development:&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  adapter: mysql&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  encoding: utf8&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  database: cookbook_development&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  username: root&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  password: your_password&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  host: localhost&lt;/b&gt;&lt;br&gt;&lt;br&gt;similarly for test and production.&lt;br&gt;The singular pint is the addition of the new line encoding: utf8. This is a new addition, if you were using rails version &amp;lt;= 2.0.1, this line is missing. &lt;br&gt;So I removed the line from development, test, production settings so that my database.yml now looks as&lt;br&gt;&lt;b&gt;development:&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;  adapter: mysql&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;   database: cookbook_development&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;   username: root&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;   password: your_password&lt;/b&gt;&lt;br style="font-weight: bold;"&gt;&lt;b&gt;   host: localhost&lt;br&gt;&lt;br&gt;&lt;/b&gt; Now if you again run the server and try to access any function of the project from the browser the error wont occur.&lt;br style="font-weight: bold;"&gt;&lt;br&gt;            &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6490440273633312672?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6490440273633312672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6490440273633312672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6490440273633312672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6490440273633312672'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/activerecordstatementinvalid-in.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-6530925087789459606</id><published>2008-02-02T23:37:00.000-08:00</published><updated>2008-02-04T00:54:59.791-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>  &lt;p class="MsoNormal"&gt;&lt;b&gt;Use of collaborative tagging in understanding social behavior&lt;p&gt;&lt;/p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In this article I will talk about &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1.      Advantages of delicious tags&lt;br&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2.      Social aspects of tagging&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;3.      Problems of tagging systems&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Collaborative tagging is the practice of allowing anyone to attach keywords/tags to the content.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Tagging is different from the normal categorization that we see in libraries. It does not follow any hierarchical rules like in dewey decimal system. User can simple say an article is on “C” rather than using saying computers/programming/C&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Tags are generally given as per the users understanding of the topic. An article may be on web programming, but a user feels that for him to refer to the same topic its more relevant to give the tag as web2.0, then he will categorize as web2.0&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We will be looking on the tagging patterns of the users on the Delicious site (http://del.icio.us). Just a small overview of the delicious site:&lt;/p&gt;    &lt;br&gt;1. The site allows the user to bookmark the URLs and categorize them using tags&lt;br&gt;&lt;br&gt;2. When you are trying to tag a URL, delicious will suggest what all tags other people have given to this URL &lt;br&gt;&lt;br&gt;3.Delicious gives the information about the number of the users who have tagged this URL. The higher number suggests popularity of the URL&lt;br&gt;&lt;br&gt;4.One main advantage of deleicious is networking and social aspect. You can visit the deleicious page of a use and see his bookmarks. You can get the RSS feeds of other users tags. This way you can find out the various relevant URLs on a particular topic. This is very useful. Consider the scenario, you want to learn something about web2.0. You did Google for it got some results. Now Google results just list down the URLs having the keywords web 2.0. It does not tell anything about what is the standard of the information given on the page or how other people think about it. May be you are a beginner on the topic of web2.0 and you are looking for a guide for beginners or some pointers how to start on the topic. In this scenario its good if you can find out what others recommend to refer as a beginner. This is the same as before buying any book you would like to see the reviews on Amazon about the book.&lt;br&gt;&lt;br&gt;5.  Delicious also gives a list of the various tags that were provided by the other people to the particular URL. This gives an indication of the different understanding of the people for the particular URL. Also the various categories that describe the URL gives the indication some of the key features that you can expect from the URL. For e.g. an article on flex may be tagged as programming, Flex2, web2.0, RIA. This shows the various categories that are appropriate for the particular URL. It indicates that Flex2 has something to do with programming, web related programming( web2.0), is used in current development (RIA, Web 2.0)&lt;br&gt;  Delicious allows the users to check the tags of other users this is the collaborative part of delicious.           &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;This article is not about the delicious so I will be very brief about discussing about delicious. One can refer to the site for more details.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoListParagraphCxSpMiddle"&gt;Lets see some of the &lt;b&gt;social aspects &lt;/b&gt;of the tagging&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;1. As already discussed, the way a user tags the URL shows his understanding of the topic. An article on flex, can be tagged as “programming” by one user say A and  “RIA”, “web2.0” by another user say B. This indicates that there is a high possibility that A has got not much understanding of flex or RIA. While B has an understanding of the latest web technologies. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;Now the social aspect is that if a person C wants to find out the articles or references on the topic of RIA, he can get to the delicious site of B and there is a high possibility that he will get lot of relevant bookmarks on the various web2.0 related topics like RIA, flex. C can add RSS feed of B and can get updated to the various posts done by B. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;2. Delicious also provides a timestamp on when the tag was done. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;   Also one can do two kinds of queries &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;1.      For a URL find out who all have tagged that url and what all tags they have given&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;2.      For a given tag find out the various URLs that have been tagged.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Timestamp and the information about who all have tagged a particular URL can give lot of insights about the user. The following are some of the information&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1.      If the timestamp is not much old, it means the user is currently interested in the particular topic&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2.      If the tags the user has given are very specific it means the user has a good understanding of the topic and he can be of help if you are also interested in the same topic.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;3.      On the other hand if the timestamp is old that means the user is not currently tagging the articles on this topic may be he is not currently interested in that area. Or if the tags are very generic probably the user’s understanding on this area is not very good, so you may not want to be guided by this users bookmarks on that topic.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;By delicious poplar tags, the areas that are currently hot can be known. For e.g. the most popular tags as on 3&lt;sup&gt;rd&lt;/sup&gt; feb 2008 are &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/design"&gt;&lt;span style="color: blue;"&gt;design&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/blog"&gt;&lt;span style="color: blue;"&gt;blog&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/music"&gt;&lt;span style="color: blue;"&gt;music&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/software"&gt;&lt;span style="color: blue;"&gt;software&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/art"&gt;&lt;span style="color: blue;"&gt;art&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/programming"&gt;&lt;span style="color: blue;"&gt;programming&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/video"&gt;&lt;span style="color: blue;"&gt;video&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/web2.0"&gt;&lt;span style="color: blue;"&gt;web2.0&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/tools"&gt;&lt;span style="color: blue;"&gt;tools&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/reference"&gt;&lt;span style="color: blue;"&gt;reference&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/linux"&gt;&lt;span style="color: blue;"&gt;linux&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://del.icio.us/popular/webdesign"&gt;&lt;span style="color: blue;"&gt;webdesign&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;This shows that the field of interest/trends of the majority of users is web (blog,web2.0,web design). So there is a good chance that you can easily get valid URL references on the topics related to web&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;p&gt; &lt;/p&gt;&lt;b&gt;Some of the problems with Tag.&lt;p&gt;&lt;/p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Since there are no rules to give tags, lot of &lt;b&gt;inconsistency&lt;/b&gt; exists in the way people tag&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;1. Some people may say socialnetworking others may say social_networking. Now if you search as deleicious/tag/socialnetworking you will not get the urls under social_networking even though both tags are relevant for the topic “social networking”&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;2. Other major problem is &lt;b&gt;synonyms.&lt;/b&gt; Some people say television others will call TV. The topics are exactly same but the search results will miss out the URLs.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;3.&lt;b&gt;Spellings&lt;/b&gt;-: some people may use british English and tag “colour” while people using ameriacan English tag as “color” for an article on colors.&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;4. Plurals: &lt;/b&gt; This is again a problem. Some people may tag “blog” others may tag “blogs”. They are referring to same but because of the plural the search results will be different.&lt;b&gt; &lt;p&gt;&lt;/p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;p&gt; &lt;/p&gt;&lt;/p&gt;              &lt;br&gt;I have covered what I understood from tagging, comments are welcome on this topic.&lt;br&gt;&lt;br&gt;&lt;b&gt;References&lt;/b&gt;&lt;br&gt;&lt;br&gt;1. Delicious site: http://del.icio.us&lt;br&gt;2. The structure of collaborative tagging systems, scott Golder, Bernardo Huberman&lt;br&gt;3. del.icio.us mashups, Brett O'Connor, Wrox publications&lt;br&gt;4. Patterns and Inconsistencies in Collaborative Tagging Systems: An Examination of Tagging practices, Margaret Kipp, D.Grant Campbell&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-6530925087789459606?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/6530925087789459606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=6530925087789459606' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6530925087789459606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/6530925087789459606'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/02/use-of-collaborative-tagging-in.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-5768523156037166451</id><published>2008-01-12T08:13:00.000-08:00</published><updated>2008-12-10T23:37:29.119-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>SQL Error while using WebParts</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;"An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The webpart requires the sqlserver 2005 for its working.  The webpartmanager is looking for SQL Express 2005 which, by default, is the personalization provider. Now if you remove the SQL server Express 2005 and instead install SQL Server 2005 then vs2005 is not able to find out the location of sql server and throws an error regarding SQL server 2005.&lt;br /&gt;The following steps will help in removing this error&lt;br /&gt;&lt;br /&gt;1. Open the visual studio command prompt and type aspnet_regsql.exe. This will open up a wizard to set the SQL server settings&lt;br /&gt;&lt;br /&gt;2. Click next next till you click finish in the wizard. This will create a default database &lt;span style="font-weight: bold;"&gt;aspnetdb&lt;/span&gt; in the SQL Server 2005&lt;br /&gt;&lt;br /&gt;3.Open the SQL server management and check the name of the server: In my case it is INHCJITBZR1SL. This is actually same as the computername.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YNkiRUrs_jM/R4jqC8FnJpI/AAAAAAAAAjc/IAvN2RJx6oM/s1600-h/sql.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 633px; height: 240px;" src="http://1.bp.blogspot.com/_YNkiRUrs_jM/R4jqC8FnJpI/AAAAAAAAAjc/IAvN2RJx6oM/s320/sql.bmp" alt="" id="BLOGGER_PHOTO_ID_5154627109735835282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Open the web.config file. Add the following lines.&lt;br /&gt;&lt;br /&gt;&amp;lt;connectionStrings&amp;gt;&lt;br /&gt;  &amp;lt;remove name="LocalSqlServer" /&amp;gt;&lt;br /&gt;  &amp;lt;add name="LocalSqlServer" connectionString="SERVER=INHCJTBZR1SL;Integrated Security=true;Initial Catalog=aspnetdb" providerName="System.Data.SqlClient"/&amp;gt;&lt;br /&gt;&amp;lt;/connectionStrings&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;remove&amp;gt; will remove the old settings about the sql server.&lt;br /&gt;Basically you are trying to tell .NET where to find teh SQL server using the connection string.&lt;br /&gt;&lt;br /&gt;Compile the code and run it again. It should work. If still the database related error is coming it means that the connection string is not correct.&lt;br /&gt;&lt;br /&gt;Some of the other links which talk about the same issue are:&lt;br /&gt;&lt;a href="http://blogs.neudesic.com/blogs/pete_orologas/archive/2006/06/14/162.aspx"&gt;http://blogs.neudesic.com/blogs/pete_orologas/archive/2006/06/14/162.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://daron.yondem.com/CommentView.aspx?guid=cb37f9ff-81d3-4b9c-ab97-18e9eddd9a27"&gt;http://daron.yondem.com/CommentView.aspx?guid=cb37f9ff-81d3-4b9c-ab97-18e9eddd9a27&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-5768523156037166451?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/5768523156037166451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=5768523156037166451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5768523156037166451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/5768523156037166451'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/01/sql-error-while-using-webparts.html' title='SQL Error while using WebParts'/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_YNkiRUrs_jM/R4jqC8FnJpI/AAAAAAAAAjc/IAvN2RJx6oM/s72-c/sql.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-1404903220715421329</id><published>2008-01-09T08:40:00.000-08:00</published><updated>2008-02-04T00:54:44.743-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;How to add tag cloud to your blog?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tag cloud is a cool technique that is used to categorize your posts, bookmarks, articles. The del.icio.us site is one of the most popular place where you can find the tag cloud use in action. Tagging (as it is commonly called) is one of the Web 2.0 feature.&lt;br /&gt;&lt;br /&gt;The default templates available on blogspot don't give you the feature of tag cloud.&lt;br /&gt;In order to add the tag cloud to your blog site follow the steps as explained in the following link&lt;br /&gt;&lt;a href="http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html"&gt;http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will realize that Tag cloud is one of the example of how use of some scripting in a  language like Javascript or perl along with CSS can increase the utility of a web site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-1404903220715421329?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/1404903220715421329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=1404903220715421329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1404903220715421329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/1404903220715421329'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/01/how-to-add-tag-cloud-to-your-blog-tag.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-8287736480308650386</id><published>2008-01-07T21:16:00.000-08:00</published><updated>2008-01-08T07:55:25.157-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;USE CASE&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;     The use case describes the system’s behavior under various conditions as it responds to a request from one of the stakeholders, called the primary actor.   &lt;/li&gt;&lt;li&gt;The primary actor initiates an interaction with the system to accomplish some goal.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;     Different sequences of behavior, or scenarios, can unfold, depending on the particular requests made and conditions surrounding the requests&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Primary actor is the one with the goal that the use case addresses&lt;/li&gt;&lt;li&gt;Scope identifies the system that we are addressing&lt;/li&gt;&lt;li&gt;Preconditions and guarantees are the things that must be done for the success of the use case.&lt;/li&gt;&lt;li&gt;Main Success is the case in which nothing goes wrong&lt;/li&gt;&lt;li&gt;Extensions suggest what can happen if something goes wrong in the main success steps&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;We can put the logging and some of the simple settings as the preconditions since the stress should be to capture the important scenarios&lt;br /&gt;I think that the extensions are the if conditions., At every step we need to ask a question what are the possible alternatives.&lt;br /&gt;Importnt: (page 22): Anyone writing the usecases for a new system to be designed will write blackbox use case and so not discuss the internals&lt;br /&gt;One should not get caught in too much rigor while designing a use case it is costly.&lt;br /&gt;Use cases provide scaffolding that connects information in different parts of the requirements&lt;br /&gt;&lt;br /&gt;Usecases add value since they announce a list of goals that help to figure out what the system is going to provide.&lt;br /&gt;&lt;br /&gt;Steps to be done in order to write the use cases&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Find out the actors and goals&lt;/li&gt;&lt;li&gt;Write the main success scenario&lt;/li&gt;&lt;li&gt;figure out the failure conditions&lt;/li&gt;&lt;li&gt;figure out the failure handling measures for the failure conditions found in step 3&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;The usecase should be written in a single grammatical form&lt;br /&gt;suD : System under Discussion&lt;br /&gt;&lt;br /&gt;Some of the actors are hidden, they are very much required but they are not the ones who are starting the use case. For eg logging system. It is required but it runs in the background and do not initiate a use case. Such actors are called offstage actors.&lt;br /&gt;&lt;br /&gt;Scope&lt;br /&gt;&lt;br /&gt;Functional scope:It refers to the services provided by the system. It will eventually be captured by the system.&lt;br /&gt;One should prepare a list of actor-goal . This will make clear what are the goals achieved by a particular actor.&lt;br /&gt;Brief is the 2-6 line description of the use case. The main stress is to mention the significane of the use case.&lt;br /&gt;&lt;br /&gt;Design Scope:&lt;br /&gt;It means identifying the software and the hardware that will be the part of the system. Depending on the hardware used the behaviour may change. for e.g. printing using a home laser printer is different than printing in a printing press.&lt;br /&gt;The various scopes are : Enterprise, system, subsystem&lt;br /&gt;&lt;br /&gt;Depending on the level of the usecase the details will change. The Enterprise will be a top level while the subsystem level will be dealing about how the internal works.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Stakeholders&lt;br /&gt;A stakeholder is someone with a vested interest in the behavior of the use case, even if they&lt;br /&gt;never interact directly with the system  &lt;b&gt;offstage actors.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;b&gt; T&lt;/b&gt;&lt;/b&gt;he inclusion of these actors help in improving the quality of the use cases. They may appear in the logs,checks, validations.&lt;br /&gt;&lt;br /&gt;The usecase need to protect the interswets of these satkeholders&lt;br /&gt;&lt;br /&gt;Primary actor is often but not always the one to trigger the usecase. ( for e.g in case of the time based trigger the primary actor does not triggers the usecase)&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Primary actors are important only at the begining and the end of the usecase. In bvetween they dont play a role, so even if we dont identify the primary actor properly not much damage will happen to the system&lt;br /&gt;use some generic names for the primary user so that any alternative user with correct rights can execute the usecase&lt;br /&gt;&lt;br /&gt;Supporting actor is an external actor that provides some kind of service to the system under design. e.g. printing service ( we can also call it as secondary actor);&lt;br /&gt;&lt;br /&gt;An actor can be a primary axctor in one use case while a supporting actor in another&lt;br /&gt;when we look into the system and name the componenet and their behavior we treat the system as white box.&lt;br /&gt;&lt;br /&gt;There are more than just two actors in a white-box use case, since the components of the system are being&lt;br /&gt;shown as well as the external actors&lt;br /&gt;&lt;br /&gt;It is extremely rare and usually a mistake, to write white-box use cases as behavioral requirements&lt;br /&gt;for a computer system to be designed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Three Named Goal Levels ( the level of the usecase)&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;1. summary goals&lt;br /&gt;2. User Goals&lt;br /&gt;3. Sub functions&lt;br /&gt;&lt;br /&gt;&lt;b&gt;User Goal&lt;/b&gt;&lt;br /&gt;The user goal is the goal of greatest interest. It is the goal the primary actor has in trying to get&lt;br /&gt;work done, or the user has in using the system at all.&lt;br /&gt;A user goal addresses the question, "Can the primary actor go away happy after having done&lt;br /&gt;this?" &lt;b&gt;It should normally be executed in one sitting and should not take more than 30 min&lt;br /&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;complete an purchase order or log on the system are not the user goals&lt;/li&gt;&lt;li&gt;buy a book, register a new customer are user goals&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Summary level&lt;br /&gt;Summary level goals involves multiple user goals they solve three purposes:&lt;br /&gt;1. They show the context in which the user goals operate&lt;br /&gt;2. they show life-cycle sequencing of the related goals&lt;br /&gt;3. They show the table of contents for the lower level use cases&lt;br /&gt;Summary level use case run for more time they may take days to complete. this happens becase a summary level use case consist of number of user level use cases&lt;br /&gt;&lt;br /&gt;They can be found by asking a question &lt;b&gt;"why is the actor doing this?"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Subfunction use case:&lt;br /&gt;&lt;br /&gt;These are the use cases that are required to caryy any small step in case of a use case e.g find a customer, save as  a file&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Put a lot of energy into detecting the sea-level use cases. These are the important ones&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Write a few outermost use cases, to provide context for the others&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;When you ask a question "Why ?" you get into one higher level.&lt;br /&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;When you ask a question "How?" you get into one lower level.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Preconditions, Triggers, guarantees&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Precondition&lt;/b&gt; is what the system will ensure before letting the usecase to start. Having a precondition means that somebody has already run a usecase to set up the system for this particular usecase&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Minimal guarantees&lt;/b&gt; are the least promises that can be made to the stakeholders when the primary actor goals cannot be delivered. They are of interest when the goal is abondoned.  common guantees " System logged on how far it goes"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Success Guarantee:  &lt;/b&gt; it states what interests of the stakeholders are satisfied ion the sucesful completion of a usecase either at the end of the main success path or the alternate path&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7525200724918618557-8287736480308650386?l=rohitagarwal24.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rohitagarwal24.blogspot.com/feeds/8287736480308650386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7525200724918618557&amp;postID=8287736480308650386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/8287736480308650386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7525200724918618557/posts/default/8287736480308650386'/><link rel='alternate' type='text/html' href='http://rohitagarwal24.blogspot.com/2008/01/use-case-describes-systems-behavior.html' title=''/><author><name>Rohit</name><uri>http://www.blogger.com/profile/05420875130725388773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7525200724918618557.post-992474345237776014</id><published>2008-01-07T21:05:00.000-08:00</published><updated>2008-04-19T01:24:02.283-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'></title><content type='html'>              &lt;p class="MsoBodyText"&gt;&lt;b&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Webservices&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;The web service can be easily used in the Flex 2. The web service may be in any language. The client can be made to consume the web service. There are two main ways to do that. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;b&gt;&lt;span style="font-family: Georgia; color: red;"&gt;&lt;font size="3"&gt;First method&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;mx:WebService id="WShello"      wsdl="http://localhost:2091/CreditCard/CreditCard.asmx?wsdl"&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 1in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;mx:operation&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 1in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt; name="HelloWorld" result="typeRPCResult(event)"&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;            &amp;lt;/mx:operation&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;            &amp;lt;mx:operation &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;name="ListFiles" result="showFiles(event)"&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;            &amp;lt;/mx:operation&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/mx:WebService&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;In this case we make use of &lt;b&gt;mx:webservice &lt;/b&gt;Tag. We need to specify the location of the WSDL file.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;Then we specify the various operations we want to perform. My advice is mention only the functions that don’t want any parameter to be passed. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;b&gt;&lt;span style="font-family: Georgia;"&gt;Result  &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Georgia;"&gt;specify  the function to be called once the data has arrived.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;The event is of resultEvent type&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;Now in order to get the data we need to call the webservice. This is done by &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;WShello.HelloWorld.send();&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;i.e. Webservice_object. Operation_name. Send();&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;Once the result has arrived the general prototype of the function called is &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;Private function function_name(evt:resultEvent):void&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;{&lt;br&gt;                 //here you should typecast the event.result into the expected type&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;var s:string=(event.result as String);&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;b&gt;&lt;span style="font-family: Georgia; color: red;"&gt;&lt;font size="3"&gt;Second Method&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;This method uses more of a programmatic approach. The main use of this method is to call the webmethods that require paramters to be passed to them&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;The various steps to be followed are:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;font size="3"&gt;1.&lt;/font&gt;  &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;declare an object of type websevice&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;font size="3"&gt;public var webse:WebService = new WebService();&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;2.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Call a function that will initialize the object&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;font size="3"&gt;public function callWebMethod():void{&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;3.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Inside the function you need to specify the wsdl file &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;webse.wsdl="http://localhost:2091/CreditCard/CreditCard.asmx?wsdl";&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;4.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;load the wsdl&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;webse.loadWSDL();&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;5.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Once loaded wsdl file will generate a LoadEvent. We need to call a function on that event so that the necessary webmethod can be called&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;webse.addEventListener(LoadEvent.LOAD, onWSDL);&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;onWSDL is the method to be called&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;6.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;private function onWSDL(event:LoadEvent):void{&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;is the prototype for the function. Note that the event type is LoadEvent. The firast parameter in the eventListener call will specify the kind of event that will happen.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;7.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Before actually calling the webmethod register an helper method that will handle the results arrived from the webmethod&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;webse.&lt;/font&gt;&lt;b&gt;GetFile.addEventListener&lt;/b&gt;&lt;font size="3"&gt;(ResultEvent.RESULT, onGetFile);&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;specify the webmethod_name.addEventListener&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Note that the event type is ResultEvent&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;8.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Call the webmethod passing the correct parameter&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Webse.GetFile(parm1.parma2…)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;9.&lt;/font&gt;      &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Handle the result in the onGetFile() function&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;Private function onGetFile(event:ResultEvent):void{&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;10.&lt;/font&gt; &lt;/span&gt;&lt;span style="font-family: Georgia;"&gt;&lt;font size="3"&gt;type cast the event.result to the type you require&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.25in;"&gt; &lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-family: Georgia;"&gt;var s:string=(event.result as String);&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;span style="font-family: Georgia;"&gt;In my sample code I have typecasted it to an object, since the webservice will be returning a complex data type&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;var ob:Object=(event.result as Object);&lt;/p&gt;&lt;br&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;The object is then used to populate WebFileData object. &lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;br&gt;&lt;/p&gt;&lt;br&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="MsoBodyText" style="margin-left: 0.5in; text-indent: 0.5in;"&gt;&lt;br&gt;&lt;/p&gt;The following is the code snippet that make use of both of the methods.&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br&gt;&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"&amp;gt;&lt;br&gt;    &amp;lt;mx:Script&amp;gt;&lt;br&gt;        &amp;lt;![CDATA[&lt;br&gt;            import mx.controls.Alert;&lt;br&gt;            import mx.rpc.soap.LoadEvent;&lt;br&gt;            import mx.rpc.events.ResultEvent;&lt;br&gt;            import mx.collections.ArrayCollection;&lt;br&gt;            import valueObject.*;&lt;br&gt;            [Bindable]&lt;br&gt;            private var arc:ArrayCollection = new ArrayCollection();&lt;br&gt;            &lt;br&gt;            private var theWF:WebFileData;&lt;br&gt;            &lt;br&gt;            public var webse:WebService = new WebService();&lt;br&gt;            //convert the result into the type that is returned.&lt;br&gt;            public function typeRPCResult(evt:ResultEvent):void{&lt;br&gt;                hell.text=(evt.result as String);&lt;br&gt;            }&lt;br&gt;            // what ever is returned convert the result into that.&lt;br&gt;            public function showFiles(evt:ResultEvent):void{&lt;br&gt;            arc=(evt.result as ArrayCollection);&lt;br&gt;            }&lt;br&gt;            &lt;br&gt;            //function to initialise the webservice (THE SECOND METHOD)&lt;br&gt;            &lt;br&gt;            public function callWebMethod():void{&lt;br&gt;                webse.wsdl="http://localhost:2091/CreditCard/CreditCard.asmx?wsdl";&lt;br&gt;            webse.loadWSDL();&lt;br&gt;            // the eventhandler that will be called when the loadevent happebns&lt;br&gt;            webse.addEventListener(LoadEvent.LOAD, onWSDL);&lt;br&gt;            }&lt;br&gt;            &lt;br&gt;            /**&lt;br&gt;            * function to display the results from the web service&lt;br&gt;            **/&lt;br&gt;            private function onWSDL(event:LoadEvent):void{&lt;br&gt;                Alert.show("wsdl loaded");&lt;br&gt;                // register the eventhandler that will be called once the result is back&lt;br&gt;                webse.GetFile.addEventListener(ResultEvent.RESULT, onGetFile);&lt;br&gt;                var tempString:String=txtFile.text;&lt;br&gt;                var tempFileName:String;&lt;br&gt;                //fileName = fileName.substr(fileName.lastIndexOf(“/”) + 1);&lt;br&gt;                tempFileName=tempString.substr(tempString.lastIndexOf("\")+1);&lt;br&gt;                 hell.text=tempFileName;&lt;br&gt;                 //Alert.show(hell.text);&lt;br&gt;                webse.GetFile(tempFileName);&lt;br&gt;            }&lt;br&gt;    &lt;br&gt;    // this function will be responsible to render the result on the panel&lt;br&gt;            private function onGetFile(event:ResultEvent):void&lt;br&gt;            {&lt;br&gt;                var ob:Object=(event.result as Object);&lt;br&gt;                //you dont need to specify new here , since the createWF function will take care of it&lt;br&gt;                theWF=WebFileData.createWF(ob);&lt;br&gt;                //hell.text=theWF.CreationTime.date.toString();&lt;br&gt;                resName.text=theWF.Name;&lt;br&gt;                resContent.text=theWF.Contents.toString();&lt;br&gt;                resCD.text=theWF.CreationTime.toDateString()+" "+theWF.CreationTime.toTimeString();&lt;br&gt;                resLAT.text=theWF.LastAccessTime.
