Sunday, January 10, 2010

iPhone Project Management with TA Project

available on the iphone app store

I just finished developing an iPhone App called TA Project that's on the Apple App Store now. The mobile application allows a user to create tasks or to do lists for a project. It can be simply used for task management. But it can also be used for more complex budget and schedule tracking. TA Project can also compute project management metrics such as the Schedule Performance Index (SPI) and the Cost Performance Index (CPI).


You can also graph your estimate and actual cost to visually compare your performance to what you have estimated. The graph is useful to foresee whether your actual cost is going to exceed your estimate or not. Another feature of TA Project is allowing the user to post the status of a project on Twitter. One of the tabs for each project is a Twitter tab that allows reading previous posts and posting new Tweets.


I was the only developer working on the project. I used CorePlot for graphing. Overall the most complex pieces of the project were handling task dependencies, graph formatting, and making the application robust. Making the application robust includes memory management and handling network events. Integrating with Twitter was fairly simple. The app uses CoreData for data storage which uses SQLite underneath.


Xcode and CoreData make using SQLite very convenient. After getting the data model down in Xcode, most of the data pluming is done for you under the hood. This project presented some data challenges because almost every single action the user makes has to be retained.



Below are some screenshots from the app.
my projects screenshot
Home page screen. This screen shows the list of projects.




tasks screenshot
The Tasks tab. After selecting a project you come to this tab which shows the tasks for the selected project.




performance screenshot
The Performance tab. The Performance tab shows the CPI and SPI metrics in addition to the estimate and actual cost graphs.





landscape graph

Flipping the phone shows the graph in landscape mode.




twitter tab screenshot
The Twitter tab. This tab allows the user to read posts and update the status of the project on Twitter.