I'm looking for a way to do this. Currently I have the office layout (electronic copy, just an overhead view of the cubicle layout, etc). This is what I want to do:

I want to make a electronic copy of the map, so that when I click on each cubicle it'll display the name of who's sitting there, their phone extension, and some other info if needed.

Does anyone know a free/open source program which will do this? Or will I need to code my own?

The map will just be the electronic map that I have, but when I click on each cubicle, or hover over it, it'll display for example:

John Doe

Ext 333

[email protected]

I'm trying to make it as simple as possible so that the office lady can easily search through, add, edit, remove people as needed.

  • I am looking to do something similar but would also like and alphabetised list of the occupants of the floor so that if you click/hover on the name it will highlight the desk. Oct 2, 2014 at 17:40
  • 1
    You could store the details in a .csv file, (spreadsheet compatible), with a desk number and use some scripting to create an html map elements with popups of the details. Oct 2, 2014 at 17:44
  • Yea I'm hoping to not have to do that as editing the files could be quite hard for the people I'm making this for.
    – nonion
    Oct 3, 2014 at 5:44
  • That is one of the things that python scripting is ideal for. Oct 4, 2014 at 4:14
  • Can you clarify on that?
    – nonion
    Oct 4, 2014 at 17:03

1 Answer 1


I would suggest creating a static web page that has the image of your office and a map section giving IDs to specify the information using ImageMapster to display the data on hover, (see the Beatles Demo for an example of this working).

If you then have a simple spreadsheet, in Excel, Open Office Calc or whatever your users use by default, that has a first column with the Desk IDs and columns for the remaining data, i.e. Name, Phone Number, email address, possibly even the filename for a photo of the occupant. This can then be used by a python script that reads the data from a .csv file exported from the spreadsheet, (or you can even read an Excel file using the xlrd library), and converts it into the data for the page.

Your users would then simply modify the contents of the spreadsheet, and run the script to update the web page. If the office layout is likely to change, more desks or a different layout then I would suggest using the excellent GIMP to create the map data to a .map file and having that as another input to your script. (There is a filter to do this, but each desk/area will have to be a closed shape.)

  • All the above software, with the exception of Excel, is free software.
  • Once set up the users will only need to update the spreadsheet and run the script.
  • Learning to program in Python is quick, easy and & fun for most people, there are a lot of books, including a number of free downloads, and a huge very helpful user community.
  • Thank you so much for the suggestion. However, the problem is that I don't know how to program in Python, so this would be hard for me. I'll still look into it though. Will this be easy if someone else want to extend the map?
    – nonion
    Oct 5, 2014 at 17:58
  • 1
    If you can program anything, (possibly even programming a Video Recorder to record a program while you are away will count), you should find that programming in python is quick and easy to get started on. I will add to the answer above. Oct 6, 2014 at 4:55

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .