About a week after completing work on the first release of the Archdiocese of St. Louis' "Catholic STL" app, I decided to spend a few nights and weekends working on a more personal project...
A few months ago, I was browsing the App Store, looking for a simple Catholic news app where I could quickly browse through the latest Catholic news from a relatively comprehensive array of sources. Seeing none, and realizing that my experimental 'Catholic News Live' website already had the data I needed to build my own app, I decided to port some of the code from Catholic STL, and write my own app—Catholic News Live, or CNL for short.
All the news data, which is gathered using the Managing News Drupal distribution, which uses the Feeds module, a Geotaxonomy module, and some other glue modules, is fed into the app through a custom feed that has the news article title, URI, summary, and lat/long information.
I basically parse that data in a feed at app launch time, and whenever the user refreshes the feed, then display the data either in a list, or on a world map (at one point, I was displaying all news—including stories without a location—on the map, but it took about 10 seconds for the iPhone to drop all the news pins!).
Well, anyways, version 1.0 of the CNL (Catholic News Live) app is finally up for sale on the App Store, and I'm already squashing a few bugs for version 1.1, and working on a couple (small) new features.
I'm starting to actually wrap my mind around memory management and performance optimizations on the iPhone—knowledge that will definitely help as multi-core processors start arriving in these mobile devices! Want to know more? Ask in the comments!
- See the official page for the app: Catholic News Live - Mobile App.
- Buy the app: $0.99 on the App Store.
Listed below are a few of the bits and pieces of other open-source software I used in building the app; these are some invaluable tools to help anyone building an app to make it work as well/as intuitively as many other iOS apps, without doing quite so much grunt work: