Employee Directory is now available on the App Store

My employee directory app is now available on the App Store. The application allows you to synchronize with your own data, look for employees by name, view their details, add them to your contacts, and see their manager and direct reports, as well as call, text, or email them.

You can watch a short video below. In particular, at the end of the video, you will see how to reset the local database (to get rid of the sample dataset), and synchronize with your own data. Go full screen for a better viewing experience.

The application was built with Backbone.js and PhoneGap.

Synchronizing with your own data

Employee Directory always accesses the employee data from a local database on your iPhone. The information is always available, even when you are offline. The application comes with a sample dataset to provide an “out-of-the-box” experience, and with a simple offline synchronization mechanism to sync with your own data.

I created a companion microsite for the application (http://employeedirectory.org/app) that provides the steps to synchronize with your own data.

The offline synchronization strategy used in the application is documented in a previous post: Simple Offline Data Synchronization for Mobile Web and PhoneGap Applications.

User Interface

The styling and skinning of the application is documented in another post: Crafting Native Looking iOS Apps with HTML, Backbone.js, and PhoneGap.

Source Code

I’m also making the source code for this application available in this repository on GitHub.

  • Leon

    Thanks for the source and video!
    But can you also explain how we can add a login screen and where to store these credentials, so we don’t need to login each time we run the app

    How would you build such a login feature with PhoneGap?

    • Ben

      Leon, sounds like you need to engage Christophe’s services.

  • Cricri

    I’ve build the android version, directly from github, without any problem :)
    Great start to explore phonegap, thanks.

    • John

      Hey Cricri is the android version available on play store??

  • You are awesome!

  • Albert

    I tried to get this working on Android 3.2. The local version of this app (Employee Directory Local) works fine but when i switch out the www folder for this one, I get the following error.

    SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.

    I can’t seem to tell what is missing and my andriodmanifest.xml file seems to look okay. Can’t confirm since that isn’t checked into repo.

  • Albert

    I solved my problem. The problem is that the new app was having problems with the older sqllite database. I had to use the FileExplorer View in Eclipse and manually delete the old database, reprovisioned the app and then ran it again.

  • Trevor

    Thank you very much for this, I’m learning a lot from just looking at your code.
    One question though, when you refresh the local database with data from the server the images belonging to the employees are referenced as plain URLs.
    This means that you have to be online and view the image before it gets cached and that kind of defeats the purpose.

    How would you pull all the new images in during the refresh? Is simultaneously triggering an appcache manifest file a possibility?

  • Kevin Herbert

    I’m trying to use flashbuilder 4.6 premium. You have covered the sqlite database and syncing and I’m looking for your guidance. Based upon my reading… do I use dao? orm? vo? events? responders? syncronous? async? My problem isn’t simple but not off the charts… i have 25 tables that need two way syncing. Most of them will not change very often and contain little data. The app will run from the local db so connectivity isn’t required. I will use sqlite on the ios/android phones and mysql on the backend server. Since onen of us has .net skill thinking about using weborb. Based upon what I’ve said I’m looking for simple and effective approach. Do you have any advice based upon these parameters? And better yet do you know of some sample code that demonstrates your suggested approach. Thanks in advance for any help you can provide.


    • Ihor

      Hi Kevin Herbert!
      Try AMF. It’s best solution for sync data and files between client and server. For php server, this is the best. For the .Net you can use ready servers like fluorinefx or weborb, or you can sync in easy way – JSON!
      Convert all data in JSON and send or recive from/to server wsdl

  • phones and mysql on the backend server. Since onen of us has .net skill thinking about using weborb.

  • Ihor

    Hi Christophe.
    I’m try to und. how to work with form attachemns in PhoneGap. It’s very hard to going from Flex to PhoneGap. I found a lot of solutions about local data and Sync with server, BUT! all samples and solutions only for easy form w/o attachments. I tal sabout enterprise app when user must attach any few files in each record, like photo/excel/text and etc. and later sync it to server. I try to und. how it will works in PhoneGap framework, but don’t find any solutions for all time.

  • It is not clear to under what licensing we can use the source code you published on GitHub. Can you please clarify?

  • You are awesome! to under what licensing we can use the source code you published on GitHub. Can you please clarify?

  • I’m learning a lot from just looking at your code..

  • Pingback: Phonegap Synchronization | QueryPost.com()

  • Rory

    I don’t seem to be able to synchronise anymore with the website that has the data. Any ideas??

  • Hello there! This post could not be written any
    better! Reading through this post reminds me of my previous room mate!
    He always kept chatting about this. I will forward this article to him.
    Pretty sure he will have a good read. Thanks for sharing!

  • UHBChy

    Embedding your css upon my web site seems shopping good. Sad to say, I should customize that. Does any individual know where to customize it. Source

  • Ткани, которые мы используем в нашей форме; Первый класс микро-блокировки; Flex-форме, антибактериальный, имеет термо-баланс, и сразу же сушки. Это дает вам свободу, чтобы переместить трикотажные изделия футбола в матче; Он предназначен стильный достаточно, чтобы носить на ежедневной основе. Наши модели выпускаются в двух типах, как мои специальных трикотажных изделий и другой цифровой распечатать.
      Его высокая производство нашей компании, мы используем спортивные носки продукты: хлопок, хлопок, полиэстер, нейлон и лайкра. Она включает в себя антибактериальные

  • thoptv apk

    It was really wonderful app and it’s very helpful – Onmovies App & On movies Apk