The benefits of web enabling a device are not always completely obvious. It is often difficult to think about things that
were previously outside of the normal frame of reference. Given that web enabling allows order of magnitude improvements in
user interfaces and remote access capabilities, out-of-the-box thinking is called for to figure out how to capitalize on this
new functionality. To make this point, we will describe here a vending machine that is very different from any vending machine
anyone has ever built. Different, in this case, is better, and it is all because the device is web enabled.
Exactly what does this Example Assume
Just to be clear, our web enabled vending machine incorporates an embedded web server and it is connected to the Internet. That is,
the machine appears as a web site when its web address is supplied to any browser connected anywhere to the Internet. To keep this
example pure, we do not presume that the machine itself contains a browser, so the actual hands-on physical interface to the machine
is conventional. (It goes without saying that there would be a certain logic to providing access to the machine's website user
interface on or near the machine itself, but for purposes of the example, we are leaving that aside.) Although not central to this
example, it is probably useful to visualize the machine as having a flash file system holding the web content pages and the nonvolatile data
associated with its operation. In this configuration, the machine would be diskless, contain a single board computer with a few megabytes
of flash and network interface and be powered by some moderate-performance 32-bit processor. It would have an RTOS and a TCP/IP stack. Most
all of these components are available off-the-shelf and would be inexpensive to build.
Machine Functionality Overview
What our web enabled vending machine dispenses is DVDs of movies for rental and sale. There are reasonably obvious advantages to
using a vending machine for this purpose: 24 x 7 operation, the cost of labor is high compared to movie rental fees associated with
video rental, and machines can be strategically placed for customer convenience in places
where stores can not be located, such as inside college dormitories. We
imagine that our machine uses a credit card for charges and to take deposits and that the DVDs are returned in some slot on the machine and
automatically restocked at the end of the rental period. If the DVD was bought, not rented, or
if it was not returned after a grace period and
penalty period, the DVD is considered to have been sold and the customer is appropriately charged.
Our web enabled vending machine hosts three websites:
- Customer Website, accessible to anyone
- Owner's Website, accessible only to the owner of the machine
- Facilities Website, access granted by the owner to authorized facilities managers
Before describing what each of these websites might offer, it is important to focus on a subtle, but very important property of
web based user interfaces: pages can display content and have hotlinks that are associated with resources available anywhere on the
Internet. Accessing these distributed resources is very easy for the interface designer via URLs and the mechanism is essentially transparent to the user
of the website. In the discussion below, the functionality as it appears to the user is described, and the user perceives most all of this
functionality to be inside the vending machine, but the implementation would be such
that only those functionalities actually associated with the physical machine will be served from the machine's internal website. For example,
information about in-stock DVDs and putting a title on hold would be implemented on the machine itself, but general information about
a movie, such as its plot summary, would be served from some conventional and presumably shared web server.
The customer website has a user friendly interface that provides the following functionality (it is not too hard to
picture the actual "website like" graphics and this is left to the reader's
imagination). Remember, this interface is available to the customer
remotely; picture the customer sitting at home. Before going to the
vending machine, the customer wants to browse the available titles and know that
the desired movie will be in the machine when they get there.
Web Available Functionality:
Display list of movies the machine carries (for example, by alphabetic pick list). For each movie, display plot
summary, actors, etc. and whether the movie is in-stock or out-of-stock.
Display list of movies in-stock at the moment (as above, but limited to only in-stock movies).
Display list of newly available movies, and a list of movies soon to be stocked in the machine.
Look-up movie by actor, director, most popular recently, etc.
Reserve a movie: takes a credit card number and holds an in-stock movie for the customer for 24 hours. Customer picks
up the movie within the 24 hour period and has the remainder of the 24 hours to return it.
Waitlist a movie: takes a credit card and an email address and holds an out-of-stock movie once it comes in for 24
hours. Sends an email to the customer notifying them that the movie is available in the machine and on hold for them.
Request that the machine be stocked with a particular movie (posts this request for the machine's owner). Can provide
email to the customer when the request has been satisfied.
Ask machine for its location, including map.
Ask machine for the location of another machine that is close by, (owned by the same owner!) that carries a particular movie. Hotlinks
to that machine's website.
Given the ease with which web enabled devices can support sophisticated user interfaces that are straight-forward to use, the customer
website can be enhanced with all kinds of additional functionality. For example, the customer can have an "account" on the machine (actually an
account with the owner of the machine that covers all of his units, a good example
of a function not actually on the vending machine itself) that
remembers credit card information and rental history. This enables "every tenth movie free" functionality and
would allow the machine to suggest a list of titles that are derived from a search based on the "people who rented what you rented also liked"
criteria. Customers could store a reminder list of films they might like to rent in the future. The system could support communication among
users whereby one customer could post a recommendation for someone else. Customers could post their own movie reviews. There is literally no
end to what could be offered to customers and web enabling the device opens up all these possibilities.
The owner's website is all business, but that does not mean that it isn't easy to use.
Keep in mind that the owner sees this interface remotely. The advantage to
remote access is as a substitute for costly actual visits to the machine and to
make the necessary visits more efficient. Not only does web enabling the
machine provide the advantage of remote access, but it has allowed the
relatively easy implementation of a much more elaborate and valuable interface
to the machine than would have been cost effective using other means.
Web Available Functionality:
Check on the status of the machine, such as what movies are now out-of-stock,
presumably because they have been bought, which are currently out as
rentals, usage statistics, remote test, etc. We leave these details to you to imagine. It is clear that the owner
will be able to increase the efficiency of servicing the machine if at any time it is possible to know remotely whether
a visit to the machine is warranted and what to bring along for the visit.
Obtain the list of titles requested by customers and their frequency.
Obtain information about referrals this machine has made to other machines.
Given that it is not uncommon for vending machines to have owners who hire technicians to service their
machines, the owner
may never actually visit a machine. Given that technicians come and go, our web enabled vending machine has been equipped
with a security access code that needs to be entered to physically open it up. The owner can change this code remotely at any time to
control access to the inside of the machine.
Although we hadn't mentioned it earlier, it turns out that our vending machine has a display screen on it to show advertising
content. Normally the owner uses that screen to hawk the machine's movies, but on occasion he sells that space to
other companies to hawk
candy or popcorn or he uses that space for a timely announcement such as the date on which he plans to stock the machine with a
particular title. The owner's web interface allows him to remotely download the content of the display screen so that it can be
In conjunction with the display screen, the owner may want to offer promotional pricing to encourage, for example, the sale of
a title that is going stale for rental. From the owner's website, it is possible to change the pricing of items in the
machine. By doing this before a site visit, it may be possible to clear out the title before sending someone to restock the machine.
Finally, given that the machine presents its user interfaces by serving web content out of its file system, the owner
can remotely upload revisions to the user interfaces, or completely new user interfaces at any time.
What is anticipated here is something like a hotel front desk interface to assist guests at the hotel who might not have Internet
access. Without describing all the details, imagine an interface that a skilled operator would find more efficient than the
Customer Website, but providing similar functionality. Remember, once the machine is web enabled, this is just a few more
HTML pages and it opens up an entire additional space of placements for the machines.
The "Coolness" Factor
Aside from the impressive array of functions and capabilities described above for our web enabled DVD vending machine, there
is also an advantage to this approach at an entirely different level. For the foreseeable future, until web enabling is as common
as television remote control clickers, web enabling will create product uniqueness. The fact is that customers will actually want to deal
with such devices and they will find them to be fun to operate. There is a value simply in the
distinctiveness imparted using this approach and the high tech shine acquired by the web enabled device.
Web enabling devices is an extremely powerful way to enhance their operational
functionality for two reasons: (1) it is much easier to implement vastly more
sophisticated user interfaces using the website paradigm than with conventional
implementation methods, and (2) remote access via the Internet is automatic.
Described above are just some ideas on leveraging the power of web enabling as
applied to something as mundane as a vending machine. Dare to think
out-of-the-box about your embedded application and see if web enabling your
device doesn't open up a world of possibilities for you.