Homework 2 - Project Proposal

10
Homework 2 - Project Proposal Huning DAI, Nathan MURITH and Xuyang SHI {hd2210, nam2140, xs2137}@columbia.edu E6998 Mobile Computing with iPhone and Android 10 th December, 2009

Transcript of Homework 2 - Project Proposal

Page 1: Homework 2 - Project Proposal

Homework 2 - Project Proposal

Huning DAI, Nathan MURITH and Xuyang SHI{hd2210, nam2140, xs2137}@columbia.edu

E6998 Mobile Computing with iPhone and Android

10th December, 2009

Page 2: Homework 2 - Project Proposal

Contents

1 Team Members 3

2 Selected Platform 3

3 Project 33.1 Prior Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.2 PartyLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.2.1 The Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3 Why Is It Interesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 In More Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Tentative Development Timeline 9

References 10

Page 3: Homework 2 - Project Proposal

1 TEAM MEMBERS 3

1 Team Members

Our team consists of three Columbia Graduate students:

1. Huning DAI - hd2210 - [email protected]

2. Nathan MURITH - nam2140 - [email protected]

3. Xuyang SHI - xs2137 - [email protected]

2 Selected Platform

The group’s desired platform is the iPhone. However this desire is not currently final. Notall team members own a Mac and therefore not all team members have access to the iPhoneSDK. At the moment we are trying to find a solution to our problem. Worst case scenario,we will “have to” revert the Android platform. There are no real technical reasons behindour wish to work with the iPhone rather than the Android. It is more a preference fromthe point of view of usage and ownership of devices such as the iPhone or the iPod Touch.

3 Project

3.1 Prior Work

PartyLine is an already existing desktop and mobile application that was developed by JoshiKeerti, Nathan Murith, Joshua Weinberg and Green Zhang in the context of ColumbiaUniversity’s User Interface Design class (COMS4170). While both desktop and mobile ap-plications were built for PartyLine, the above mentioned class’ emphasis was on the desktopapplication. The mobile application “developed” for PartyLine was a simple, tiny and un-aesthetic html page readable from any mobile device’s internet browser. Since the mobileportion of PartyLine was developed solely for demonstration purposes for COMS4170, wehereby propose to built a full and actual mobile device application for PartyLine fromscratch as nothing from the demo dummy version is reusable for this project.

Page 4: Homework 2 - Project Proposal

3 PROJECT 4

Figure 1: PartyLine Desktop Application

3.2 PartyLine

The PartyLine application is a collaborative notification system, based on the twitter[4]API, which allows people at remote locations to issue ongoing status reports that caninclude pictures inline. The application remains stateless by distributing state among var-ious online systems for information access and storage. This is made possible by the useof multiple APIs and presumes internet access that is more or less constant. A short listof those systems that can be integrated into our application would include Twitter ([4]),GlowFoto ([1]) and TinyURL ([3]).

PartyLine allows remote stakeholders (already in attendance) to invite their friends toattend a “good” party, show, or other event already in progress, by issuing invitations orby sending status updates directly to their twitter friends or indirectly to their twitterfriends list.

PartyLine updates are distinguishable from regular tweets because they contain a spe-cially formatted tag used by our application to unify reports occurring at the same location

Page 5: Homework 2 - Project Proposal

3 PROJECT 5

with other possible friends in attendance. Moreover, these updates and invites can also beaccompanied by a relevant image. Such updates can be sent from any mobile computingdevice that supports web-page access, such as mobile phones which are network equipped.Vice versa, those twitter friends who remain at home have the ability to peruse all theremote reports (including multimedia attachments) and may filter out unwanted invites,friends, or locations to better decide which party to attend.

3.2.1 The Application

The application consists of two parts. One accessible from a mobile device which is used tosend party updates, and the other to consult what parties are ongoing, when and where.The main part of the application is the review portion of it which was developed on Flex(desktop application that will not be touched in this project). We briefly discuss both theupdate and the review functionalities of PartyLine below.

The update portion of PartyLine is the mobile device application we propose to build.It will offer the following functionalities and features:

• Authentication of the twitter user

• Send party updates as direct Twitter message or public timeline Twitter message,both with or without a picture

• Update user’s Twitter location with that of the party

• Number of currently remaining tweets

• Help on how to use the PartyLine update website

When a user submits a party update, the information in the form is sent to a proxythat does the following:

• Authentication of the twitter user (this is obviously done before the update is sent)

• Gathers party geolocation coordinates from mobile device’s GPS

• Uploads the picture (taken with the device camera) to GlowFoto ([1])

• Updates user’s twitter location ([4]) with that of the party

• Encodes party information (GlowFoto pic, Geolocation coordinates, description, title,etc) in a TinyURL ([3])

• Updates Twitter with direct or public tweet containing TinyURL tag.

Page 6: Homework 2 - Project Proposal

3 PROJECT 6

The main PartyLine application is accessible from any web and flash enabled deviceand can be used to review what parties are going on, when, where and who is attending. Inaddition to basic features, PartyLine consists essentially if two main elements: the timelineview and the map view.

Figure 2: PartyLine Timeline View

Page 7: Homework 2 - Project Proposal

3 PROJECT 7

