Google Summer of Code & OpenIntents


This year was the first year OpenIntents participated in the Google Summer of Code. We are an open source organization which creates software for Android mobile phones and tablets, with special emphasis on interoperability with other software components.

As an organization we’ve found involvement in the Google Summer of Code extremely rewarding. The students have been able to improve their skills and gain practical experience in the stages of a software project, our organization has benefited from the interest generated from the students’ work, and the wider community will continue to benefit from the code the students have delivered.

We particularly enjoyed the international aspect of the program. All students, mentors, and co-mentors lived in different countries which did not prevent us from having a great time discussing the projects through Skype and live chat sessions. We received a great number of excellent proposals, from which two very different projects were chosen for the program.

Elena Burceanu’s project aimed to enhance the Sensor Simulator. During the first weeks, the GUI was polished, both in appearance and through clever code restructuring. After enhancing the GUI the number of supported sensors was increased and now includes Android sensors for gyroscope and general rotation vector. Finally, a scenario simulator was added, which creates sensor output from a set of initial states and the ability to change the time intervals between them. The sensor’s values are smoothly interpolated between the key frames. The final product was released as version 2.0. The source code and documentation for Elena’s project are now available to view.

Andras Berke’s project consists of a new application called Historify which displays the user’s activities with others over a variety of communication methods (Voice, SMS, Facebook, etc.), and provides a method for third party applications to supply other activity events showing the interoperability of Android applications. During the summer Andras went through the whole application design process from the UI wireframes to a first beta release including documentation along the way. In addition, he provided demo applications to show how third party developers can interact with Historify. You can now view the source code and documentation from Andras’ summer project.

Google Custom Maps

Do you love to explore the outdoors with Google Maps but sometimes wish it had the details of a trail map or a tourist attractions map of a foreign city? Do you sometimes wish you could take one of those “You are here” maps with you to help you find places in an unfamiliar environment? Do you prefer maps on your phone rather than on paper?

If you answered “yes” to even some of these questions, you may want to take a closer look at a new Android app called Custom Maps — recently released as open source at code.google.com.

Custom Maps showing a birdwatcher’s location overlaid on a photo of a posted park map.
The Custom Maps app allows for easy creation of digital maps from any map image. The image can be a photo of a paper map, a photo of a brochure map, or a picture of the map posted at a trailhead or at the entrance to an amusement park. It could also be a .jpeg or .png image hosted on the internet or a screenshot of a PDF map. All you have to do is choose two (or more) matching points that are common to both the map image and Google Maps, and Custom Maps can show your GPS location on the map. This makes it an excellent mapping option in situations where data signal is not available like in state parks or abroad, or when alternate map images show details that are not included in Google Maps.

Custom Maps showing a hiker’s location on Mist Trail in Yosemite National Park.
Custom Maps stores the geo aligned map images into KMZ files, which are simply ZIP files containing the geo location information in KML format, and the map image file. This makes it possible to take the map image out of the KMZ file, add some personal markup in the map using an image editor, and put the image back into the KMZ file. As long as the image is not resized in the process, the marked up map image can now display the user’s GPS location.
Custom Maps users can share created geo aligned map images as email attachments or by using QR codes. When a Custom Maps compatible QR code is scanned by a barcode scanner application, users can open the link directly in the Custom Maps app instead of a web browser.
Google has published the source code for Custom Maps under Apache License 2.0 at http://code.google.com/p/custom-maps/. The source code can be studied for examples of how to deal with the following topics on Android mobile apps:
  • dealing with large images in constrained memory environment of mobile devices
  • parsing XML (KML) documents using XML Pull API
  • using the Google Maps Android API and displaying translucent overlays on MapView widget
  • declaring an app as able to handle special URLs and file types so it can be launched by QR codes and so mail applications can direct attachments to it
  • triggering file sharing intents from an app
But Custom Maps is not finished yet. Several new features are planned including distance measurement, marking map locations with icons, making it possible to geolocate map images without Google Maps or data connection, working around the app memory limit to load larger map images, and automatically switching between stored maps based on user’s location and zoom level. Join the open source project to add these and more features to Custom Maps.

Offline GPS navigation to Windows Phone by Navigon

Using the Bing Maps navigation functionality in Windows Phone Mango is really decent. However, the fact that you have to tap to hear each turn is lame. I look forward to seeing what Nokia brings to the table with their navigation solution, but at this time that is a big unknown on Windows Phone. One new application we do know will provide an excellent navigation experience, with offline mapping support, is NAVIGON for WP7 that is coming soon.

I’ve used NAVIGON in Android device and thoroughly enjoyed it. WPCentral has a few details on this new version that runs on Mango and takes advantage of the new Mango features. The following statement appears in their press release:

NAVIGON’s premium navigation app soon will be available for Windows Phone 7 users. The app includes many signature features that have made NAVIGON’s apps successful on Android devices and the iPhone, including on-board maps, spoken turn-by-turn directions, visual lane guidance, live traffic information and rerouting, among many other features. NAVIGON’s new app runs on Windows Phone 7.5 and also takes advantage of new features made available to developers with this new release. These features include the augmented reality function Reality Scanner, which provides an instant and effortless way of identifying nearby destinations while on foot; an option to select address information directly from the phone’s contact list; and the ability to save a favorite or home address as a shortcut on the start screen.

It is good that they are offering full support for a walking mode with their Reality Scanner too since I often use GPS navigation solutions when traveling in new cities and often that is on foot. Their lane assistant is also one of my favorite features since there are some confusing highways out there. I plan to get this on my Windows Phone Mango device as soon as it is released.

They also announced updates to their Android and iPhone apps that include new map management from a web browser, redesigned user interface, and much more so if you have the app on those platforms go check for the free update.

by zdnet