началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~     english

demo info-kiosk | python, mozilla | демо инфо-будка (киоск)

i made this in 2 days as prototype for an info-kiosk inside some shop. The requirements were
a) to be able to choose/sort from number of pre-classified categories, like country, price etc, and show some info-page for the choosen product, with number of linked reviews/pages;
b) use a bar-code reader to choose the product.
This demo (500 lines) does all screens and user interaction less barcode-scanning (and no data-access, be it database or else). There's builtin mozilla widget for the browsing part. My idea was to make lightest possible thing, to work on any machine. It uses only pygtk, kiwi, pygtkmoz, gtkmoz (as mozilla or xulrununer, e.g. libxul0d).


Here's a prototype which does all the user interaction less barcode-scanning and db-access (if any - it's relatively easy). The list of items is fictious, and some values are being chosen random. It's easy to add/drop characteristics - as long as someone knows what they are and how to show/filter; these are just some set.

Also, as i'm not artist-designer, the look might be a bit "formalistic", i.e. squarish. Don't worry, all these gray boxes and Helvetica fonts can be replaced with nice images as long as someone draws them (-:). Of course, regardless how round and smooth it'll get, the underlying stuff will be still treaten as boxes with widths/ heights/ positions (-:) - no escape from that. Rough math that is. And, nice looking things aren't always usable - think of fat fingers.

i decided to have one main window for browsing/filtering list of products and one item_view screen which shows choosen item, list of its reviews and which has a web-browser (mozilla) builtin and used when user clicks on some review. i know that this way the screens are a bit overloaded but i also know from experience that people tend to forget what they did at previous 1-2-3 screens and if each filter would be on separate screen that would be 5 screens. in STC we've spend days to invent how to avoid one single screen... it's something like 2 is not enough, 3 is too much.

Of course, this must be discussed properly, usability is very important in this case, and has to be taken special care of. Do not leave it to programmers and consultants, put your brains behind it, you know best what you want and who your customers are.

Here the snapshots from one example session (images are 1024x768):

a) main-screen-no-filter
on top are the 4 filters, all unset. The bottom part is list-browser, sorted by (in this case) country; sort can be by any column. Icon can be some picture of the item or brand or whatever.

b) white-color-filtered
so the user pressed filter: color=white and the result is visible. The "white" keeps being selected so its visible what characteristic is filtered and what is not

c) color-and-price-filtered
so the user pressed filter: price less than 20 and list gets down to 1 item

d) color-unfiltered-just-price
he doesnot like it and unsets the "color" filtering (by pressing the title of the filter). Now the list has 2 items

e) choose-item
user chooses one item

f) item-view-screen
item-view-screen opens. Top left are characteristic of the item, top right is list of its reviews.

g) review1-choosen
user chooses some review

h) review1-opened
review is loaded in the bottom browser. Thats a near-fully functional mozilla/firefox, so there one can go long and wide around the web. The pages shown are from my site actualy ;-)

i) review3-opened
user chooses another review then presses the "OK,close" button

j) back-to-main-screen-at-e
so this is one full cycle. user can change filtering again, or whatever.

When something gets recognised in the barcode scanner, at any time, the same item_view screen would open, with relevant item inside. When user closes it, it will return to wherever it has been before that - even if that is another item_view. This has to be well thought - all possible sequences and their implications. Thus, no separate scan_product screen is needed.

These screens can be made (later) usable as a website, with similar look-feel, so customer can browse from home (and eventualy order online). 'location' can be shops-where-available. By website i mean yoursite.com or even google-app hosted thing.

So far so good. This would run on any linux system, it takes near-zero resources - mozilla being the resource-hog - so any hardware that can run mozilla can run this; it can even run on plain desktop, just hang a mouse. All software that would go bundled in the kiosk is free - linux, mozilla, python. The code to do all this is under 500 lines python - so maintenance would be very easy.

Actualy, apart of the real thing, using this and such FAST prototypes can help building the complete set of requirements - usability, sequences, look-feel, what is possible what is not, etc.

have fun

svilen dobrev : az()svilendobrev _ com
making software - by people, for people

писалка на тефтер | ballpen on notebook

Детски нещаKids' things

Коджа кая 2019Kodzha kaia 2019
направи самdo it yourself


'2008-2023 ~ началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~   az()svilendobrev _ com