aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Version vom 17. November 2013, 17:08 Uhr von Fbr (Diskussion | Beiträge) (added installation steps)
Wechseln zu: Navigation, Suche

About Labelz

Labelz Example

Create one yourself!

Labelz are small self-adhesive labels one can put on things that are somewhere in publicly used enviroments like hackerspaces, offices, workshops and so on. The label should make it possible to understand who owns this thing, what you are allowed to do with it, what to do if it is broken, if you can move it someplace else, and things like that.

The labels contain QR Codes and human readable Info (Text and Icons). Both contain the same info, the QR-Code has some failure-tolerance. It can be cut and used by itself.

Labelz bottle.jpg Labelz printer.jpg Labelz closeup.jpg


They can be created at the current test-implementation using Firefox. After the creation, check that in printing page setup all the header and footers are disabled, and that the page borders are minimal. Also, select the right printer, otherwise things go to the lazzzor... The paper format should be set to 62x30mm. Usually, the settings are safed by the web browser.

The labels can be printed on 62mm endless thermo-paper on the labelprinter on the Lazzzor computer. It is a Brother QL-560.


The flags should apply not only to junk in the lab, e.g. Beamer,Printers,Displays,Styrofoam Cutters,Toolboxes, Repraps, Food?, Bikes, Furniture, unfinished projects, you name it; Also a more general use context should be kept in mind.

Basically all the information should boil down to a short, coded, still human readable string<200 Letters, that is also replicated by the QR-Code There should be data fields, The Flags should be two-byte values that are at least human interpretable if possible, i.e. Public Domain="PD".


Software Architecture

Currently, the form is created using php, the stuff is transfered via Post to create.php. There, the plaintext string is created, skipping unspecified fields. The QR-Code is created by a found php script. Ouput is sloppyly aligned by css/divs. The text is rescaled using java-script, to be as large as possible. This only works with mozilla, and thats sufficient.

it might be cooler to go a different workflow: html form->data->executeable->png->html->printer

executeable might benefit from:

or maybe just html form->display->html->printer

current proof of concept: Labelz test Maybe use some existing online service for generating the QR codes or implement the QR library in JavaScript so we don't need an active component on the server?

Development Notepad

Currently, the thing only works with firefox. Also, the QR-Code contains too many bytes of data, as the plaintext string is directly encoded. This causes the pixels to be too small for and some smartphones have a hard time reading it. Some compression might be useful, but then you would need to make the data package a web link to a page that decodes. Needs to be solved somehow.

Content String schematic

You have flags, that are defined by a one letter. Then you have flag-specifiers, by two letters.

e.g. OwnershipType-Flag="O"

e.g. OwnershipType-Flag-Specifier="pd"=Public Domain

-> Opd

If there are strings included

"R"=responsible person

"8" number of characters following


-> R8bkubicek

as http:// links can be encoded in qr-codes, and are understand automatically by most qr-code decoders, one could per principle encode using a link [i know .lz does not exist]: http://labe.lz/V1aOpdUfrD010110 could be something like "Version 1a Ownership Public domain Use Freely". The linked page could then decode the qr-code string and present it nicely.

Included info:

  • Labelz version Flag
  • OwnershipshipType
    • Private
    • Borrowed
    • Public Domain
    • Sponsored for Public Use
    • HiveOwned
  • OwnershipString: Name of owner/responsible person/
  • Owner contact Flag
    • M email
    • T telephone
    • A im
    • J Jabber
  • Owner contact String
  • Date of tagging
  • UseageFlag:
    • Use as you wish
    • Ask owner before use
    • Use only if you know what you are doing
    • do not touch
    • use ultra carfully
  • UsageString: intended useage
  • LendingFlags:
    • Permanent remove permitted
    • borrowing allowed
    • borrowing allowed with allowance of one owner
    • borrowing allowed with allowance of the hive
    • Moving to different room ok
  • If broken
    • return to owner
    • repair yourself, if fail tell owner
    • repair, if fail, throw it away
    • destroyer rebuys, if no destroyer, notice owner
  • if unwanted
    • return to owner
    • just throw it away
    • store forever
  • Value of thing


On a new install, the Preferences print.printer_Brother_QL-700.print_margin_* have to be 0, also print.printer_Brother_QL-700.print_header* set to "" and print.printer_Brother_QL-700.print_shrink_to_fit => true.

In the printer driver a new format has to be created with width 62mm and height 30mm, printing in portrait mode.