Tuesday, May 30, 2006

Screenshot of the User Interface for LiveKiosk


After our inaugural blog post, we received a comment from Canada asking if we could provide an image of the user interface for LiveKiosk. Great request! Here it is (click for a larger version) -->

This should give you a pretty good idea of what the browser looks like when it hits the default home page. Of course, when you buy the licensed version, you can set that home page to whatever page you would like. Or you can set LiveKiosk to just show the content of a webpage without any of the "trappings" of the browser. We call this "walled garden" mode and it lets you share content from the web without necessarily allowing web browsing.

We have received another request to be able to hide the print button in settings where you don't want to offer printing, so we are going to work on that. Another good idea. Keep sending 'em our way!

Monday, May 29, 2006

Control Panel

Work on the control panel is continuing. At the moment, I'm working on making the user interface function. It's a bit of a chore as I'm dealing with four languages in order to design this portion -- SQL to store everything persistently, PHP for the server code, HTML for display, and javascript to enable client side interactivity. (There's actually five languages if you count CSS, but I only have to make changes there when my work threatens to break something the designer has already implemented.)

So what are the secrets to staying sane? Two good programming practices: compartmentalization and reuse of existing libraries. The main portion of my application is in charge of routing data between the database and the HTML forms. However, it doesn't know about either SQL or HTML. It understands the data that I am dealing with and takes care of getting it, transforming it into something the other objects can use, and sending it on to them. A database object takes care of taking the data as php variables and transforming it into SQL to query the database with. Similarly, I've stolen some ideas from Python's Quixote web framework to implement inheritable classes for the control panel's pages and modules. This allows me to put my display information into separate classes that follow their own logical rules. All the HTML is in templates within these classes. Minimal php is required to position the data the main application passes over into the templates.

All of this is standard practice (both for me and larger software projects in general.) Where I started exploring something new was when I added javascript into the mix.

Stay tuned for: Making Javascript Suck Less!

Friday, May 26, 2006

Inaugural Post!

Our LiveKiosk.com website has been getting a little bit of an overhaul in the last few days. Adding a blog was a little bit of an afterthought, but one that we are excited about.

We've also added a "live chat" feature for anyone who might come to the site and want to get answers to some immediate questions. The added bonus of "live chat" has been the real-time displaying of city and country details of the visitors to the site, which has given us a much more tangible sense of who's coming to see what LiveKiosk is all about.

LiveKiosk.com started as a humanitarian project after Hurricanes Katrina and Rita. That project still continues at www.PublicWebStations.com. As a new hurricane season approaches here in the US, we hope that it will continue to provide the opportunity for emergency shelters to quickly and painlessly deploy and maintain internet contact for both victims and aid workers. Let's hope both FEMA and the Red Cross have modified their websites to allow for the Firefox web browser!

I personally use LiveKiosk for some amount of time each day as my main computer. Given that my standard business tools are all available from a web browser (Gmail, Google Calendar, Blogger, Google Reader, SugarCRM, ZohoWriter, Google Notebook, & PBWiki), it's exciting for me to be able to be really productive professionally on vintage-1997 Dell Optiplex with no hard drive that never needs to be rebooted, or defragmented, or virus-checked, or updated--or even thought about. I realize that I live out on the extreme edges of web-based computing, but I like to think that LiveKiosk is in the path of development as people realize how inexpensive and simple computing can be when the web browser is the primary computing platform.

And since I am out on the edge, I'm also frequently the one here who brainstorms most vocally about the next additions to the program! Toshio's working on finishing up the programming for the control panel, which will allow the users to make their own changes to the main settings: changing your home page, setting a printer, switching between "walled garden" and general browsing modes, and allowing larger customers to make changes over all deployed machines. This work should be complete by the end of next month.

Thanks for visiting our site. We are looking forward to feedback and suggestions from you.

Steve
916-899-1400 direct