This project is solving the Spot the Station challenge.
The ISSWave app is an extension to the current Spot the Station service. Utilising the Open Notify API to pull in ISS location data and pass predictions, providing users with information about when they can spot and #ISSWave to the International Space Station, complete challenges and collect badges, take photos of the ISS and provide a simple mechanism to share #ISSWave's, achievements and badges to their social media connections ( twitter and Facebook ) by simply waving their mobile device at the station during a pass. Finally, a website ISSWave.com will be developed and will provide a web interface that will reflect much of the functionality of the app and provide users with a record of completed challenges, badges and ISSWaves.
For the purpose of the Space Apps Challenge weekend I have focused on the Android app.
The goal for the weekend was to complete as much of the functionality below as possible.
This weekend is a starting point for the larger project combining mobile (initial development in Android) and the isswave.com website.
Key features and functionality of ISSWave
- Provide an engaging Google maps interface to display the current location of the ISS - updating at regular set intervals.
- Provide a simple mechanism for users to link / unlink their twitter and facebook accounts for social sharing
- Provide Alerts to users based on their location 10 minutes prior to an ISSWave spotting opportunity.
- Provide a list of upcoming passes based on the users location.
- Provide photo capture functionality
- Add functionality to allow the user to Tweet and update their Facebook timeline about their ISSWave by simply waving their device during the pass.
- Add current weather status via an API (currently undecided upon) - this will be used to inform the user if the conditions are favourable for a sighting.
Features requiring a user account:
- Integrate with the isswave.com website to provide challenges and badges based around spotting and ISSWaving at the ISS.
- Save ISSWaves, completed challenges and badges remotely - accessible on the isswave.com website
- Share achievements on Twitter and Facebook
The website provides similar functionality to the app allowing the user to:
- Visit and view the current position of the ISS
- Sign in and view a record of completed challenges, badges and ISSWaves
- View uploaded photos of the ISS captured by the user
The isswave.com website will be designed using responsive design techniques and provide a clear, accessible and engaging interface. The API will be developed using the open source CodeIgniter PHP framework and will provide the ISSWave app with an easy way to record on-device user activity for viewing online.
Nice to have features
If NASA would be willing to help out - prizes could be offered to users achieving certain goals / badges / completing tasks.
Prizes such as meet an astronaut, win NASA / space related apparel (books, DVDs, cups, pens, t-shirts etc), win a signed print of a photo of the earth by the astronaut that captured it, win behind the scenes access at a NASA centre, all the way up to win a parabolic flight opportunity.
This is obviously only a nice to have feature and by no means a requirement to the success of the project.
Project Source Code
The application source code that I have worked on during the weekend has been uploaded to GitHub.
Whilst the application has not been completed, the source code demonstrates the concepts and structure of the application with key classes and a framework in place for further development of the various application sections. Querying of the Open Notify API, parsing of data and local storage is in place for some sections of the app. Google maps integration has been included but is not yet complete.
Importantly, a clear framework has been developed that will provide a good base to continue development of the application.
Project InformationLicense: MIT License
Source Code/Project URL: https://github.com/barrygee/isswave