Project Hawaii

Established: November 9, 2012

The Project Hawaii program was discontinued on October 8, 2013.

With Project Hawaii, you can develop cloud-enhanced mobile applications that access a set of cloud services and Windows Azure for computation and data storage. Project Hawaii provides the tools and services; you provide the creativity and imagination.

Project Hawaii Cloud Services

The Project Hawaii SDK enables you to create of applications that take advantage of research cloud services.

The following cloud services are included in the Project Hawaii SDK:

  • Social Mobile Sharing (SMASH) Service
    The Smash service is a client-server system that enables rapid prototyping and development of solutions for social computing scenarios on Windows desktop and Windows Phone mobile platforms. Smash provides a general sharing mechanism for observable collections, and is part of the Project Hawaii SDK.
  • Path Prediction Service
    This service enables a mobile application to predict a user’s destination based on current route data.
  • Key-Value Store Service
    This service provides a simple key-value store for mobile applications. With this service, an application can store and retrieve application-wide state information as text by using key-value pairs.
  • Translator Service
    This service provides an interface to Microsoft Translator. It enables a mobile application to translate text from one language to another and to obtain an audio stream that renders a string in a spoken language.
  • Relay Service
    This service provides a relay point in the cloud that mobile applications can use to communicate. It provides an endpoint naming scheme and buffering for sent messages.
  • Rendezvous Service
    This service is a mapping service from well-known human-readable names to endpoints in the Hawaii Relay Service. This service uses well-known human-readable names as stable rendezvous points that can be compiled into applications.
  • Optical Character Recognition (OCR) Service
    This service takes a photographic image that contains some text and returns the text. For example, given a JPEG image of a road sign, the service would return the text of the sign.
  • Speech-to-Text Service
    This service takes a spoken phrase and returns text (currently in English only).

Application Analytics

We are pleased to offer a new application analytics service called AppInsight to project Hawaii participants. AppInsight provides you with detailed insights into how your application is being used in the wild – who your users are, when they use your app, and how they use it. AppInsight can also tell you where the performance bottlenecks in your app are, and which features of your app are being used the most.

Best of all, you don’t have to write a single new line of code to do all this! Just run your final XAP through our instrumenter and you can start seeing usage data right away.

For more information click here 

Resources

Download

Project Hawaii SDK Downloads

Select your platform

  • Windows Phone
  • Windows 8 Store Apps
  • Android

Documentation

Project Hawaii for Windows Phone

Getting Started with Development

  1. Download and install the Windows Phone SDK 7.1This download includes the Express edition of Visual Studio 2010. You can use these tools with the Professional edition of Visual Studio instead if you want. (See the Development Tools section below).
  2. Download and install Project Hawaii SDKThis SDK includes documentation, sample applications, and service client libraries for each service.
  3. Create your first ApplicationWindows Phone applications can be created by using either of the Silverlight or XNA framework. This how-to article uses Silverlight for demonstration purposes. It also demonstrates how to run your application in the emulator.
  4. Register with App HubUnlock your phone, which is required before you can run your application on a real device. This step can take days to complete, so plan ahead.
  5. Deploy your applicationInstall your application on your phone for testing.

Project Hawaii for Windows Store Apps

Getting Started with Development

  1. Install Windows 8 on your development machineYou need Windows 8 computer for both development and testing of your application
  2. Download the tools and SDKGet the tools you need to build Windows apps for Windows 8. The free download includes Microsoft Visual Studio Express 2012 for Windows 8 and Blend for Visual Studio to help jumpstart your app development project.
  3. Get Windows RT Certification KitThis kit tests your app on Windows RT before you submit it for certification and listing in the Windows Store.

Project Hawaii for Android

Introduction

The Hawaii Android Software Development Kit (SDK) is intended to help Android developers use Hawaii services easily and quickly. The SDK includes client libraries and sample Android applications for the KeyValue, Optical Character Recognition (OCR), Relay, Rendevezvous, SpeechToText (STT), TextToSpeech (TTS), Translator, and Path Prediction services. Android applications use these client libraries to interact with Hawaii services. To ease development, the SDK provides the complete source code and associated Eclipse project files.

Prerequisites

Before you can use the Hawaii Android SDK:

  • Set up the Android development environment.
  • Download the Jackson library.
  • Obtain authentication credentials.

Set up the Android Development Environment

Download the Android development environment, which is available on the following website:http://developer.android.com/sdk/installing/index.html

Ensure that you have the latest versions of the following components:

  • Java Development Kit (JDK)
  • Android SDK
  • Eclipse Classic integrated development environment (IDE)
  • Eclipse ADT plug-in for Android development

Download the Jackson Library

The SDK uses the Jackson library for JavaScript object notation (JSON) serialization and deserialization. Download the Jackson library from the following website:http://wiki.fasterxml.com/JacksonDownloadEnsure that you download the stable 2.x version, which includes the following three files:

  • Jackson-core-2.x.jar
  • Jackson-annotations-2.x.jar
  • Jackson-databind-2.x.jar 

Gallery

Project Hawaii Gallery

Featured Projects

These projects use Project Hawaii services and the Windows Phone platform. The students created these projects as part of their class curriculum and explored cloud-enabled mobile computing.

BlindHelper

Blind Helper is developed to assist people who are blind or visually impaired to identify their locations and contact with other people using smart mobile phones.

Mohamed Abd El Aziz, Karim HabakEgypt-Japan University of Science and Technology

