Archive | November, 2010

A few tips/gotchas about running hackathons

23 Nov
Based on various recent hackathons I’ve organised/helped:
– Make it clear people need to bring their own laptops or there’s not much point being there.

– Help people get into teams and brainstorm ideas, if they need it. A theme can help. (e.g. in Prague GTUG, it was “apps for study”; at HTML5 Game Jam, we had game themes like “Frenemies for Life”).

– If at all possible, be flexible about number of people in each team. 

– Explain schedule and judging criteria at the start of the event.

– Don’t do long presentations at the start. Just 1-2 tech overviews with pointers to more online info.

– Point out to participants which people are there as assistants, and make it clear they should feel free to ask them for help at any time. (Otherwise, people will feel it’s inappropriate to disturb them.)

– Organisers/assistants should spend some time walking around during the day. The main organiser should act as a mediator, finding the appropriate assistants when teams need help.

– Keep final demos short, e.g. 3 mins + 2 mins questions.

– They are demos, not presentations. I’ve learned that it’s not enough to say it at the start of the event – people will still come up and present slideshows if they’re not familiar with the format. So I would emphasise it again just prior to presentations. I’d even arrange an example demo ideally from one of the organisers/assistants who has themselves built something during the day.
Advertisements

TODO list for my HTML5 slide deck rewrite

17 Nov

I'm planning to rewrite my HTML5 slide deck soon. I would normally avoid the complete rewrite, but in this case it's justified because the code is very oriented around a very specific use case of slide with a background photo and a text label. It's held up well there, but any other kinds of slides required much in the way of hacking for each slideshow and I need to fix that.

Features retained:

* It's critical that markup remains extremely minimal, so the slides can easily be edited in Vim and copy-pasted between presentations. No angle brackets either!
* Support for creative commons attributions. (The current version auto-generates attribution slide for any attributions provided inline.)
* Support for embedding in an iframe. (Preferably improved.)

Main features envisioned:

* A "Master slide" (template) system where each master slide is a single file containing all HTML, CSS, and JS.
* Master slides provided by default:
????- The existing thing – background with a label.
????- Live coding, probably using contentEditable.
* Support for a print stylesheet to satisfy requests for PDF.
* Ability to "play" and "stop" iframe. (So I will finally release my "iframe player" jQuery plugin.)
* Ability to record and play back sessions with audio sync. (The current incarnation uses the "Command" pattern to facilitate recording, but I've never gotten around to the playback part.)
* More intuitive presentation – ie instructions on navigation when you load it
* Basic support for older browsers, at least showing the raw content

Demo video html5 vs flash

17 Nov
2010-11-16_14

Fiabee app demo attracts a diverse crowd #gddcz

16 Nov
Img_20101116_172255

Sent from my Nexus One

HTML5/Webkit Notification Gotchas

13 Nov

I just set out to create a notification hello world for the first time in about 6 months and came across several issues worth noting. ??These are the gotchas to be aware of:

* webkitNotifications.requestPermission() will only request permission if the function is called following a user action. (Similar to full-screening a video element, to avoid spamming and phishing.) If you try to automatically request during page load, it will have no effect.

* webkitNotifications.checkPermission() returns 0 if the app has permission and 1 if not. You would probably expect the return type to be boolean, not numeric, and moreover, you would expect the return value to be truthy if the app has permission.

* webkitNotifications.createNotification() creates an object; it doesn't actually show the notification. You need to show() the returned notification to do that.

Augmented nutrition – concept from Frog #riaworld

10 Nov
Img_20101110_111100

Sent from my Nexus One

Fiabee app demo following @paul_kinlan’s Chrome Web Store talk #gddde

9 Nov
Img_20101109_171611

Sent from my Nexus One