Even though we’re specialized in web development, we like new challenges.
One of our client asked if we could build a desktop application for sales agents. Agents need to scan images, also add several information using a form and submit the data when Internet connection is available. Even though it sounds easy, it can be a hard task without specific OSX experience – so why not?
Fortunately we don’t need to learn how to create native desktop applications as there’s Adobe AIR too: we can take a simpler approach and make an application which relies on existing software instead of learning through many OS-level SDKs and APIs.
As the Mac computers and scanners will be bought for this purpose, we can influence the configuration and deployment.
Well, let’s see what we need:
- Work under OSX. The Unix based fundamentals make things easy, and Adobe AIR is multiplatform!
- Scanning. The SANE project saves the day: there’s a command line utility called
scanimagethat makes scanning a breeze. There’s also twain-sane on top of that! - Work offline.
- We need to work offline and upload stuff when the computer is online again: the standard *NIX ifconfig and ipconfig commands do help!
- While we’re offline, we can store information in SQLite database and upload information when we’re online again.
- Easy deployment. As the application will be installed to 50+ computers, installing updates must be easy: Adobe AIR helps here too.
- Server side. Our beloved PHP, nothing else.
As you can see, such an application could be tricky even for experienced Mac OSX developers: but the combination of these technologies make it easier for others too!