intelligentME

We are constantly bogged with mundane routines at certain locations. For e.g: 1) Sending SMS to someone when we reach home 2) Setting ringtone profile to silent in movie theaters/workplace/school 3) Launching certain apps at certain locations (for e.g. bus arrival app at bus stop). Since there is a correlation between the location we are in and the lists of actions we want our phone to do, we believe that building a Location aware action triggering like IntelligentMe will change the way people use their smart phone.

David CHUA Zhi Hon, George HE Shuxian, Jayson ANG, QIU YuchunSingapore Management University, School of Information Systems

ReceiptManager

ReceiptManager provides you the ability to consolidate and view the digital receipts generated by your various mobile payment applications in one single location. With ReceiptManager, you can easily review your mobile expenditure history, as well as have the ability to track the geographic trail of your mobile monetary transactions via Bing Maps.

Singapore Management University, School of Information Systems

More Projects

Spring 2012

Convo

Convo is a chat mobile app with a social networking essence. Its main features include: One-to-one and group chat transfer, which has been implemented using the Hawaii relay service, local caching of chats and preservation of an exclusive chat context for each conversation. Special attention was given to the user interface, while also the application functionality has been enhanced, with features such as the Locator, to offer a better alternative to existing chat applications on Windows Phone 7.

Siddhartha Gupta, Ronald Searl and Suraj Modi University of Illinois at Urbana-Champaign

Verto

Verto is a mobile app that promotes non-monetary trading. Individuals can use the application to publish items that are willing to trade in the exchange of other items. In terms of implementation, speech to text integration is supported for most application features and an intuitive user interface has been designed for Windows mobile phones. The interaction with the Windows Azure cloud services is based on the client/server model and user authentication supports the use of Facebook accounts. On the cloud the WCF service is used to utilize the SQL Azure database.

Aviral Jain, Pranav Ram and Tej ChajedUniversity of Illinois at Urbana-Champaign

Eventeè

Eventeè is an event sharing mobile application. Close integration with Facebook has been implemented, for user authentication as well as events publishing. Bing maps and directions are used for the events. Users can invite other users to specific events and also receive event notifications and reminders. In the cloud the applications uses Windows Azure cloud services, specifically WCF data services, Open Data protocol and Binary Large Object (Blob) storage. Concerning future work, the implementation of an event suggestion algorithm is under consideration.

Fabian Becerra, Kevin Hsu, Gaurang Katyal and Taehwan KimUniversity of Illinois at Urbana-Champaign

Classelect

