Graveyard infopoint

A Northern Italian Municipality asked a client of mine to develop a InfoPoint for people visiting the town’s cemeteries which are quite scattered through the city

The goal was to build an interface capable of querying a remote webservice which would provide details regarding burial site of a person or regarding upcoming funerals

We chose php as a language for the server side since the app was an actual web page served through an embedded web-server
The hardware was not something we had any chance of changing since it was a windows based system with touch screen and a printer capable of fitting into the metal casing of the info point
Also we knew that the hardware was about to get changed in a medium period, so we ditched the possibility of writing a native app (java or C)
The HTML approach was much more reusable and future-proof
Also the expected concurrent use of the infopoint was not critical at all so even a small embedded web-server should have been able to provide the necessary throughput

The challenging part of this job has been interfacing php with two different SOAP webservices provided by the municipality internal IT services
One ws was used to obtain burial and funeral details and the other one was used to retrieve a vector image of the burial site with an overlay showing the exact location of the requested grave (only regarding burial sites requests of course)
The implementation of both SOAP webservices has been obtained using standard php libraries and proved to be quite painless

The User Interface has been built using HTML5. The first screen is a full-screen page composed of a text input field and a rendered keyboard and a radio button used to choose the type of query (funerals or burial sites)
The result page is a paginated listing of results. In the case of burial sites query each row displays a thumbnail of the burial site’s map provided by the second webservice, touching the row lets the user print a magnified version of the map on a piece of paper by means of the internal printer
The print template has been obtained through the use of the @media print css query and the actual action has been obtained through the use of the window.print() function
The interface has been fully localized in English,Italian and German
For the localization purposes we chose to use _() since gettext is a standard part of php

This way each person visiting the cemeteries of that town can easily know to which cemetery go and how to find the requested grave

User interaction was managed through the use of jQuery

Leave a Reply

Your email address will not be published. Required fields are marked *

ERROR: si-captcha.php plugin says GD image support not detected in PHP!

Contact your web host and ask them why GD image support is not enabled for PHP.

ERROR: si-captcha.php plugin says imagepng function not detected in PHP!

Contact your web host and ask them why imagepng function is not enabled for PHP.