New in version 2.1, your kiosks can now include buttons in the web content to quit a session, navigate, change the font size, print, reload, and stop loading. Buttons can be included in any of the 5 areas on the screen (top, left, center, right, and bottom) but the action is always applied to the centre one.
You will find an example at http://ecrisper.com/buttons/buttons.htm.
This page works great when displayed in the bottom area. You can of course change the format to suit the side areas as well.
Below is a list of the actions and corresponding URLs:
|Make Text Larger||ecrisper://maketextlarger|
|Make Text Smaller||ecrisper://maketextsmaller|
This would work well for touch screen kiosks where large buttons work best. With this new feature, and the possibility to use rich web content in 5 areas, you can be very creative with your kiosk design.
However, some combinations involving the Eject key are not covered by these two methods:
|Option-Command-Eject||Put the computer to sleep|
|Control-Command-Eject||Restart the computer|
|Control Option-Command-Eject||Shut down the computer|
The solution is to use a free software utility for keyboard customization called KeyRemap4MacBook. This awesome utility allows you to re-map just about any key and works on all Mac OS X platforms.
For our kiosk problem, we need to re-map the Eject key to something else. Here is how.
- Download and install KeyRemap4MacBook (Download Link).
- Restart your computer.
- Go to System Preferences – a new icon should be there in the “Other” section at the bottom. Click on it.
- Under the Change Key tab, expand the Change Eject Key section.
- Check Eject to F15 – it could be anything but F15 does the job.
If you find any other key combinations that negatively affect your kiosks, please let me know.
For a complete list of Mac OS X keyboard shortcuts see http://support.apple.com/kb/HT1343
With large screens used by many kiosks, it can be useful to set a default zoom level. This can be achieved with eCrisper by applying a Cascading Style Sheet (CSS) that will be applied to every page loaded by the kiosk users.
1. Create a file using a text editor and name it defaultzoom.css, or any name you like as long as it has a .css extension.
2. Copy and paste the following code into the file:
Change 130 to whatever number suits you. Anything greater than 100 means zoom in; less than 100 means zoom out. Don’t forget the % percent sign!
3. In eCrisper, go to the Preferences window, under Layout. Each of the 5 webviews has a field called Style sheet. Click on the checkbox and select the location of the .css file you created.
A css file is included in eCrisper and set as default for the central webview. To activate it you simply have to click on the checkbox beside Style sheet.
Mac OS X keeps preferences in Property List files or .plist files. For eCrisper, the file is com.eCrisper.plist located in ~/Library/Preferences. The ~ refers to your home folder therefore /Library/Preferences is a path starting from the home folder.
Digital signage and kiosks can be merged into one powerful tool for high schools and colleges. Using a Mac mini with a large touch screen display (with either horizontal or vertical orientation), kiosk software such as eCrisper can be used to display news and information:
- Daily activities
- Calendar (for example using Google calendar)
- Sport schedules and recent results
- Campus news
- General announcements
- Campus map
- Weather forecast
Since eCrisper can divide the screen into 5 areas, each with its own web display, some of the information can be visible all the time.
For example, you could use the left side to display the day’s activities, the right side for sports results, and the bottom portion for a scrolling banner displaying major news and announcements.
The main web browser (middle area) could be used to display a web page with large navigation buttons pointing to the school website, the campus map, etc… You can also combine buttons (up to 20 on each side) with web content. Or you can simply use eCrisper as one full screen web browser.
Using a Mac mini with a Large screen HDTV is a great solution for kiosks. The new Mac mini is easy to connect to an HDTV using the new built-in HDMI port. And with products from NextWindow, you can easily turn most large plasma or LCD into an interactive touch screen.
It is also possible to rotate the screen 90 degrees and eCrisper will adjust to the new screen orientation.
Combined with kiosk software such as eCrisper, you can give your customers access to your website on a large screen. This should work well for museums, art galleries, or any public access information terminals.
Although eCrisper was not designed specifically for digital signage, it might be a great option to be able to display up to 5 web pages on one screen.
As for securing the Mac mini, one option can be seen at http://www.tryten.com/Apple-Mac-Security-Locks/Mac-Mini-Enclosure .
Specifically, kiosk software protects the application by blocking users from reaching the operating system or desktop. This prohibits users from changing systems settings or overwriting files stored locally.
A web based kiosk can be used to provide access to a specific website while blocking access to the rest of the web. It can also provide access to the entire web with or without a content filter to protect children.
Some applications include:
- Hotel lobbies
- Museum information kiosks
- Public Internet banking
- School and colleges
- City information terminals
- Internet cafes
- Library computers
- Waiting rooms – hospital, dentist, etc…
- Retail stores with online catalog
- Car dealership showroom
eCrisper is created specifically for Mac using the Cocoa frameworks, the same way Mac OS X itself is created. Much of Cocoa is implemented in Objective-C, an object-oriented language that is compiled to run at incredible speed.
The actual set of tools used is the Xcode developer tools package. Xcode is a very productive development platform, better than anything I have ever used under MS Window.
How can eCrisper display all the new web content including HTML5? It uses WebKit, the world’s most advanced web browser engine. WebKit is a Cocoa framework so software developers can easily integrate web browsing into their applications.
Since the web content is kept behind other objects such as the title for the top area or buttons for the side and bottom areas, web content can be used to display a simple background.
For example, if you want to add a yellow backgroung to the top area, create an html file stored locally on the drive or on a web server with the following code:
I created such a file and uploaded it as http://ecrisper.com/yellow.htm. If you specify this value for webview URL, it will display a yellow background.
Of course “yellow” can be replaced by any color (most likely an Hex value).
For an easy way to get the Hex value for a color, go to http://www.ficml.org/jemimap/style/color/wheel.html
When you add the URL value for the webview, one quick way to see the result right away is to uncheck then re-check the Display webview checkbox.
One such web application is Google Docs. Google Docs is a free, Web-based word processor, spreadsheet, presentation, form, and data storage service offered by Google. It is compatible with formats such as MS Word, OpenOffice, and RTF.
Another option is offered by Microsoft. Office Web Apps are free web-based version of Microsoft’s Office productivity suite. It includes the web-based versions of Microsoft Word, Microsoft Excel, Microsoft PowerPoint, and Microsoft OneNote.
The web apps allow users to access their documents directly from anywhere within a web browser as well as share files and collaborate with other users online.
First go to System Preferences and select Keyboard (under Hardware). Then select the Keyboard Shortcuts tab. Uncheck (disable) all of the existing shortcuts. That’s all there is to it.
Powered by WebKit, the world’s fastest and most advanced browser engine, eCrisper supports the latest web standards including HTML5 and CSS3. These standards allow web designers and developers to create advanced graphics, typography, animations, and transitions.
The new HTML5 audio and video elements make it easy for developers to deliver rich, interactive media experiences natively within the browser, without the need for proprietary technologies.
This is great news for users of eCrisper because web developers can really bring their interactive kiosks to life.
Apple put together a nice showcase of some of the features: http://apple.com/html5
This is a great way to put eCrisper to the test or any other kiosk software.
One solution is to use flexible cables, locks, and adhesives (see Tryten for some examples). This offers a simple and inexpensive solution.
I also found a clever solution at http://www.ianchor.net. The iAnchor physically fixes an iMac computer to a tabletop or desk surface. It also secures the keyboard and mouse cables so that these devices stay with your Mac.
If your iMac does get stolen, there is some hope – there is a software solution called Undercover (http://www.orbicule.com/undercover/mac/) – Have a look at their guided tour – pretty neat stuff.
Note that I haven’t actually tried these solutions and there is probably more that can be found on the Internet.
Simple and secure
By combining eCrisper’s user database with Paypal, you can accept credit card payments through a web page without the need for additional hardware or complicated processing. This solution is simple, secure, and can be used to create new accounts or recharge existing ones. What follows is a series of steps required to implement this payment solution.
Step 1 – Create a merchant account with Paypal.
Step 2 – Login to your Paypal account, go to Merchant Services, and create a Buy Now button. Specify an Item name, for example Account purchase. You can have one price for a fix number of minutes, or add a drop-down menu with price/option to offer options such as 10, 30, 60 minutes. Add 2 Text fields, Username and Password. Answer Yes/No questions and specify pages for cancel and finished checkout.
In the generated html, change the name os1 for invoice and os2 for custom. This renaming is necessary for the values to be sent by Paypal. Also, add the following line inside the form generated by Paypal (the Buy Now button) but with your own server name.
<input name="notify_url" type="hidden" value="http://ecrisper.com/ipn_process.php" />
Step 3 – Create a web page that will be displayed on the main menu, for example in the left box webview. You will find an example at ecrisper.com/accountcreation.htm – you can view the source to compare with what you got from step 2. Insert your html code from step 1 into your new page.
Step 4 – Add the following database table to keep a record of payments. Here is a simple example but you could add name, address, etc… as needed. I assume you already have tables users and sessions described in the previous posting.
1 2 3 4 5 6 7
CREATE TABLE payments (txn_id VARCHAR(30), username VARCHAR(30), amount FLOAT, currency VARCHAR(3), payment_timestamp TIMESTAMP NOT NULL DEFAULT NOW(), PRIMARY KEY (txn_id));
Step 5 – When a payment is completed successfully, we need to be notified so that we can create the new account in the database. PayPal makes this possible through Instant Payment Notification(IPN) by sending the transaction data to a script you specify (we used the name ipn_process.php in step 2). This script then has to post all the data back to PayPal and wait for a response. If the transaction is valid, PayPal will return a response “VERIFIED” and the script can create the new account.
The link below will show you an actual IPN script written in PHP. To keep it simple, it assumes that the purchase is for a new account. It could easily be modified to check if the account exists and to update the balance if it does.
Step 6 – Set eCrisper to require an account, and display the web page from step 3 in one of the webviews. In the example below it is displayed in the left box but it could be cleverly arranged to be right beside the login box.
It took me a while to figure out how to use IPN so you may need a bit of patience to get it to work. I think this is a great way to accept credit cards.
Your own central user database
eCrisper makes it easy to setup your own central user database using resources you may already have. If your current web hosting service includes MySQL and PHP, like most do, your database could be up and running in no time and at no extra cost.
Having a central user database allows you to create accounts (username/password) that can be used to access any of your kiosks.
How it works
When a user enters a valid username and password, the account balance is retrieved from the database and displayed in the form of a timer at the bottom of the screen. When the session ends, the database is updated with the new balance and the account can be used again in the future. A session may end because the user clicks on the Quit button, because the balance reaches 0, or because of an inactivity timeout.
The recommended database engine is MySQL since it is included in most web hosting packages. However, since eCrisper talks to the database through server scripts that you can modify, any database engine could be used.
The database includes only two tables:
Users: Username, Password, Balance in Seconds, Expiry Date
Sessions: Username, Kiosk ID, Seconds Used, Start Time, End Time
The server side scripts are written using the widely-used general-purpose scripting language PHP. Two PHP scripts currently exist:
startsession: When a user enters a username and password, these two values are sent to this script. The script validates the username and password, retrieves the balance, and create a record in table Sessions.
endsession: When a session ends, the number of seconds used is sent to the endsession script to update the account with the new balance and to update the Sessions record.
If you are using a demo version, you can try the access mode requiring an account (set in the Access section of the Preferences window). You can use the account username user with password password.
How can this be used
The database can be used to create prepaid cards either sold to users or distributed for free. The accounts can be created using phpMyAdmin, a web based interface to your MySQL database, or you can create your own customized web page and script.
A web page could also be created to allow your customers to purchase an account online possibly using Paypal as a method of payment. A button to this page could be displayed on the main menu. The user would create the account then use it to login. This could be a quick way to implement credit card payments without the need for a card reader and merchant accounts. Features could also include recharging an account, viewing balance, reports, etc…
This was designed to be flexible and customizable, to allow kiosk owners to use it as the foundation for their own development or to allow 3rd party developers to build new tools.
This will also be the foundation for new development such as support for cash payments with coin and bill acceptors and credit card readers, or even fingerprint scanners.
Setting up your own database
Once you have access to a server with MySQL and PHP, follow these steps:
- Your hosting service should give you access to phpMyAdmin. Use it to create a database and to run the following script to create the 2 tables – Download SQL script.
- Download the PHP scripts and copy them to your web server possibly under a PHP subdirectory. You will need to edit the file config.php with your own values – Download PHP script.
- Update the values in the Preferences window. The Authentication string is a form of password to ensure that only your kiosks can access the PHP scripts. The value in config.php should match the value in the Preferences window.
- Once your database is up and running, you can use phpMyAdmin to add users with the following SQL statement: insert into users (username,password,balance,created,updated) values (“john”,”somepassword”,3000,null,null)
Stay tuned for more info on this topic…
Setting Up the VNC Server – The computer that you want to control
Mac OS X is shipped with the VNC server component, so you just need to turn it on. Here are the steps. You will need administrator privileges.
- Open up System Preferences from the Apple menu.
- Click on the Sharing icon in the Internet and Wireless category.
- Select Remote Management from the list of items. Note the IP address.
- Click on “Computer Settings…” and check VNC viewers… and specify a password. Click Ok.
- Click on Options and select what the client can access then click Ok.
Your Mac is now set up as a VNC Server, so you can now close the System Preferences.
VNC Client – Computer used to connect to the remote computer
For the client side, there are many options but JollysFastVNC seems to be a popular one. Simply download JollyFastVNC, copy it to your Applications folder, and run it. Select the computer to control, enter the VNC password specified at the VNC server and it should connect. More info is included in the help file that comes with the VNC client if needed. Selecting the computer to control is straight forward if working within a local network but less so over the Internet.
Accessing a kiosk over the Internet may be a challenge
Most Internet connections use a dynamically generated IP address which is assigned by an ISP (Internet Service Provider) and changes frequently. A solution to this problem is to use a service like DynDNS. This service lets you choose from a list of domains (e.g. webhop.net) to which you can add a hostname to create a unique DNS record (e.g. kiosklocation1.webhop.net) that is available to the whole Internet. You then run a small free application on the kiosk to monitor the dynamic IP address and update the DNS record at DynDNS if it changes.
In most cases this public address takes you across the Internet right to your router, but once there, you need to be routed to the particular kiosk. In most cases you need to configure the cable or DSL modem. They usually have a configuration interface that is accessed as a web page. Visit DynDNS for more info on setting this up or visit LogMeIn for a different approach. Good luck.
You will greatly reduce the risk of unauthorized access to your kiosks by running eCrisper from an account with reduced access. You can also use the Mac’s Parental Controls feature to control the applications and content a kiosk user may use or view.
Managed account with parental control
- Install eCrisper first.
- Launch System Preferences.
- Click the Accounts icon to open the Accounts preferences pane.
- Click the lock icon (bottom left corner). You will be asked to provide the password for the administrator account you are currently using. Enter your password, and click the OK button. You may have to repeat this during the process.
- Click the plus (+) button located below the list of user accounts.
- The New Account sheet will appear.
- Select Managed with Parental Controls from the New Account dropdown menu at the top of the sheet.
- Enter a name for this account in the Name and Nickname fields – for example kioskuser.
- Enter a password for this account in the Password field and descriptive hint if you wish.
- Click on the Create Account button. You should be back to the Accounts pane with your new account selected and Enable parental controls checked. Do not check Allow user to administer this computer. Click on Open Parental Controls.
- Select the user you want to modify, in this case kioskuser, if it is not already selected.
- Under System check Simple Finder and Only allow selected applications. Uncheck all Applications except eCrisper under Other.
- Unckeck ‚Can Administer printers‚ Can burn CDs and DVDs, and Can Change Password.
- Select the Content tab. The Content section of Parental Controls lets you control which web sites the managed user may visit. It also lets you place a filter on the included Dictionary application, to prevent access to profanity. Web sites containing adult content will be restricted according to a proprietary method that Apple uses. You can click the Customize button to add specific web sites to allow or never allow lists.
- Go back (left arrow at the top) and click on Login Options (bottom of the account list). Set the new account as Automatic login and enter the password when required.
- That’s it. Next time you reboot it should use this new managed account. If you checked Launch automatically in the General pane of eCrisper settings, it should start as a kiosk.
- One more thing you might do: reduce the size of the taskbar to 0 in case it is displayed for a second or 2 when rebooting.
Once eCrisper is up and running, it prevents users from accessing the desktop and the file system. This will be enough for most kiosks or public access terminals but additional security can be easily added to minimize the risk of unauthorized access. This can be used with any kiosk software.
Apple Open Firmware
Open Firmware Password Protection blocks the following features. Don’t worry if you don’t know what these features are, it really doesn’t matter. Just know that they exist and bad people might use them:
- C key to start up from an optical disc.
- D key to start up from the Diagnostic volume of the Install DVD.
- N key to start up from a NetBoot server.
- T key to start up in Target Disk Mode.
- Start up in Verbose mode by pressing the Command-V key combination.
- Start up a system in Single-user mode by pressing the Command-S key combination.
- Blocks a reset of Parameter RAM by pressing the Command-Option-P-R key combination.
- Blocks the ability to start up in Safe Boot mode by pressing the Shift key during startup.
- Requires the password to use the Startup Manager, accessed by pressing the Option key during startup.
How to enable the Open Firmware Password
- Insert the Mac OS X Install DVD in your internal DVD drive.
- Restart your computer and hold the C key while it is restarting to boot from the DVD.
- Select a language as the main language.
- From the main menu at the top, select the Firmware Password Utility from the Utilities submenu. Enter a password.
- Quit the utility then quit the install application to restart your computer
For more info, go to http://support.apple.com/kb/ht1352
The story started when Steve Jobs and Steve Wozniak started a company called Apple Computer in their garage. The company grew rapidly so they hired an experienced executive named John Sculley to be its CEO. In 1985, Steve Jobs was moved to a position in which he had no control over the company at all. Within weeks, he had come up with an idea for a startup and left to form another computer company called NeXT Computer.
The idea was to create the perfect research computer for universities and research labs. NeXT hired a small team of brilliant engineers and developed a computer, an operating system, a printer, a factory, and a set of development tools. Each piece was years ahead of competing technologies including the use of Unix as the core of the operating system. The first NeXT computer was unveiled in 1988. There was a lot of amazement and excitement.
Unfortunately, the masses did not buy either the computer or the printer, and in 1993 the factory was closed. NeXT Computer became NeXT Software, and the operating system and the development tools continued to sell under the name NeXTSTEP.
Although the average computer user had never heard of NeXSTEP, it was very popular with scientists, investment banks, and intelligence agencies. Tim Berners-Lee developed the first Web browser and the first Web server on NeXTSTEP. The NeXTSTEP operating system was eventually ported to most of the popular CPUs of the day including Intel and Motorola. Oddly enough, it did not run on a Mac.
For many years, Apple had been desperately seeking to create an operating system to compete with Microsoft. They actually wanted to beat Windows 95 to market but failed. The project of creating a new operating system got out of control and Apple finally decided to pull the plug and buy the next version of Mac OS from another company. After looking at the existing operating systems, Apple selected NeXTSTEP and simply bought the whole company in February 1997. Steve Jobs became the interim CEO of Apple on September 16, 1997 and NeXTSTEP became Mac OS X.