Classelect is a mobile app that targets to facilitate course selection out of a university curriculum and is based on three principles: Requirements (of the curriculum), Reviews & Ratings (of classes, professors etc. by students), and Recommendations (for classes you could//should take). Let’s face it, those generic course descriptions on college websites are just not enough. You don’t get to know enough about the material, nature, usefulness, the professors or just about anything about the class. If you’re lucky, all you learn is about the topics covered. These descriptions become even more important when you have multiple classes, or potentially, multiple career paths to choose from. With Class Select we aim to empower students, of any sort of education institution, to learn more about these classes they are about to take from students who have “been there, done that.” Not only can students learn about what other students think about various classes & professors, but they can also share their experiences with their peers. The app comes with some handy features which are motivated by the principles of web 2.0 and collective intelligence. Granted, there exists a fragmented market of such tools on the web, but such an idea, or app, to our knowledge does not exist on mobile platform yet. And since the future is going to be “mobile,” there exists the need for such a tool for students, who are one of the most technologically active groups nowadays.

Devbratt Harlalka, Zeqing Li and Shivam SharmaUniversity of Illinois at Urbana-Champaign

GOUR

In recent years the Restaurant Industry has begun catching on to the new wave of technology and social media outlets available everywhere. A few groups, such as OpenTable and GrubHub.com, are trying to capitalize on this new wave by providing a means to make reservations from your phone or by providing an interface to order online. However, the in-restaurant experience has been entirely static for years and years, even though there are some key weak points that could be improved with a little more technology. Our mobile and web application, GOUR, is a way to drastically improve the ins and outs of the restaurant experience. With GOUR, you can search for, make reservations for, and see all the reviews for the restaurant of your choice. Once you have made your choice, using GOUR, you can pre-order your meal, days in advance, so that it is ready once you and your party arrive. Then you can amend your order, call for service, and even pay, all using GOUR. Our platform makes it easy for the restaurant to schedule reservations, see which tables have which customers and which orders, and track which parties need assistance (for more water, or ranch dressing). With GOUR, going out to eat is a smooth and painless experience where all of the resources you need are in the palm of your hand!

Caleb Qian, Nicholas Ewalt and Justin MartinUniversity of Illinois at Urbana-Champaign

PaveMyDrive

Drivers always face situations in which they drive on roads that they are not familiar with. Driving on unfamiliar roads makes the driver a good candidate of accidents especially in night trips. Many accidents happen on specific and known spots on the map over and over again due to the same reasons as in some areas people are driving so fast, not paying much attention to the road signs or the road nature. If you know ahead about these road issues, you’d drive safer and smoother than ever.

In our solution to this problem, We are targeting vehicle drivers. We deliver notification about what will driver face soon next on roads (about potholes, bumps, congestion, road exits, accidents, U-turns, etc..). Those notifications are precious for drivers to take their precautions before ahead facing those situations.

Eslam Ashraf and Muhammed ElsayedEgypt-Japan University of Science and Technology, Egypt

TRANSLATR: A translation application for Windows Phone 7

TRANSLATR is a utility for on-the-go translations. Visual, audio, and text inputs are used for various methods of translation. Project Hawaii’s optical character recognition and speech-to-text services are used for visual and audio inputs, whereas the Bing Translator API is used for textual translations.

Jason Bussard University at Buffalo, SUNY

MusicBomb

A location based music sharing application built for the windows mobile platform with an element of a social application. Music Bomb is a LBS (location based service) Windows Phone 7 app built as part of Microsoft’s Project Hawaii. It is a music sharing application along with social networking capabilities. Users can share their favorite music with fellow users nearby. These users can make new friends with the people from the surroundings With the social network feature, user can also make new friends who are inclined to the same style of music, even meet in real life and talk more.

Vivek Nandavanam and Wei Zheng University at Buffalo, SUNY

Location Based data sharing (Location based tweets)

We developed an information sharing service with respect to location. In this system, a user provides information to the system, also it provides metadata about the same information. This information will be shared with users having same preferences as metadata, location until some threshold time limit. We used terms tagging, location-tweets, and threshold time limit for metadata, shared data and TTL respectively.

Naveen Rawat and Vikram Sawant University at Buffalo, SUNY

Securely Expanding the Web of Data to Smartphones

Data Silos are a threat to the openness of the web and hampers the potentialbenefits of the free flow of information (often referred to as Linked Data orthe Semantic Web). The modern smartphone is an example of a Data Silo, butthere are legitimate privacy concerns with allowing personal data from asmartphone device to be freely accessible. Existing solutions for makingpersonal data on a smartphone more widely available do not currently meet theneeds of a Linked Data architecture. In this paper we describe how to securelyexpose personal Linked Data from your smartphone device to authorized 3rdparties using the OAuth protocol. A proof of concept architecture OAuth basedarchitecture tackles the 3 primary data silo challenges of Duplicated Data,Ad-hoc Integration, and Data Migration. The architecture includes a OAuth 2.0server component that is connected to a mobile device via a cross-platformmobile application utilizing Phone Gap technology. We evaluate thisarchitecture and prove it to be effective. We show that highly valuablepersonal information that is locked within a smartphone can be shared in asecure way on the Semantic Web.

Matthew MarumNorth Carolina State University

See the apps created with Project Hawaii.

Spring 2010

MobiProg

  • MobiProg—Transparently Partition Applications Between Phone and Cloud. Optimizes Energy & Delay
  • Profiler—Captures Resource Usage in Runtime. Predicts Future Usage to Decide How to Partition.
  • Translation App—Capture Audio; Recognize Speech; Translate Text; Text-to-Speech; Play Audio.

Nilesh Mishra, Luis D. PedrosaUniversity of Southern California

Snakes & Dragons

  • Snake Video Game Variant—Points Earned by Eating Items. When Snake Eats Items: Snake Grows; Snake Moves Faster; Dragon Appears. Game Over When Hitting Wall or Dragon.
    • On the Phone—Game Dynamics
    • In the Cloud—Dragon Positioning Min-Max AI Engine

Joongheon KimUniversity of Southern California

Activity Classification

  • Activity Classification—Accelerometer Based. Discover Individual Daily Life Patterns. Share Datasets Within the Cloud. SVM (Support Vector Machine) AI Engine.
    • On the Phone—Collect Acceleration Data & Timestamps. Framing & Feature Extraction.
  • In the Cloud—Data Classification. Offline Processing / Model Training

Bin LiuUniversity of Southern California

Parking Assistant

  • Crowd-Sourced Parking—Driven by Social Networking. Users Rank Lots: Parking Availability, Cost, Convenience, System Finds Available Spots Close to User.
    • On the Phone—Location Tracking. User Interface
    • In the Cloud—System State. Space Ranking Algorithm

Gaurav Sanghavi, Nirmit DesaiUniversity of Southern California

SensD

  • Social Networking Mobile App—Find Friends in Real-time. Make Friends with People Around You. Let Others Know What You Are Doing.
    • On the Phone—Location Tracking. User Interface
    • In the Cloud—Data Storage & Management

Anupama Mann, Sagar KapareUniversity of Southern California

Social Connection

Phone dynamically creates your “business card” containing information about you selected appropriately for the surrounding context.

Bao, McDowell, TorskiDuke University

Adventure Game

  • Platform for Adventure Games—Treasure Hunt; Hiking; Paintball
    • On the Phone—Location & Map Service. User Management: Roles & Groups. AI Tools
    • In the Cloud—Game Specific Message Routing. Access Control Enforcement. Score Keeping

Weiwei Chen, Shuo ZhaoUniversity of Southern California

Bomb On Your Lawn

  • Location-based Multiplayer Mobile Game—Bomber Places Bomb at Geo-location; Other Players Must Find It in Time
    • On the Phone—GPS Data Acquisition. User Interface. User Management.
    • In the Cloud—Game State. Score Keeping.

Kai Song, Chengjie ZhangUniversity of Southern California

Image Stitching

  • Automatic Image Stitching—Bomber Places Bomb at Geo-location; Other Players Must Find It in Time
  • Multi-step Process—SIFT, Feature Extraction, Feature Matching, Homography Estimation, Camera Pose Estimation, Image Warping.Each Step Can Run on Phone or in Cloud. Three Strategies: Cloud-only Local-only Static-partitioning In the Cloud:

Moo-Ryong RaUniversity of Southern California

Smart Bike Pedometer

  • Smart Bike Pedometer—GPS & Accelerometer Based, Real-time Information: Burned Calories; Elapsed Time; Distance; Speed
    • On the Phone—Data Acquisition, User Interface.
    • In the Cloud—Record Keeping, Route Sharing, Road Information Datasets, Route Condition Inference Engine.

Bo-Chun WangUniversity of Southern California

DateFinder

Find a date local to you who matches your profile and interests.

Andryieuski, Olien, TanumihardjoWisconsin-Madison

Project Eyes

Assist people with speaking disabilities by enabling them to navigate a menu of words on a phone to construct sentences.

Jenkins, Liu, SuskiWisconsin-Madison

VirtualNotes

Leave virtual sticky notes in different locations and interact with others seeking similar information at a given location.

Ilikhan, Liao, MeyerWisconsin-Madison

Location-based RSS Feeds

Leave virtual sticky notes in different locations and interact with others seeking similar information at a given location.

Yin, Li, Kebyl, FlemingDuke University

Ambience Aware Ringtones

Ringtone is modified on the fly to contrast with ambient noise in the current location.

Lin, GonzalesDuke University

Spring 2011

myscience

MYSCIENCE is a free mobile app that enables individuals with smart phones to contribute to a variety of science research projects by gathering useful information using the sensors on their phones. The data is then made available in aggregate, on the cloud, to scientists.

Naran Bayanbat, Lu Li, Forrest Lin, Mike Ortiz, Vignan PattamattaStanford University

BlindHelper

Blind Helper is developed to assist people who are blind or visually impaired to identify their locations and contact with other people using smart mobile phones.

Mohamed Abd El Aziz, Karim HabakEgypt-Japan University of Science and Technology

Classroom7

Classroom7 is a cloud-enabled mobile application for the purpose of enhancing the learning process by adding more interaction and collaboration between students. Classroom7 is implemented using Windows Phone 7 and Windows Azure Cloud Computing Platform.

Moustafa Alzantot, Mohamed HatabaEgypt-Japan University of Science and Technology

PictureLock Security Manager

Traditional character passwords are difficult to remember and vulnerable to attacks from unauthorized users. We have created a method of password authentication using multiple representations of categorized pictures instead of a string. This method of authentication, named PictureLock, is incorporated into an application, named Security Organizer, that stores information for online accounts. PictureLock provides countermeasures to known access control threats.

David Chuha, Sarah Honacki, David Kronk, Marc Mustric, Peter TefftOhio State University

Information Leaking Feasibility

This project aims to explore the feasibility of information leaking on the Windows Phone 7 platform. The project stores a user-entered message on a Windows Phone 7 and collects the device ID and user’s geolocation, which is then emailed to a remote recipient. Students discovered that, thanks to Microsoft’s security architecture, information leaking is difficult to achieve on the platform without attracting user attention (and suspicion).

Desteban Escobar, Greg Landrum, Darwin ThomasOhio State University

Anywhere, Anytime, Configurable Real-time Monitoring of 802.11 Networks

Network administrators need a simple, low-cost solution that allows them to monitor their wireless networks in real-time at any time, from anywhere. Furthermore, network administrators have varying needs as to what metrics to gather from their network, and when to use each metric. In this work, we develop a proof-of-concept system that addresses these points. Our system consists of a Windows Phone 7 application which displays real-time information via polling a wireless network sniffer application for results on arbitrary metrics. We show that, upon further optimization, our solution is viable for use by network administrators in practice.

Daniel Vucci, Jesper PedersenUniversity of California Santa Barbara

  • Download paper

QUEST7: A Real Life Search Agent

Human eyes have a limited range during each eye fixation. As a result, searching specific text in a document or an image is time consuming. In this paper, we design QUEST7, a real life search agent combining the advantage of mobile devices and cloud computing. Utilizing Optical Character Recognition (OCR) service provided by MSR Project Hawaii, we extract texts from images captured on a mobile device. Keywords are then highlighted for human use. Experiments show that QUEST7 is significantly faster and more accurate than human eyes for dense texts. Extensive measurements are carried out to identify sources of delays in the process. With 3G access, network transfer latency tends to dominate. In contrast, OCR on the cloud side contributes to most of the delay with Wi-Fi access. Presented at Mobisense 2011, June 12, 2011, San Francisco, CA, USA.

Eshwar Rohit Pedamallu, Hien Nguyen, Sushil Joshi, Rong ZhengUniversity of Houston

  • Download paper

Alpha Marauders

This app is functionally a multiplayer game which is much like Worms, a turn based game where you need to wipe out another team by shooting projectiles at them. The basis of this game is two people are placed in an “arena” where they have to destroy the other team (consisting of two characters which are controlled by a single person). They then take turns moving their characters around and at the end of their turn they fire a projectile. They take turns at this process until the one’s team is completely destroyed. At this point, the game starts up with a main menu and you are prompted to join a game. After joining the game, the player needs to type in a game name which needs to match the player with whom you want to play against. The players are then put into a match against each other. As long as one has Wi-Fi activated and connected, one can play the game; otherwise one is not able to play the game. The reasoning behind developing this app is that small gimmick games are very popular, such as Angry Birds, Tiny Wings, and Fruit Ninja. This game is meant to entertain a person while they have a few minutes to waste.

Shaobo Gu, Joshua WisniewskiUniversity of Illinois at Urbana-Champaign

Mapster

Our project this semester is in collaboration with researchers at the Nation Center for Supercomputing Applications. It is essentially a system to enable personalized localized situational awareness by integrating heterogeneous sensor information. One might view it as Foursquare except that it is for emergencies. The basic premise is as follows: If you see an emergency before you or if you know of one happening nearby, you can quickly tweet about it and through the built in twitter plug in and it gets registered as an official tweet in your account. That information is then taken and overlayed onto Bing Maps; which any user with our app can view and see the exact location(via pushpins) that the incident occurred at and the detailed tweet associated with it. The user also has the option of viewing different layers on the map, in the event that they are looking for a specific type of event. Another important functionality is a slider that allows the user to view the change of the spatiotemporal animation on a map interface for heterogeneous sensor streams including OGC Web Mapping Services and citizen sensing twitter feeds. Each position of the slider corresponds to a time range (e.g. last 30 minutes, last 24 hours) and this allows the user to see all tweets that were posted within that time range as well as the weather radar information. We believe that with this as a basic premise, we have a prototype that could potentially be a very successful app, that people would use in the event of an emergency and would therefore get help warn others about the exact location and nature of the emergency.

  

Sahil Handa, Adarsh Hasija, and Pratch PiyawongwisalUniversity of Illinois at Urbana-Champaign

Traveltant

One of the biggest problems people face when travelling is a personalized planner. This Windows phone application combines data from Facebook, Bing, and Yelp to provide personalized planning and recommendation to users while travelling. Features of the application can be found on its weburl including, History aware plans and Budget Aware plans.

Sultan AlfarhoodUniversity of Arkansas

Parking Manager

Park Manager helps drivers to find nearest parking spots for their vehicles at nearest available parking areas. Also Park manager manages parking areas that are participating in the system.

Sameh Abo SamraEgypt-Japan University of Science and Technology

Home Automation using Project Hawaii and HomeOS

CSE 481M worked on a set of home automation projects using the Project Hawaii Platform and the Microsoft Research HomeOS.

Home Networking Capstone, University of Washington, CSE 481M

SMS Encryption

This project encrypts SMS messages sent from one person to another using a four-digit symmetric key (PIN). The sender enters the message and the PIN; the message is XORed with the PIN. Any eavesdropper only sees meaningless gibberish.

Patrick Mulac, Jason Carrier, Jacqueline Telljohann, David Reing, Daniel SpagnuoloOhio State University

Class projects at University of Massachusetts Lowell (91.564, Data Communications II)

  • UML Parking Finder by Peng Xia and Shan Lu, for finding parking spaces at UMass Lowell.
  • ZurianSwap by Steve Bilozur, Swapnil Gewande and Ian White for sign translation using smartphones.
  • iBridge: Augmenting Reality with Barcode by Ke Huang and Liuying Peng, to scan product barcodes with smartphone and obtain relevant information (e.g., stores nearby, compare price, nutrition analysis, etc).
  • UML Shuttle Tracker by Jason Chan, I-Hsuan Lin and Xiawei Liu, a user friendly smartphone application to look up the shuttle bus location in real time.
  • SleepSafe by Bhanu Kaushik, a smartphone based approach for sleepwalking detection.
  • Language Translator by Darshan Darbari and Rachit Mathur, language translator on smartphones for storing translated text.
  • UML App by Kavya Kona, Prathiba Dyavegowda and Sunil Kumar Balaganchi Thammaiah, All-you-want to know information about UMass Lowell (shuttle services, dining services, on-campus residence, athletic centers, libraries, emergence notifications, etc)
  • UML 4-Ride by Malav Parikh, Purva Patil, Puneet Agrawal and Pragya Singhal, providing UML students with ride service at ease with smart phones.
  • RSS Reader by Naiem Sleiman and Naji Dagher, RSS Reader for keeping up with news and information on smartphones.
  • Read university blog

Adaptive Accuracy-aware Localization for Smart Phones

Location-based smart phone applications like social networks, traffic information, health services, food services, entertainment, etc., are becoming increasingly popular, especially that GPS functionality is becoming a standard in new phones. However, GPS is a power hungry service, and using it as the only location service will quickly drain the phone’s battery especially if users need continuous updates from location-based applications. Moreover, GPS accuracy degrades in urban areas where tall buildings are present, and where the user needs accuracy the most. We propose and implement an energy-aware and accuracy-aware system that utilizes other common functionalities available in a smart phone, specifically: Bluetooth, WiFi, and accelerometer, to provide location information service that could be used by location-based applications. In Bluetooth, a smart phone device requiring to update its location information can scan nearby devices, and obtain the locations of those devices. Due to the relatively short range of Bluetooth, the device can safely copy the acquired location to be its own, and assign a 10m uncertainty on it. When using WiFi, by creating a network with nearby anchor nodes, the position of the device can be determined on triangulation basis. The accelerometer can predict how and where the device is moving, and using this data, the next position of the device could be estimated. Bluetooth, WiFi, and accelerometers require less power than GPS, but they provide varying accuracy depending on a user’s location. For example, WiFi would be more accurate than GPS in urban areas due to the high density of access points, and other people owning mobile devices. An investigation of the power consumption and accuracy of each of the four mentioned technologies will be made. An algorithm will be implemented to dynamically select the proper technology for the location service based on the input of the required accuracy, the detection of the current battery level, and the user’s setting for the battery quota provided for location-based applications. A Bayesian estimation framework will be used to model the investigated accuracy, and the available power, which can then be contrasted with the input requirement.

Salim Mohamed, Reza HajisheykhiMichigan State University

  • View poster

Illinois Phone

We propose to overhaul the current authentication system used on UIUC’s campus and automate and integrate other tasks such as room scheduling with our system. Our architecture proposes an innovative multi-step authentication approach to this problem so as to get around single point of failure. Given the proliferation of GPS enabled smart phones, each user in our system can be identified by their personal smart phones. The GPS within cell phones can authenticate that the given user is indeed within the building. Authenticating whether the user is indeed by the resource or a room to which access is being demanded however is non-trivial. We use QR codes as the second layer of authentication in our architecture for this purpose. The user can use the camera on his mobile phone and take a picture of the QR code and thus authenticate his presence right by the resource. This QR code is decoded and the string is sent to the cloud which then authenticates the user and could then unlock the resource for the user.

Amey Chaugule, Joe Fernandez, Abhishek PradhanUniversity of Illinois at Urbana-Champaign

WiPAX

WiPAX is a chat client developed for Windows Phone 7. The client is built on the Extensible Messaging and Presence Protocol (XMPP), an open-standard communications protocol used by Google Talk, Jabber, and other chat providers. The ubiquity of XMPP allows WPAX users to communicate with any other users on the same protocol that have authorized them. Of particular interest, is Google Chat which has been adopted by a large number of users. We were able to find only one, poorly rated application on the Windows Phone 7 marketplace that offered Google Chat support, which was clearly still in the early stages of development. WPAX is a fast, simple, stable, easy-to-use alternative.

Henry Beberman, Tomasz Kalbarczyk, Brian PatzinUniversity of Illinois at Urbana-Champaign

Fall 2010

intelligentME

We are constantly bogged with mundane routines at certain locations. For e.g: 1) Sending SMS to someone when we reach home 2) Setting ringtone profile to silent in movie theaters/workplace/school 3) Launching certain apps at certain locations (for e.g. bus arrival app at bus stop). Since there is a correlation between the location we are in and the lists of actions we want our phone to do, we believe that building a Location aware action triggering like IntelligentMe will change the way people use their smart phone.

