
Creating an iPhone app to act as an extension to an existing back or front office application can give enterprise workers a greater degree of mobility. Building such an app in a way that hooks tightly to the Web can allow the developer to work with more familiar tools and simplify the overall process.
In today's connected world, there is a great need to be able to access the latest information. With email and calendaring, this has already happened, mainly thanks to the introduction of push email in recent years. Now that screens have become bigger on phones and bandwidth broader, the time is right to start porting enterprise applications to the iPhone.
Very often, these applications will be built as an extension to existing back and front office applications, or as applications with specific usage. Some examples:
* building inspection applications
* data collection applications
* information lookup
* 'mini' versions of CRM/sales applications
The things that all these applications have in common are their high levels of interaction with existing data and systems, and the fact that they very often combine data display with the possibility to create or modify data.
To Connect or Not to Connect?
Generally speaking, there are two ways of writing applications for the iPhone: connected and disconnected applications. If you write disconnected applications, you will have to learn Objective C and write a lot of code in Apple's (Nasdaq: AAPL) More about Apple X Code. Additionally, you will have to store whatever data you display or edit on the iPhone and write code to get it in and out of the iPhone.
The alternative is to develop connected applications. There are a couple of benefits to this approach:
* less coding
* option to use HTML
* no synchronization hassles
* real-time, live data
* easier deployment -- no installation or updates
There is one downside to this approach: When you have no connection, you have no application. In today's connected world, this is not very often a problem, unless you live in an area that has really bad coverage -- or if you travel very frequently on a plane. For enterprise applications, the many benefits of HTML-based applications outweigh the downside of not being able to run offline.
Selecting Your Tools
Many tools are available today to build Web applications. You can consider using tools you already know as well as new tools that are iPhone-friendly.
If you are building a lot of functionality, it is a good idea to see if some of it can be made generic so you can reuse it. With most business applications, you can save a lot of work if your framework takes care of the following:
* list views
* detail views
* data binding
* standard search
* standard edit layouts
On the design level, you can also standardize a lot by using cascading style sheets (CSS) in which you predefine the graphical aspects of your application, such as color usage, fonts, borders, etc. If you are building the application exclusively for the iPhone, it is a good idea to mimic the design of the standard native iPhone application. This will save you time thinking about possible designs. Additionally, the standard look and feel of the iPhone is a clear and simple user interface.
Security in Mind
Certainly, the security of your application is an element that warrants serious thought -- not only security in terms of who has access to what data, but also in terms of the transportation of the data.
If the data used in your application is not public, it is strongly recommended that you use SSL for encryption to avoid data that is visible to people who should not have access to your information. For security within the application, the most-used method is user name/password combinations, but you can also consider other methods, such as temporary keys per session distributed by SMS More about SMS.
Deploying Your Application
Once your application is ready, you will need to deploy it. The benefit of an HTML application is that this is pretty easy. If your server is accessible over the Internet, you are all set. If your server doesn't allow connections over the Internet, and you need to be able to access your application over the Internet, there are a couple of solutions. The easiest one is to use a VPN to connect to your inside network. Alternatively, you can host your application on a separate server. This will add some complexity, as you will have to synchronize the data with your central database or the outside server will have to be able to connect to your database directly.
If you want your HTML application to behave more like an iPhone application, you can consider writing a small wrapper in Objective C that essentially contains a preferences panel and an HTML area. Doing so allows you to distribute your application as a native application including an icon, but still gives you the flexibility of HTML applications.
Keep It Simple
If you look at how the iPhone was designed, you will see that the constant goal of the development team is to keep the applications as simple as possible.
You can always add functionality. The benefit of keeping your first release simple is that you can roll it out quicker and get actual feedback from the users of your application and hear about what they need directly from them.
Comments
0 comments to "Tailoring Enterprise Web Apps for the iPhone"
Yorum Gönder