Kyan intranet gets an iPhone app makeover
The Kyan office has more than it’s fair share of Apple phone users (a company iPhone is one of the perks of working here) — On that basis it made sense to create a version of our homegrown intranet that works on the iPhone when our folk are away from the office. Duties fell to Phil and myself to bring this to fruition.
As a starting point we decided to develop a straightforward application that would group our clients and employees into lists and provide a instant dialer (An obvious function for a mobile phone really!). The plan is add functionality to the app to take advantage of the iPhone’s cool features as time and client work allows… Ideas include Google map integration using Apple’s locations services, client call requests using the iPhone’s notifications service and Google calendar integration.
Our intranet is built in Ruby on Rails using the RESTful paradim. This was really useful to kickstart the project as building a web service in Rails from the existing MVC infrastructure is a really easy. The app operates offline as well as online by caching the data in a local database — The app automatically updates itself when connected to the Kyan office network. This offers greater access speeds and means that the potential security issues about accessing our intranet database remotely without a secure socket layer are not a worry.
Initially we used a library called ObjectiveResource to manage the service / model / database interactions (ObjectiveResource attempts to port Rails’ implementation of ActiveRecord into Objective-C). But we quickly found this didn’t suit our style of development and had a detrimental effect on what we were trying to achieve. We ended up writing our own classes that were lighter weight, stripping away some of the unnecessary functionality offered by ObjectiveResource — Resulting in a leaner, meaner application.
An important tip for iPhone developers: I highly recommend strict use of your preferred SCM software while developing iPhone apps — Xcode exposes files to you the developer that manage the complex device provisioning procedure. These files are very delicate and do not take kindly to be fiddled with, so handle them with care and make sure you commit your work regularly!
We have some interesting ideas bubbling under from clients regarding iPhone projects. I can’t really discuss the detail of at present, but they integrate closely with some of the larger projects we’ve worked on recently, bringing key features of those web applications to the iPhone in an accessible way.
We’re currently on the look out for some more iPhone application projects — So if you’ve got an idea that you’d like some help with we would love to hear from you.Tweet