David CHUA Zhi Hon, George HE Shuxian, Jayson ANG, QIU YuchunSingapore Management University, School of Information Systems

ReceiptManager

ReceiptManager provides you the ability to consolidate and view the digital receipts generated by your various mobile payment applications in one single location. With ReceiptManager, you can easily review your mobile expenditure history, as well as have the ability to track the geographic trail of your mobile monetary transactions via Bing Maps.

Singapore Management University, School of Information Systems

DaySaver

DaySaver shows exactly where the rain is and suggests what to do when it is raining.

Singapore Management University, School of Information Systems

Network Forecaster

Network Forecaster allows a user to query details of network (WIFI or 3G) and read reviews (bandwidth, signal strength, etc) left by other users who used a particular network and left comments. It also allows user to leave comments about a network for other users to see.

Aditya Pabbaraju, Srujankumar Puchakayala, Preeti PillaiUniversity of Michigan

CyberPhysical System for EKG Monitoring

The application collects ECG and EKG data from our inhouse nanosensors sensors over Bluetooth. The application works in two modalities. It can display realtime ECG data on the mobile phone screen and it can relay data to our backend server. The data sent over to the backend is geo-tagged. The data at the backend server is stored in a mysql database. The data and the location of the patient is displayed on a web based portal.

Prashanth Shyamkumar, William WilkinsUniversity of Arkansas

Location-based Games with a Purpose

We are developing a zombie based game where users can infect each other when they are physically proximate. Every user of the application uploads his latitude and longitude to a central database and a script resident on the server finds users that are close to each other. The webserver resident script notifies users devices of the phones that are close to it.

Christian WilliamsUniversity of Arkansas

MobiSafe: Avoiding Phone-calls when Driving

MobiSafe is an application that uses the Microsoft Hawaii GPS Wrapper, Skype4COM API, and a neural network service running on a server. MobiSafe is used to detect whether a driver is in a danger zone. Every driver offloads his location and speed to the server and the neural network engine and uses other input parameters (such as the number of past accidents around that location and the number of red lights around that location) to decide whether the driver is in a danger zone. Then the application intercepts an incoming call and reroutes it back to the caller, notifying that the driver is in a danger zone. By using MobiSafe, drivers are safe from being distracted by incoming calls. Also, it lets the caller know that the driver is driving and in a danger zone.

Tri NyugenUniversity of Arkansas

myFrens

The idea is to build a phone application running on Windows Phone 7 to locate friends based on GPS coordinates: users can search for friends, know where they are and what they are doing. The application also allows users to find friends to join themselves in a certain setting by creating an event. The user can simply invite all his friends to the event and wait for their reply. With just a few clicks of the button, anyone can connect to their friends wherever they are.

