JotBlog

5/9/2005

Jotspot Inaugural Hackathon

Filed under: — Joe @ 10:51 am

Can I get a shout out for the JotSpot inaugural hackathon!

Last Thursday, JotSpot had its first-ever hackathon (we were inspired by something similar done by the good folks at Atlassian). If I had advice for any company, it is that you should do this – and soon.

What the heck is a hackathon?

It’s a day-long event where our engineers each crank on something:

  • valuable to the company
  • but not what they’re “supposed” to be working on and
  • that can be taken from idea to working prototype in one day

Why do a hackathon?

Because even startups get into a grind where engineers are working on longer term projects and creativity can feel stalled.

“But, Master Yoda, I am not afraid…”

We kicked off the event (with a mighty blast of the air-horn we bought at Fry’s Electronics) at 9:00am and we stopped at 8:00pm to do presentations. Jim (Customer Support) and I (CEO) were the food mules. Two dozen Kripy Kreme doughnuts, pizza and pez served as a brain-fuel.

Here’s our intrepid group of engineers poised at the hackathon starting line (with their individual rations of “Stax” – Pringles-imitation chips).

Team JotSpot with Stax

No one knew what anyone else was going to work on. Secrecy was the word of the day. Everyone hunkered down and cranked. There were only two pauses in the action – lunch and pez.

At 8:00pm, feeling like the SAT administrator, I yelled “pencils down!” and blew the airhorn. Pizza arrived and people wandered out of their cubes looking tired and slightly myopic from all the screen time.

Presentations began at 8:15 and it was amazing what this little team produced, in a frenzied, concentrated effort. When you give people the time to do the thing that always seems “just out of reach” people’s creativity cracks wide open.

So, without further delay, here’s what we built.

Real-time Editing

Abe “The Maine Brain” Fettig (you’ll find we all have stupid nicknames with obscure backstories), built a beautiful real-time multi-user editing environment. It allows multiple people to edit the same page at the same time and makes it possible for people to lock and edit at a paragraph level. The pictures don’t do it justice (so check out the flash movie below). It will be great for conferences and the like (instead of the IRC backchannel that often happens). Can’t wait for this to get out there!

Real-time multi-user editing



Watch it in action: (click thumbnail)
Live Editing Movie




Dev Buddy Plug-in

JotSpot has a new plug-in system (not yet released but coming soon!) that allows people to extend the interface and functionality of their JotSpot. Scott “The Eagle” McMullan, our head of developer relations, built the “Dev Buddy” plug in. It’s designed to make it easier for JotSpot developers to manage their products by adding another button to the interface that gives them instant access to XML source and the current “form” on the page. In addition, it adds a project area where they can place links to all the relevant project files.

Getting to the plug-in menu:




Selecting the dev buddy plug-in:




The results… Note the addition of the button to the chrome, the error reporting at the bottom of the screen and the section in the toolbar for project files:







Resizable Text Areas and Drag and Drop Tables

Alex “Waffle Donkey” Russell and Reuben “Steel Trap” Antman developed two very cool javascript widgets. The first was a cross-browser resizable text editor. For any of you out there who have big screens and who just wish you could grab a corner of a text edit area and resize it, you’ll like this. The second widget allowed you to reorganize JotSpot table rows with drag and drop in the browser. Tasty!

Before (small text area):




After resizing in browser:





Watch it in action: (click thumbnail)




Here are the drag and drop tables.

During the drag




Watch it in action: (click thumbnail)





The Wiki Browser

Michael “Vorlon” Nestler used the JotSpot APIs to feed link data into a Java applet which gives you a visual representation of your wiki. It’s a nice way to get a birds eye view of how any JotSpot account is put together. You definitely want to see the movie of this in action.



Watch it in action: (click thumbnail)






Triggers & Events, SVG, and Link Decoration

Graham “The Neuron” Spencer built a Triggers & Events system into JotSpot that allows developers to (what else), trigger events in the system based on the events on a page. So, for example, if in a JotSpot application (such as the trouble ticket application), you move the status of a ticket from open to closed, you can trigger a whole host of events, from the sending of alert emails to the modification of other, related, pages. It’s not released yet, but when it is, it will add a whole new capability to those who are building JotSpot applications.

Graham also added general SVG rendering to JotSpot. Any wiki page whose XML content is an SVG file will now get converted to PNG or JPEG and sent to the client as an image. You can refer to resources in the wiki (like other JPEGs) by using the same wiki: protocol that you use in other pages. Why is this cool? Because it lets you use server-side Javascript and XML inside the wiki to generate whatever images you want. For example, it’s just 3 lines of text in JotSpot to make a thumbnail from an image:

<svg width="4cm” height="4cm” version="1.1″ xmlns="http://www.w3.org/2000/svg” xmlns:xlink="http://www.w3.org/1999/xlink">
   <image x="0cm” y="0cm” width="4cm” height="4cm” xlink:href="wiki:${req/args/image}” />
</svg>

Of course you can use all of the SVG filter effects and drawing tools. A few more lines of code adds a nice rounded border to your thumbnail image:

You can also use it to do Link Decoration.

You’ll be able to install a server-side Javascript function that gets called for each link displayed on the page. There are all sorts of uses for this. For example, it’s a general way to handle the strikethrough effect you see in bug trackers – you can use a property of the page to apply an arbitrary CSS style, like this:


You can change the color of the link based on how recent the last revision was:


This last example combines the SVG rendering from above with link decoration to produce sparklines. There’s a server-side Javascript program (stored in the wiki as an ordinary page) that creates a graph of recent edits to a wiki page. The X-axis is how old the edit was, the height of the bar on the Y-axis is how many characters were changed, and it’s green or red depending on whether characters were added or deleted. Then a link decorator (again implemented in server-side Javascript as a regular wiki page) is used to prepend the sparkline in front of each wiki link:


