Giggity is an Android app that loads xcal/Pentabarf/frab/wafer XML files (that contain schedules of conferences/festivals/other events) and lets you browse them in various convenient formats.
Nowadays many events release dedicated apps (sometimes with limited features) which I don't like. :-( With Giggity I try to just offer a generic app that can be used for any event that publishes their schedule in an open format, and with maybe not a very pretty UI, but hopefully a functional one.
It's free software, and available on Google Play, F-Droid and I guess other Android markets.
It's named Giggity, after the word "Gig". The fact that it is also a well-known catch phrase of a certain cartoon character may or may not be coincidental. ;-)
You can add any suitably formatted schedule to Giggity yourself (use QR codes to make this easier), or it can be added to Giggity's main menu.
To do this, e-mail me a JSON file formatted like this:
{
"version": 2016080500,
"url": "URL_OF_YOUR_PENTABARF_FILE",
"title": "TITLE (preferably have it match the title in your Pentabarf",
"start": "2016-08-10",
"end": "2016-08-12",
"metadata": {
"links": [
{
"url": "https://www.conference.org/",
"title": "Website"
},
{
"url": "https://www.conference.org/info.pdf",
"title": "Info",
"type": "application/pdf"
},
{
"url": "https://www.conference.org/floorplan.png",
"title": "Map",
"type": "image/png"
}
],
"rooms": [
{
"name": "ROOM 1",
"latlon": [51.482598, -0.144742]
},
{
"name": "ROOM 2",
"latlon": [51.481024, -0.145571]
}
]
}
}
The metadata
section (and/or its two subsections) is optional but
recommended as it lets you define links to show automatically in
Giggity's nav drawer when viewing your event. Adding a MIME-type to a
link will make Giggity download that file and show it off-line instead
of in the browser, great for slow conference WiFi. Feel free to add other
kinds of links as you see fit.
Less commonly used: Adding room locations will make room names in event description clickable, sending the user to the given latlon in their preferred maps application (especially great if your venue has indoor maps with for example Google). Note that the room name is actually a regular expression (which could be used to combine entries for adjacent rooms for example).
To test your entry, QR-encode it using for example this command:
gzip -9 < YOURFILE.json | python2-qr --optimize=0
(sudo apt-get install python-qrcode
if it doesn't work, or at your own
risk use a different encoder. The --optimize=0
bit is to disable some
optimisation code that corrupts binary data. Or if your entry is small
and your phone camera good, just leave out the gzip.)
Then scan the code from the Giggity main menu (+ on the top-right, then "SCAN QR").
This is an Android Studio project. Good luck getting your local install to import it properly! It's a process that can either be enjoyable or make me miss Makefiles, though it appears much less fragile than it was with Eclipse?
Sadly Eclipse and Android Studio have done a great job at fscking up the indentation (meant to be tabs but got mixed here and there). Maybe I'll decrustify some day.. Please do use tabs.