Angeline SU Peishan, LAM Yan Yee Cindy, TAN Kuan Liang, TSANG Wing HeiSingapore Management University, School of Information Systems

LunchBox

LunchBox allows you to instantly set up lunch appointments with group of friends in seconds, map to show current location of all attendees and maps to show restaurants that are nearby and also user defined location. It also allows instant status update about each other for all attendees and Push Notifications sent to each other.

Subeesh Basheer, Skye SimSingapore Management University, School of Information Systems

Flagged Down

Flagged Down is a mobile application that aims to allow users to search and hail cabs within their vicinity.

Alex Chng, Hendry Poh, Nicholas Szetoh, Tan Jun Ming, BevanSingapore Management University, School of Information Systems

Photo-Location Service

Photo-Location Service allows users to store photos and locations to the cloud and then retrieve photos that were taken by other users near the location of the current user. Our Photo-Location service involved two parts: the server and the client. We leveraged the Windows Azure Services and Project Hawaii in this homework project. The two services we used were Location and Storage.

Alex Crowell, Michael ChowUniversity of Michigan

Accelerometer augmented GPS for Energy-efficient Localization

The goal of this application is to minimize the energy consumption of localization using a GPS unit. The project uses an accelerometer to augment a GPS unit on a Windows Mobile phone. We are developing a HMM based algorithm to convert raw and noisy accelerometer readings into meaningful distance measures. Using an adaptive algorithm, our system will determine when to switch on the GPS unit such that accuracy is within acceptable limits (as determined by the application)—when the GPS unit is off, location is inferred from the accelerometer.

Haibo ZhangUniversity of Arkansas

CollaboratoSense: Image stitching to generate 3D Models

In this application, we use geo-tagged images taken using the windows mobile phone to generate 3D models outdoors and indoors. The mobile phones takes GPS annotated images outdoors, and accelerometer annotated images indoors and transfers it to back-end server. The backend server runs a clustering algorithm, an image stitching, and consequently a 3D model generator to generate 3D models of indoors and outdoors. Although not supported by the application yet, these models can be used to augment street views of Google Maps. The major advantage of the system is that it provides temporal consistency—the models are updated frequently based on how often pics are uploaded to the server.

Anirudh LadhaUniversity of Arkansas

Personalized Search Profiler

The goal of this application is to collect data on important contexual information that can be used to build a personalized search engine for mobile phones. Personalized search refers to building user specific models and augmenting search queries with additional information specific to the user. Such a search engine on the phone can help minimize the number of unnecessary results retrieved from the backend search service like Bing or Google. Our application profiles data on web browsing history, search history, location, to-do and calendar items. We plan to use the collected data to study the efficacy of personalized search.

Chris GaetelyUniversity of Arkansas

Test and Deploy your Applications

To test and deploy your applications on an actual device, you will need to get an App Hub membership to unlock a phone. Students may register for a one-year free membership. You need to complete all the steps below to unlock a phone for application testing.

How to Register with App Hub

Step 1: Verify as a Student with DreamSpark

  1. Go to www.dreamspark.com.
  2. Sign in with a Live ID. (If you don’t have, you can create one.)
  3. Click Get Verified.
  4. In the form, select your country from the list, click Verify as a student, click Get verified through my school, and then click Continue.
  5. Select your school.
  6. For some schools you can verify directly by using a university email ID and password or browser certificates. Otherwise, fill out the form that comes up with your name, date of birth, and email address. The email address has to be an .edu address.
  7. DreamSpark will send you a mail with the activation link. Click it to activate.You are now verified as a student and you can download any academic software from DreamSpark for free!

Step 2: Begin App Hub Registration

  1. Go to the App Hub Registration Page.
  2. Select your country, select account type as student, and fill out your personal information. Pick a developer name and gamer tag.Note It won’t ask you for payment as student registration is free.
  3. When you receive the an email with an activation link to verify your email address, click the link to activate it.You are now ready to submit apps to App Hub.
  4. In App Hub, click my dashboard > Windows phone.Although the status says that “GeoTrust is verifying the information you provided,” for student accounts that process does not start until you submit you first app. And until GeoTrust completes the identify verification, you cannot deploy and run applications on the phone. So we recommend you submit a test app just to get the GeoTrust verification process started.

Step 3: Submit an Application (to start GeoTrust verification process)

Note The purpose this step is to submit a test app to get the GeoTrust process started. The app you submit in this step does not need to be published in the Marketplace. You can withdraw it before that happens.

  1. Write a very simple application (or use the example app from the tutorial).
  2. Make sure the app works on the emulator.
  3. Go to App Hub and submit the app. In addition to submitting the .xap file, you will need to make and submit a few pictures (icons and screenshots).Read the full requirements.

Step 4: Identify Verification with GeoTrust

  1. After you submit the test app, even before the app is tested, the GeoTrust verification will kick off. Within 24 hours you will get a mail from GeoTrust.
  2. The email will contain a link to fill out a personal information form. If you have a SSN number, the process is straight forward.After you fill the form with your SSN, they will look up your credit info and ask a few multiple choice questions (based on the credit info) that are known only to you. If you get them correct, the verification process is complete! (If you do not have an SSN, or credit info, or if you do not get the multiple choice questions correct, GeoTrust may ask you to mail or fax some documents).Note After the verification is complete you can withdraw your submitted application from the Testing phase if you think your application is incomplete or is too simple.
  3. After the verification is complete, you can unlock your phone to deploy applications.

Step 5: Unlock the Phone to Deploy Applications