Figure 3: PartyLine Map View

PartyLine provides the following features:

• Authentication of the twitter user (login/logout)

• Display of user’s extended information

• Display of number of currently remaining tweets

• Sorting of PartyLine tweets by twitter friend or by event

• Display of all tweets, PartyLine or regular tweets

• Display of all PartyLine tweets related to selection in “list” (regular) mode

• Display of all PartyLine tweets related to selection in “timeline” (time) mode

• Display of all PartyLine tweets related to selection in “map” (location) mode

• The possibility to remove one item at a time from either view, or clear either viewcompletely from all events

Page 8: Homework 2 - Project Proposal

3 PROJECT 8

• Help on how to use the PartyLine

3.3 Why Is It Interesting

In the initial version of PartyLine, the main stakeholders were college students who areusually pressed for time, fond of attending various parties and events and who usually arepretty computer and internet savvy. We strongly believe that if tools to help a studenttarget events based on their location, time and people already attending were easily acces-sible they would be used. It seems intuitive that the potential market is out there and thePartyLine would be, without a doubt, be used by students who already own mobile devicessuch as the iPhone, iPod Touch or the Android, who already have accounts on websitessuch as twitter, Facebook, mySpace or Linked’in, and who already rely on such tools andservices to organizes their daily lives.

In addition to the initial idea mentioned above, one can think of many situations inwhich such an application can be used with only very little modification in the originalconcept. Here are a few:

• Emergency Services: the same collaborative and notification application could beused for accidents of any kind. Imagine someone witnessing an accident, he/she caneasily and quickly take a picture of what appended and uploaded to the applicationwith precise location and description in order to make available to authorities.

• The concept can very well be adapted to an application for women who like to shopwhere they could broadcast images, location and descriptions of the latest pair ofshoes they bought.

• One could also see the application changed for hunters/fishers, where the currentlyhunting/fishing person notifies his buddies of where it’s all happening.

• And the list goes on...

3.4 In More Detail

One of the many interesting aspects of this project is that, considering the mobile devicesthat are available today, we can actually build a proper application and not simply awebpage. In this instance the application in pair with the mobile device in question is allthe more interesting for the following reasons:

Connectivity Probably the most important feature of these devices (iPhone, iPod Touchor Android) is that the are built and sold to be constantly connected to the internet,where the user may be. Be it via WiFi or 3G, the user is constantly connected whichgreatly facilitates the uses of applications such as PartyLine.

Page 9: Homework 2 - Project Proposal

4 TENTATIVE DEVELOPMENT TIMELINE 9

GPS The current location of the event being broadcasted by PartyLine being essential tothe application, these devices offer GPS functionality which provides direct geoloca-tions used by the desktop application.

Camera The built in high-quality camera will by definition be used with PartyLine.

Contact List The access to the contact list could and would be used in association withthe twitter contacts to keep track of who the user can broadcast an event to.

Google Maps It is easily envisageable to have a mobile PartyLine feature similar to thedesktop one that would take advantage of the built Google Maps application thatcould list the user’s friends’ broadcasted events on a map.

Accelerometer Currently the accelerometer functionality of the devices isn’t put to use.We could easily think of using it to detect and modify the device’s orientation todisplay the mobile PartyLine application in various formats. Obviously other ideasmay arise during development.

In addition, the project can clearly be subject to changes during the development phase.

4 Tentative Development Timeline

Below is a tentative timeline our group will try to follow when developing PartyLine:

Week 0: 2/2-8 Preliminary platform development exercises, group formation, informa-tion gather, project idea discussions

Week 1: 2/9-15 Preliminary mock up of the project. LoFi prototype of user interface.Modeling of the system, according to the MVC design pattern.

Week 2: 2/16-22 LoFi prototype user testing. Redesign of user interface according toresults from test user. Preliminary implementation of the project backend.

Week 3: 2/23-3/1 Implementation of user interface and backend of PartyLine.

Week 4: 3/2-8 In-group testing. Debugging and implementation according to testing.

3/9 Midterm review: Presentation and Demo

Week 5: 3/9-15 Testing, implementation and reimplementaton/correction

Week 6: 3/16-22 Testing, implementation and reimplementaton/correction

Week 7: 3/23-29 Testing, implementation and reimplementaton/correction

Week 8+ TBD (Testing, implementation and reimplementaton/correction)

Page 10: Homework 2 - Project Proposal

REFERENCES 10

References

[1] Glowfoto upload api, 2008. http://www.glowfoto.com/api_upload.php.

[2] Google Maps API for Flash, 2008. http://code.google.com/apis/maps/documentation/flash/.

[3] Tinyurl, 2008. http://tinyurl.com/.

[4] twitter, 2008. http://apiwiki.twitter.com/.

[5] Yahoo! maps web services - geocoding api, 2008. http://developer.yahoo.com/maps/rest/V1/geocode.html.

[6] iPhone Dev Center, 2009. http://developer.apple.com/iphone/index.action.

[7] Mobile Computing with iPhone and Android, 2009. http://www.cs.columbia.edu/

~nieh/teaching/e6998/.

[8] Bill Dudney, Chris Adamson, and MArcel Molina. iPhone SDK Development, 2009.