<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Rafiq Abdul</title>
        <link>http://blogs.eforceglobal.com/rabdul/Default.aspx</link>
        <description>Life @ eFORCE</description>
        <language>en-US</language>
        <copyright>Rafiq Abdul</copyright>
        <managingEditor>rabdul@eforceglobal.com</managingEditor>
        <generator>Subtext Version 1.9.2.30</generator>
        <image>
            <title>Rafiq Abdul</title>
            <url>http://blogs.eforceglobal.com/images/RSS2Image.gif</url>
            <link>http://blogs.eforceglobal.com/rabdul/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Real-Time Location Tracking Using Google Latitude</title>
            <link>http://blogs.eforceglobal.com/rabdul/archive/2009/04/28/533.aspx</link>
            <description>&lt;p align="justify"&gt;Welcome to the world of Location tracking! &lt;/p&gt;  &lt;p align="justify"&gt;The whole idea of being able to locate and track my friends and co-workers via mobile phones is exciting. From both the personal world and the business world, one can easily understand the far-reaching benefits of this technology. One can imagine a variety of use cases from a business perspective. For example, "a company's manager wants to track his on-field employees (Postal services...)".&lt;/p&gt;  &lt;p align="justify"&gt;Venturing into this path, we started putting together an application for a use case similar to the above. Question? Whether a company's manager would be tracking from a Desktop or Mobile. Probably both. We started the use case from a Desktop. Probably, few of you would have guessed which location tracking provider we would have chosen. It is Google latitude on mobiles and iGoogle in Desktop. Even though we have multiple options in this area (Loopt, Yahoo's fire-eagle..), none of the location tracking technologies are close to Google latitude in terms of reach (variety of devices, mobile service providers and people). So, the obvious choice ==&amp;gt; &lt;a href="http://www.google.com/latitude/intro.html"&gt;Google latitude&lt;/a&gt;&lt;a&gt; in iGoogle&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Coming to application technology choice, what better choice, in particular for a decade Java experienced would have, other than &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT (Google Web toolkit)&lt;/a&gt;? The idea of being able to write the client side code of an Ajax application in Java and translate into browser specific Java Script code is certainly novel. For the tens of thousands of Java developers, GWT nicely fits into their pocket. &lt;/p&gt;  &lt;p align="justify"&gt;Ok. Let's get into our application's details a bit. We signed up for a &lt;a href="http://code.google.com/apis/maps/signup.html"&gt;Google Maps key&lt;/a&gt; for our domain and using the map key in &lt;a href="http://code.google.com/apis/maps/"&gt;Google Maps API&lt;/a&gt; of GWT, we populated the Google Maps for this use case. As you see here, the red balloon stands for an individual office and the green marker stands for a group of offices.  All the company locations data are stored as latitude/longitude positions in the database and we used J2EE on the server side to return JSON responses to the client.&lt;/p&gt;  &lt;p align="justify"&gt;The beauty of this architecture is that we can easily swap the J2EE on the server side with PHP or Ruby on Rails easily. In fact, we are on our way towards setting up a Ruby on Rails server side for this application. Or better, with the advent of &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine for Java&lt;/a&gt;, &lt;a href="http://code.google.com/eclipse/"&gt;Google Eclipse plug-in&lt;/a&gt; and &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT 1.6&lt;/a&gt;, one can develop/test/debug a GWT application from Eclipse and deploy for production, with a touch of button and free of cost, into Google Servers with ease.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://blogs.eforceglobal.com/images/blogs_eforceglobal_com/rabdul/WindowsLiveWriter/RealTimeLocationTrackingUsingGoogleLatit_BE5B/4-23-2009%205-48-26%20PM_2.png"&gt;&lt;img title="4-23-2009 5-48-26 PM" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="356" alt="4-23-2009 5-48-26 PM" src="http://blogs.eforceglobal.com/images/blogs_eforceglobal_com/rabdul/WindowsLiveWriter/RealTimeLocationTrackingUsingGoogleLatit_BE5B/4-23-2009%205-48-26%20PM_thumb.png" width="805" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When the company's manager clicks an office balloon, it opens up the company manager's iGoogle page from which the company's manager can track his on-field employees in Google latitude as shown below. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.eforceglobal.com/images/blogs_eforceglobal_com/rabdul/WindowsLiveWriter/RealTimeLocationTrackingUsingGoogleLatit_BE5B/4-27-2009%201-47-12%20PM_2.png"&gt;&lt;img title="4-27-2009 1-47-12 PM" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="348" alt="4-27-2009 1-47-12 PM" src="http://blogs.eforceglobal.com/images/blogs_eforceglobal_com/rabdul/WindowsLiveWriter/RealTimeLocationTrackingUsingGoogleLatit_BE5B/4-27-2009%201-47-12%20PM_thumb.png" width="807" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Great! Now you can see the company manager in the center surrounded by on-field employee’s locations. From here, the company manager can track the worker's locations and chat/voice chat with them. Even other wireless iGoogle latitude workers can also be tracked.&lt;/p&gt;  &lt;p align="justify"&gt;While all this is great, the notable missing feature is the lack of availability of Google latitude API. For example, we would like to get a notification in iGoogle latitude gadget once a mobile phone user enters the network or more of that kind of functionality. This requires marking an area around a user and listening to events across the area which is not possible without the availability of Google latitude API. &lt;/p&gt;  &lt;p align="justify"&gt;So, the whole application venture was great but we have come to a standstill because of the lack of availability of the latitude API. Just like Google has released Google Maps API in Java Script and GWT, we hope it releases Google Latitude API also. Or better, the next version of Google Maps API probably shall contain functions that will enable developers to add Google accounts directly on the maps and track them as well.&lt;/p&gt;  &lt;p align="justify"&gt;Eagerly waiting for the next version of Google Maps API with Latitude functionality so that the community can develop many practical interesting applications.   See you all again! Happy Blogging!&lt;/p&gt;  &lt;p align="left"&gt;References:&lt;/p&gt;  &lt;p align="left"&gt;    1. Google Latitude Home page: &lt;a href="http://www.google.com/latitude/intro.html"&gt;http://www.google.com/latitude/intro.html&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;    2. Mobile tracking Basics with Google Latitude:http://trivuz.com/component/content/article/35-tech-review/65-mobile-tracking-system-google-latitude&lt;/p&gt;  &lt;p align="left"&gt;    3. Top 10 reasons why Google Latitude will succeed: &lt;a href="http://thenextweb.com/2009/02/05/ten-reasons-google-latitude-succeed/"&gt;http://thenextweb.com/2009/02/05/ten-reasons-google-latitude-succeed/&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;    4. Location Tracking with Google Latitude: &lt;a href="http://www.labnol.org/software/location-tracking-with-google-latitude/8194/     "&gt;http://www.labnol.org/software/location-tracking-with-google-latitude/8194/     &lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;    5. Maps APIs &amp;amp; Mobile Session in Google Sessions 2009 in San Fransisco may give us useful insight into this  &lt;a href="http://code.google.com/events/io/sessions.htm"&gt;http://code.google.com/events/io/sessions.htm&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;    6. Creating Google account for Google Apps id: &lt;a href="http://www.google.com/support/mobile/bin/answer.py?hl=en&amp;amp;answer=136641"&gt;http://www.google.com/support/mobile/bin/answer.py?hl=en&amp;amp;answer=136641&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;    7. Broadcast your location through google latitude from Orkut - &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.labnol.org%2Finternet%2Fbroadcast-location-from-orkut%2F8209%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzfp8WljfMbX60XcwESnrYBxaRKoKw"&gt;http://www.labnol.org/internet/broadcast-location-from-orkut/8209/&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.labnol.org%2Finternet%2Fbroadcast-location-from-orkut%2F8209%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzfp8WljfMbX60XcwESnrYBxaRKoKw"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.eforceglobal.com/rabdul/aggbug/533.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rafiq Abdul</dc:creator>
            <guid>http://blogs.eforceglobal.com/rabdul/archive/2009/04/28/533.aspx</guid>
            <pubDate>Tue, 28 Apr 2009 08:10:03 GMT</pubDate>
            <wfw:comment>http://blogs.eforceglobal.com/rabdul/comments/533.aspx</wfw:comment>
            <comments>http://blogs.eforceglobal.com/rabdul/archive/2009/04/28/533.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://blogs.eforceglobal.com/rabdul/comments/commentRss/533.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.eforceglobal.com/rabdul/services/trackbacks/533.aspx</trackback:ping>
        </item>
    </channel>
</rss>