Follow the MSDN how-to instructions, or follow these instructions:

  1. Install the Zune software.
  2. Connect the phone to the PC. Leave the phone screen on.
  3. Click Run All Programs > Microsoft Phone Developer Tools > Windows Phone Developer Registration.
  4. Type your Live ID and password, and click Register.

Now you can deploy applications on the phone and test them (any application, not just the one you submitted to kick off GeoTrust verification above). In Visual Studio, click Windows Phone 7 Device instead of Windows Phone 7 Emulator as the target. Your app runs on the phone. Have fun!

For Developers

Windows Phone Developer Resources

These resources provide a more in-depth look into Windows Phone application development.

Forums

Documentation

Tutorials

Books

Downloads

Windows Phone Marketplace

You can submit your completed application to the Windows Phone Marketplace throught App Hub. Students may submit a limited amount of apps free of charge (see the App Hub FAQ).

About the Windows Azure Platform

Project Hawaii provides project participants with access to Windows Azure for use in creating their own cloud services. Windows Azure is Microsoft’s cloud services platform, and provides computation, database and other capabilities hosted in the cloud.

Use the Windows Azure toolkit for Windows Phone 7 to build Windows Phone 7 applications that take advantage of cloud services running in Windows Azure.

Learn more:

  • Online Library Entry for the Windows Azure Platform on MSDN
  • ASP.NET Portal on MSDN, for information on creating web applications and services by using the Microsoft .NET Framework

There are MSDN community support forums for Windows Azure, SQL Azure, and App Fabric.

Windows Azure Toolkit for Windows Phone

The Windows Azure Toolkit for Windows Phone makes it easier for you to build mobile applications that take advantage of cloud services running in Windows Azure. This toolkit includes Visual Studio project templates for Windows Phone and Windows Azure, class libraries optimized for use on the phone, sample applications, and documentation. All this content is designed to be easily reused, simplifying your experience and optimizing your time when building your own phone applications leveraging cloud services.

  • ComputationUsing Windows Azure to provide compute servers in the cloud.
  • StorageUsing Windows Azure to provide virtual SQL databases in the cloud.

Additional Development Tools

Microsoft offers many of its professional development tools and other software to students at no charge on the MSDN Academic Alliance and Microsoft DreamSpark programs.

The available tools include Visual Studio 2010 Professional edition, which in comparison with the Express edition, includes more features and also allows for extensibility add-ins and external tools. As one example, programmers who are familiar with the Emacs text editor on other platforms will likely appreciate the Emacs Emulation extension.

For Academics

Project Hawaii in the Classroom

Teach cloud-enabled mobile computing.

In partnership with universities around the world, Project Hawaii enables students to develop inventive cloud-enhanced mobile applications. Students at participating universities can use Windows Phone for accessing a set of innovative cloud services and Windows Azure for computation and data storage.

Interested in using Project Hawaii in your teaching? Send us your proposal.

Send Us Your Proposal

  1. Download the proposal form.
  2. Submit your completed proposal to us.

Faculty Resources

Find curriculum resources, to use in your classroom.

Lectures

Courtesy Prof. Rajesh Balan, Singapore Management University

Mobile and Pervasive Technology and Applications: Definitions and Technology Soup

Understand the basic definitions and technology of mobile and pervasive computing. Understand the various terms used in mobile technology and have a sense of what they mean and how they are applied.

Mobile and Pervasive Technology and Applications: Location and Context

Understand the challenges associated with location detection. Represent location information on a global map and find location of other people. Get an insight into the issues of privacy and security associated with location sharing.

Related Research Papers

Courtesy Prof. Nilanjan Banerjee, University of Arkansas

Why and What of Mobile and Pervasive Computing?

Where am I: Localization?

How do I get data over the air: Mobile and Wireless Networking?

Using Resources in the cloud: Cloud Computing in Mobile Systems and applications

Damn! Why does my phone die when I need it most? Energy Management?

About

There is a natural synergy between mobile devices and cloud services:

  • Smart phone devices have reduced CPU processing capability, reduced storage capacity, and limited battery. Most smart phones contain a variety of sensors, such as accelerometer, GPS, gyroscope, and camera, that helps users navigate thru their space.
  • Cloud services have seemingly limitless compute, storage, and networking resources, can quickly scale out with demand, and have a steady power supply.

Project Hawaii enables you to develop inventive cloud-enhanced Windows Phone applications.

Meet the Project Hawaii Team Members

BACK ROW (left to right): Gleb Krivosheev, Philip Fawcett, Ronnie ChaikenFRONT ROW (left to right): Arjmand Samuel, Jitu Padhye, Alec Wolman, Victor Bahl

Project Hawaii team members

Meet the Project Hawaii Dev Team in China

(left to right): Casper Liu, Jun He, Li Zhao, Hua Li, Xin Peng

Dev team in China

FAQ

Frequently Asked Questions

Can I use the Hawaii SDK for academic and research projects?Yes, you can use the Hawaii SDK for research, teaching, and other academic uses, free of charge. It can however not be used for any commercial applications.

How do I get in touch with Project Hawaii team?Send email to hiforum@microsoft.com.

Does Project Hawaii have a Facebook page?Yes, find us on Facebook. Click Like on our page and receive news updates from the Project Hawaii tea.

Does Hawaii Relay Service support relaying text messages or can it also relay images and other media?With the Hawaii Relay Service you can relay any bits you like, not just text.

Is there any documentation for the Project Hawaii services?Yes. See Project Hawaii Documentation.

Publications

2010

Downloads

Videos