Skyhook

Skyhook was founded in 2003 to capitalize on the increasing demand for location-based services. The first location technologies, GPS and cell tower triangulation, were inadequate – leaving frustrated mobile consumers with slow and inaccurate positioning information. In response, Skyhook developed a software-only location system based on Wi-Fi positioning, GPS and cell tower triangulation.

Specialists from QArea have been challenged with a series of projects for Boston-based Skyhook Wireless. This series of projects included Skyhook Wireless WPS, Location Logger, LocalFaves, Internal tests, and the big gun – MyLoki. We also needed to implement a website allowing users to register for Skyhook Javascript API key and promoting this technology to web developers/site owners.

Skyhook Wireless can determine your location based on the nearest WiFi router that it picks up through your computer and is the core basis of MyLoki. We have developed Skyhook Wireless WPS, a location technology that delivers the fastest most accurate location results available for WiFi-enabled consumer devices. Java port of the Skyhook Wireless WPS technology for the Android devices. The port contained a class library and a couple of demo applications.

MyLoki

MyLoki location enables social networking. As you travel around MyLoki can automatically let your friends know where you are using your favorite platform – Facebook, RSS Feeds and badges for your blog or even Jaiku. You can pick and choose how and where you want your location to be displayed. MyLoki gives you total control over the posted location and who can see it.

Your location can be delivered with the help of Loki toolbar, which is downloaded on your browser from any place nearby that has a WiFi hotspot. This information can be reported in a number of ways. You can get your own MyLoki page that shows people your exact location, or you may have a constantly updated map on your blog which displays your current position. You can add the map as a Facebook app or create an embeddable badge and append it to your e-mail signature. You can also create a location feed integrated with any GeoRSS service, such as Google MyMaps, Jaiku and Yahoo’s Fire Eagle.

QArea team has implemented the project from the scratch. It’s built using Symfony framework. QArea was also responsible for redesigning Loki.com site and its integration with MyLoki.

Major challenges:

  • Google Maps;
  • Facebook application (users’ profile FBML box, posting to the feed and a standalone FB application which allows users to set their location while surfing on Facebook);
  • The website (authentication, users’ privacy setting, history and groups locations viewing, generation of badges examples, RSS feed);
  • Loki.com channels (developed own XML DTD for generating HTTP requests);
  • iPhone API (own XML protocol as well);
  • Updating of users’ location using Ajax technology (we have created a centralized database which stores and shares the information about users’ location between Facebook application and MyLoki standalone application);
  • FireEagle, Twitter integration.

QArea’s team has united separate projects into one by developing and implementing the following features for Loki.com:

Channels: specific links to various LBS (location-based services) sites with your current location in themselves. There’s no necessity to enter your location manually if you want to rent a flat or looking for a cheap gas station.

Loki JS API subscription: Skyhook’s Loki allows other location dependent sites to place special JavaScript code which fetches users’ current location from Loki toolbar (installed on your computer). Loki.com site provides JS API registration and some examples for developers.

FindMe page demonstrates the power and preciseness of Skyhook’s technology. Users can view/set their location and try all available channels there.

The website

The portal is based on the Symfony framework and using Propel ORM to maintain Javascript API registrations. Google maps API is used to display Loki JS API sample code results. Integration with Loki JS API has been performed in order to demonstrate the technology on How it works and Findme pages. This project has been completed and now is in production.

Skyhook location logger

Another project from the Skyhook cluster is the location logger. This service allows to obtain periodic updates of the device’s geographical location, or to fire an application-specified intent, when the device enters the proximity of a given geographical location. Android gives your applications access to the location services.

The application includes:

  • LocationManager
  • MapView

Skyhook’s core location platform updated with LocalFaves

Skyhook’s Core Location Platform, which uses a combination of data from GPS satellites, cell towers and Wi-Fi systems to quickly come up with precise location data, enhances mobile devices’ ability to run a growing number of location-aware applications. It facilitates not only navigation and local search programs, but also applications such as OpenTable and Twitter, which use location awareness to personalize content, the company said upon announcing the partnership. Support and writing some modules for Skyhook LocalFaves system is allowed in the application. It includes heat maps and several demo apps.

Testing

In order to ensure this complex cluster of projects operates as expected tests for internal use were done. Any information that was related to wireless connections was collected along with the first release SDK and APIs. Tests were done in C# by senior developers with Silverlight/WP7 to ensure the finest quality.

Industries

  • Travel & Hospitality

Platforms

  • Crossplatform

Languages

  • Android SDK
  • C++
  • Cocoa
  • Core Location
  • CSS3
  • Eclipse
  • Google Maps API
  • HTML5
  • Java
  • JavaScript
  • JQuery
  • MySQL
  • Objective-C
  • PHP
  • Propel ORM
  • Silverlight
  • SQL
  • Symfony
  • XCode

Links

Privacy Preference Center
Your Privacy

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

Strictly Necessary Cookies Always Active

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.

You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

Performance Cookies

These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.

All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

Cookies used

Google Analytics
Functional Cookies

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

Cookies used

Test Second Test
Targeting Cookies

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.

More Information

When you visit any web site, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.