This is the second guest post by Jonathan Gagné at Université de Montréal. Jonathan is a graduate student under direction of René Doyon and David Lafrenière. His research topics include the search for young brown dwarfs in the solar neighborhood and the development of methods for direct exoplanet imaging. In his first post, he told us about the Brown Dwarf Converter app he developed.
If you want an iPhone or iPad app to serve a specific research function, odds are, you’re gonna have to develop it yourself. You need three things to get started:
- Mac OS X for running Xcode
- either an iPhone or iPad on which to test the applications
- a $100 / year subscription as an Apple Developer.
First, I downloaded Xcode development tools (free) and installed it on my machine. Then, I followed tutorials on YouTube (search “build my first iPhone app”) and built some “Hello world” apps using Xcode. The user interface is very neat. You even get iPhone and iPad simulators to run your app. There are a lot of forums and web sites dedicated for helping developers (e.g. Stack Overflow). It surely helps to have some coding experience, but you don’t have to know about C, C++ or Objective-C coding at first, since a lot of things can be coded with interactive drag-and-drops or options in Xcode. When you need to code something more specific, then Google searches on Objective-C and looking at the existing code in your application can help. Objective-C is the main coding language for iOS, but it also accepts C and C++, subroutines, but unfortunately not IDL or python.
Submitting the application to the App Store can be the most complicated part. The rest of this paragraph is very technical and only for those who are in the process of submitting. However, I couldn’t find all this information in a single location so here it is:
- Subscribe to an Apple Developer account. It costs $100 per year and you can submit any number of applications you wish.
- Get an account on iTunes Connect, and create a receiving slot for your application (Manage applications / Add new app). When you complete the forms you’ll see a “waiting for binary” status.
- Plug-in your iOS device to your Mac and choose it in Xcode’s “Running Scheme” drop-down menu, instead of the default “iPhone simulator”.
- Xcode will help you through the steps of creating certificates for declaring your iOS device as the one you use for development and adding them to your keychain automatically. If you ever want to modify those after, you’ll have to login to your apple developer account created earlier, and click on “Provisioning Portal” in the right menu bar.
- Press “Run” (the “play” button in Xcode) and see if your application runs well on your own iOS device. Maybe it could be slower because your iOS device doesn’t have the same technical specifications as your Mac computer.
- When it works fine, return to Xcode and choose “Product / Archive” (the Archive menu will be grayed-out if you didn’t choose a valid iOS device as your running scheme). This will compile and archive the binary file for your app, which will be what is sent to the appstore.
- If a new window doesn’t immediately appear showing your archived application, click “Window / Organizer” in Xcode.
- Choose the binary and click “Validate” to ensure it passes some basic tests, and finally “Distribute”.
- Go back to iTunes Connect on the web and check that your app was successfully submitted. You application status should become “Waiting for review”.
- An Apple employee will review your app to make sure it doesn’t do “bad” things to the iPhone (such as draining battery power when outside the app). This process took approximately one week for me and most other people I heard from.
- Your app status will become “In review” for approximately 1 day and then, hopefully, “Ready for sale”.
Now everyone can start downloading your app!
What apps would you like to see developed for astronomers? There are plenty of star gazing apps, but what do you need at your fingertips to do your research?