Jörn Zaefferer
Who is Jörn Zaefferer?
A human being from Cologne, Germany. Working as software developer and consultant, mostly Java-based desktop and web applications. Team member of the jQuery project, heavily involved in the development of QUnit and jQuery UI.
Where and when did you start programming?
I wrote my first programm at the age of five on my father’s Schneider computer (greenscreeen, tapedrive+keyboard+computer all in one device). I’m getting paid for software development since early 2006.
Best thing about jQuery?
The pursuit of utmost simplicity. Requires a lot of low-level research, looking under every stone and questioning every assumption, but very rewaring.
How do you find idea inspiration for a new plugin?
I’ve started most plugins as forks from existing code, usually abandoned. The validation plugin is the big exception, I started that from scratch with some reasearch on the jQuery mailing list – at the time, there was only one list. I think in most cases the insipiration was that people had interest in certain functionality, and either there wasn’t any existing jQuery-based solution (validation) or they were abandoned (accordion, autocomplete, treeview, tooltip). Later plugins were extracted from projects I worked on.
What does your typical day look like?
Currently doing mostly Java development as a consultant for a big insurance company. I squeeze in jQuery work, mostly on jQuery UI, where possible.
What do you do in your free time?
Playing bass, preferably in a band. Playing pen and paper and video RPGs (eg. currently exploring the wastelands in Fallout 3) and multiplayer games like Team Fortress 2 or Bad Company 2 or Left 4 Dead 2 or Modern Warfare 2. Lots of sequels there. Reading a lot, mostly feeds (about 200 subscriptions). Looking forward to Rockband 3, as the Guitar Heros (3, World Tour, 5) start to get boring.
Current favorite apps?
Firefox, Winamp, Miranda, Total Commander, Eclipse.
Twitter for iPhone is the only iPhone app I use really frequently, in addition to various built-in apps. I’ve started listening to podcasts as its so easy to get new episodes and listen to them while commuting.
What OS do you prefer?
On Windows XP since nine years. More a habit then a preferance.
Small picture for your Workplace?
Currently split across three offices: At home, at my own company, at the customer I’m consulting for. The Thinkpad R60 travels along, a desktop machine with 20″+ widescreen for the Eclipse IDE at each location, preferably more monitors where possible.
Favorite: Color, Font, Language, JS Framework?
Color: None in particular, but I like the finish of this fretless bass I found in a small shop half a year ago (even with the damages)
Font: Verdana; Consolas for IDE
Language: I’m most proficient in Java and JavaScript. I’d like to work more with Scala. None qualifies as a favorite.
I’m way too much involved in jQuery and jQuery UI to call it a favorite, though I’m also not working enough with other frameworks to have any preferences there.
Name something that has inspired you recently?
Remy Sharp talking about jsbin on the jQuery Podcast; gave me some ideas, eg. to integrate jsbin on demo pages on jqueryui to allow people to interact not just with the demo, but also the code.
Dylan Schiemann talking on the first JSConf Live Podcast about my illustration involving Mochikit, Dojo, Prototype and jQuery and how that motivated the Dojo team to make Dojo faster and more modular. That illustration showed up in 2006 in the first and only Visual jQuery Magazine and on ajaxian. Few years later the jQuery team considers that part of early days of jQuery and not very professional, so it was nice to hear that it had a positive motivational impact on the Dojo team.
What do you prefer (and why)? Freelance work or full time employment?
Never tried freelance, was and still am full time employed. I may try freelance in the next years.
What are your personal projects and goals for 2010?
Getting jQuery UI 1.9 and 2.0 released, making it even more awesome then it already is. Finding a new band to play some music, maybe even playing some gigs in and around Cologne.





Hi Jorn,
I’ve being looking into the treeview and making progress in understanding it. But I’m stumped by:
function load(settings, root, child, container) {
$.getJSON(settings.url, {root: root}, function(response) {
function createNode(parent) {
Namely, how is ‘parent’ instantiated? What aspect of Jquery is doing this? Does it only occur in plugins?