Here’s a closeup of the sparkline image:

Conclusions

All that in one day.

So what did we learn? We learned that if you give creative people the time and the ability to focus, amazing things can happen. We also learned that a single day-long event is a great format for this. In fact, we thought it worked so well that we’re going to do it again. Next time (end of May) we want to extend the concept to involve members of the JotSpot community to play along in the “home game” version. If you’re interested, drop a line to Scott McMullan (scott at jot dot com).

Last, but not least, is my favorite line of the night. Reuben “Steel Trap” Antman, was so excited by all the new stuff that he blurted “Dude, I just want to crawl into my hole [his cube], grow a beard, and build shit!”.

I couldn’t have put it any better myself.

14 Comments

  1. Great work guys - I love some of these ideas!

    If I had to pick I’d say Abe is the winner overall - the collaborative editing looks incredibly neat, like SubEthaEdit in a wiki.

    Cheers,
    Mike

    PS Thanks for the kudos to Atlassian at the start, but you seem to have forgotten the link? ;)

    Comment by Mike Cannon-Brookes — 5/9/2005 @ 1:23 pm

  2. Sorry Mike. I’ve changed the post.

    Comment by Joe Kraus — 5/9/2005 @ 1:40 pm

  3. Wow, what a fantastic concept. But why limit it to programmers? I think every company should have a monthly hackathon for all employees!

    It’s like the 3M or Google principle of working on a private project, but compressed into one super-productive day.

    Comment by Chris Yeh — 5/9/2005 @ 2:26 pm

  4. Startups, innovation, and hackathons
    It’s week two and I’m still adjusting to the culture of a startup.

    Trackback by Hey Norton! - Ken Norton\’s blog — 5/9/2005 @ 2:43 pm

  5. Funny you should mention not limiting the hackathon to just programmers. In fact, Jim (customer support) and I (CEO) did a lot of stuff to the office that just wasn’t getting done but that was needed to make things work better (e.g. whiteboards on all walls, new desks, re-arrange tables, etc). Here’s a photostream of the event. We look nerdy, don’t we… http://www.flickr.com/photos/72647490@N00/

    Comment by Joe Kraus — 5/9/2005 @ 3:02 pm

  6. JotSpot’s 20% day
    Jot, taking a cue from Atlassian’s recent experiment, reports today on their 20% day. They built some pretty interesting stuff, some of which we’ll hopefully see soon. As Mike points out in comments, Abe Fettig’s collaborative editing is just brilli…

    Trackback by Jonathan Nolen — 5/9/2005 @ 4:31 pm

  7. That’s it! u got it. Stick with the visual representation hack. It’s a strong USP. Now I feel comfortable using Jot ;)

    Comment by Danny — 5/9/2005 @ 8:08 pm

  8. Jotspot Inagural Hackathon
    Der Jotspot Inagural Hackathon hat gerade stattgefunden und einige interessante Ideen rund um das Wiki-System von JotSpot hervorgezaubert.

    Ganz nebenbei bringt so ein kleines Eventchen Aufmerksamkeit und bringt etwas positives fr das interne Klima….

    Trackback by Lummaland - das Weblog — 5/10/2005 @ 7:35 am

  9. The Jotspot Hackathon
    Motivated by Atlassian’s Hackathon the fine people at JotSpot performed the Jotspot Inagural Hackathon. The idea is for coders to work on unfamiliar turf on something that can be delivered as a prototype in a day… in one day. So

    Trackback by Oliver Thylmann\’s Blog — 5/10/2005 @ 10:29 am

  10. Fun = Innovation
    JotSpot CEO Joe Kraus blogs about how he’s trying to make sure expediency doesn’t crush innovation at his startup. His answer: Have fun! They held a Hackathon last week in which programmers spent one day furiously writing code that they’re…

    Trackback by Tech Beat — 5/10/2005 @ 11:11 am

  11. Ein Hackathon als Innovations- und Motivationsinstrument
    Bnoopy beschreibt die Idee des Hackathons bei der Firma JotSpot so: My sense is that innovation can, in reality, get quickly lost in a start up – especially once that startup is launched.

    I mention all of this because at JotSpot, we’ve been experi…

    Trackback by MEX Blog — 5/10/2005 @ 12:15 pm

  12. wiki home is jotbook.jot.com I WANT REAL TIME EDITING NOWWWWWWWWWW!!!!!!!!!1
    I AM WILLING TO MAKE MY WIKI 50% REAL TIME EDITING TO SEE HOW IT WORKS AND ALLOW ALL MY FRIENDS TO VISIT.
    HOW BOUT IT GUYS? TODAY!
    LOVE IT.
    FRANK

    Comment by Frank Geiger — 5/12/2005 @ 8:31 am

  13. Plug-ins and triggers! Things I have been waiting for forever! Joe and all– we talked a while back, but JotSpot’s beta was just a bit too undeveloped for me at that point. Now after a re-introduction, I am very impressed. The addition of the CRM app really brings it home. I’m starting to think of it like “FileMaker for the web".

    Have you guys looked at GTDTiddlyWiki or Thingamy? Unrelated, but the first is the kind of Ajax-style real-time editing I’d love to see on jotspot, and the 2nd is free-form business logic/modelling, not unlike your wiki forms.

    Comment by Josh Wand — 5/15/2005 @ 8:35 am

  14. Employee Freedom
    A topic that has intrigued me, lately, is the freedom that some companies are giving to their employees - ‘allowing’ them to explore some topics that interest them (and yet, still benefit the company) and not just menial product-upgrades….

    Trackback by John Resig — 5/21/2005 @ 8:23 am

RSS feed for comments on this post.

Leave a comment

Sorry, the comment form is closed at this time.