RoomFinder is an application I built on top of Google Maps, allowing users to search for and display internal building resources such as restrooms, offices, and individual seating such as cubicles.
I built it because I worked for a company with multiple buildings on the campus, and multiple floors in each. Using my app to locate conference rooms and fellow employees was convenient for most, and offered serious time savings for mail clerks and helpdesk personnel.
The application can run on an internal (private) server and not expose anything to the public, runs on mobile devices for portable navigation, and can be added to kiosks around the campus as well.
The controls are familiar because it operates on Google Maps, but adds additional features that are easily coded. The primary example of this is switching to different floors, and serving from an initial main page that links to RoomFinder maps of other buildings in other locations around the world (i.e. one application and database but capable of displaying many offices). Another example is a request I had from the facilities team, asking me to add an overlay option (only available to that team) that displayed all open/unused cubicles.
I would have gladly added footpath navigation to the application but at the time indoor geolocation via WiFi access points was not as prevalent as it is today, and the access points in this company were not yet compliant with the location standard.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
This is a zoomed out view of the entire building, and with Google Maps Satellite View for the base layer.
Note the floor numbers (1 through 4) at the top – these simply flip between the various floors in the building.
The “show empty offices” link in the upper left is only displayed because I am logged in as a member of the IT or Facilities departments.
Login, by the way, leverages LDAP (Active Directory) via SSO and permits custom displays.
Rooms can be color coded by regexes of the room name or type. Here conference rooms appear in light orange (Peach?), kitchenettes in green, and restrooms in yellow.
Same view as above, but now displayed with a Google Maps Map Background instead of Satellite. This is automatic when zooming in beyond the display resolution limits of the Satellite view and/or can be toggled by the user.
I added the ability to zoom to a significantly higher zoom level than Google Maps is normally capable of. I also made the default view (geolocation center coordinates and zoom level) configurable in a text file for easy modification on a per office basis.
An even higher level of zoom, and an example of a popup seen when moving your mouse over a defined room or area on the map. In this case Bruce Wayne can be seen as assigned to room 4007. His email address (or whatever information you would wish to see) is displayed. Well, blurred out because I don’t think Bruce wants me publishing his email to the internet at large.
Another option I added was to view his availability, culled from his Microsoft Outlook calendar. Unfortunately I was unable to dynamically adjust this when he was called away as Batman but that was only because Microsoft was equally unaware of these moments. Perhaps if Gotham city allowed me access to the Bat Signal API…. hmmm…..
I suppose at this point I should mention that I used the floor plans from Facilities as the base building map/display image so thanks to them for providing nice details!
Rooms, offices, cubicles, everything comes from a database I created for the application. As such, this is highly configurable for naming conventions and such.
Note that I switched to the second floor here (observed by the highlighted “2” in the upper right corner of the image). Searching for “confer” automatically began displaying matches as I typed, and also pushed those on floor 2 higher in the list. Clicking on any of these would use the Google Maps zoom out, pan, and zoom in animations for easier orientation and understanding of where the target room was located.
The search works for static rooms such as restrooms, conference rooms, wiring closets, any resources you wish to made available for users.
Employee names could be searched by first or last name, and room numbers could also be searched, as sometimes the numbers seemed randomly assigned (not blaming you Facilities team!) and could be difficult to locate merely by walking around.
Final image (for now).
This shows the result of a search, fully zoomed in and highlighting the room found. Clicking on it (or mouseover) would display the occupant information as seen above with Mr. Wayne.
If this was a kitchenette, conference room, or similar resource the popup could display availability (conference room), features of the room (e.g. copier, fax, whiteboard, etc), or ownership (e.g. see World Domination Team for key to the nuclear lab)