SUMMARY
We’re looking for a web developer for correcting and doing performance optimizations on a 5-page website that runs locally on a touchscreen kiosk.
CONTEXT
The kiosk website consists of a mix of HTML, PHP and SWF. The HTML/PHP pages and a couple of SWFs are locally served by a local Apache webserver, but there is a remote SWF that needs to be loaded to the browser.
THE PROBLEM
1. The loading of the remote SWF is sometimes very slow because it’s done over a 3G/EDGE connection and the SWF weights several Megabytes.
2. Even worse, sometimes the downloading is so slow that it sometimes takes over 90 seconds to load, and an automatic “back to home” page html meta-refresh tag kicks in.
For a user experience on a kiosk, this is highly frustrating and not tolerable.
We have implemented a solution, but something is not working correctly. We need it corrected.
RESTRICTIONS FOR THE SOLUTION
1. All the pages must be requested by the browser to the local apache webserver, so that those requests get logged in apache’s log, which is then used for extracting analytics.
2. The remote SWF cannot be made local to speed the loading; it must be loaded from the remote server (but it almost never changes, therefore it can be served from the local webserver cache or even browser cache, as long as Restriction 1 is satisfied.)
3. There is nothing that can be done about the internet connection speed: it is 3G, and with varing coverage levels.
CURRENT SOLUTION STRATEGY FOR PROBLEM 1
We’ve tried to load the remote SWF from the cache while maintaining the request to the local apache in order to preserve the logging, by adding this meta-tag to each of the PHP/HTML pages:
<META HTTP-EQUIV=”CACHE-CONTROL” CONTENT=”NO-CACHE”>
However, the cache is not always used, resulting in a fresh download of the SWF, which we want to avoid.
CURRENT SOLUTION STRATEGY FOR PROBLEM 2
We currentl do not have an “idle timeout” mechanism, instead relying on a “hardcoded timeout” approach by using a meta-tag on all the pages:
<meta http-equiv=”refresh” content=”90;url=motion.html”>
(ie, 90 seconds after the page loads, the homepage “motion-html” is loaded)
DEVELOPMENT ENVIRONMENT
It’s extremely simple to set up: I’ll send you a zip with the 5 pages, and all you have to do is put them on an apache webserver with php. There is NO flash to be edited, just HTML and javascript.
DELIVERABLES REQUIRED
1. to correctly implement the solution above for problem 1
2. to implement an “idle timeout” mechanism, probably with javascript, that makes the kiosk browser load the “motion.html” homepage after 90 seconds without activity on the kiosk (examples can be found by a simple google search: http://www.google.es/search?q=javascript+idle+timeout)
REQUIRED START DATE: as soon as possible.
