Employee Directory


The easy way to find, call, and text your colleagues, and to navigate up and down your company's org chart.

All your employees, one tap away

Employee Directory allows you to 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.

Always available

Employee Directory always accesses the employee data from a local database on your iPhone. The information is always available, even when you are offline.

Easy integration

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.



Employee Directory requires some integration with your company's infrastructure, and is therefore intended to be set up by a technical person in your organization. The integration is simple. There are two ways you can populate the local Employee Directory database with your own company data:

  1. Via a static JSON file
  2. Via a RESTful service

Using a static JSON file

Static synchronization is the simplest approach to populate your local database with the employees in your organization. Just create a static JSON file (for example, employees.json) representing an array of employee objects, and host it on a web server.

An employee object must have the following fields:

NameDescriptionExample
idThe employee id. Must be unique.2
firstNameThe employee's first name.Julie
lastNameThe employee's last name.Taylor
managerIdThe employee's manager id.1
titleJob TitleVP of Marketing
department*DepartmentMarketing
officePhoneWork phone617-987-6541
cellPhoneMobile phone617-123-4567
emailemail addressjtaylor@employeedirectory.org
cityCity. Can include the state.Boston, MA
pictureFully qualified URL to employee's picturehttp://employeedirectory.org/pics/Julie_Taylor.jpg
twitterId*Twitter id. Can be empty string.@JulieTaylor
blogURL*Blog URL. Can be empty string.http://blogs.employeedirectory.org/julie
lastModifiedTimestamp of last modification.2012-06-01 01:00:00
deleted0 (employee active) or 1 (employee deleted)0

* currently not used in the application. You can provide an empty string as the value.

A sample employees.json file is available here:

http://employeedirectory.org/employees.json	

To synchronize with a static JSON file:

  1. Tap the Synchronize button on the home screen of the iPhone application.
  2. Tap the "Reset Local Database" button.
  3. Enter the fully qualified URL to the JSON file in the "Server Synchronization Endpoint" field.
  4. Tap the "Synchronize" button.

Limitation: The static JSON file approach doesn't support incremental synchronization. To update your local database, you have to reset the database and re-sync with a new version of the JSON file. This is fine for small organizations with a limited number of employees, but is clearly less efficient for larger organizations. In that case, consider the RESTful service approach described below.

Using a RESTful service

As an alternative to a static JSON file, you can provide a service that returns a JSON representation of the employees that have changed (created, updated, or deleted) since a specific moment in time expressed as a timestamp. The server-side technology (RoR, PHP, Java, .NET, etc.) and database system (SQL, NoSQL, etc.) you use to generate the list of changes is totally up to you.

A sample service is provided at the following URL:

http://employeedirectory.org/api/employees

The service returns an array of employee objects. Employee objects follow the structure described in the Using a Static JSON File section.

The client application uses the lastModified field of the employee record to determine the timestamp of the last synchronized item. The application then invokes your synchronization service with a query parameter named modifiedSince to request the employees that have changed (created, updated, or deleted) since then. Your service needs to handle the modifiedSince query parameter and return the corresponding employees. For example...

The following service call will return the employees modified since June 15th 2012 at 1:00am:

http://employeedirectory.org/api/employees?modifiedSince=2012-06-15 01:00:00

The following service call will return the employees modified since March 1st 2012 at 3:00pm:

http://employeedirectory.org/api/employees?modifiedSince=2012-03-01 15:00:00

The following service call will return the employees modified since January 1st 2015 at midnight (obviously, an empty list at this time):

http://employeedirectory.org/api/employees?modifiedSince=2015-01-01 00:00:00

To synchronize with a RESTful service...

The first time:

  1. Tap the Synchronize button on the home screen of the iPhone application.
  2. Tap the "Reset Local Database" button.
  3. Enter the fully qualified URL to your RESTFul service in the "Server Synchronization Endpoint" field.
  4. Tap the "Synchronize" button.

To get incremental updates:

  1. Tap the Synchronize button on the home screen of the iPhone application.
  2. Tap the "Synchronize" button on the Synchronization screen.

Note: In the current version of the application, you have to trigger the synchronization process manually as described above.

For questions and comments, please send us an email.