An Interview with jsFiddle Creator Piotr Zalewa
One of the great code sharing tools was pastebin. It was simple and straight-forward but quickly grew out of its usefulness. That's where jsFiddle comes in. jsFiddle is a fresh tool that not only displays the code and highlights it but also executes its code within the browser for even better debugging. The creator of jsFiddle, Piotr Zalewa, took a few moments to answer my questions about his awesome creation.
Piotr, please share who you are, your areas of development focus, and who you are employed by.
I am a happy father, an aquarist and a web developer and I would like it to be in that order.
I have started my first commercial web development in 1996 in Poland, and now I am working for Mozilla on Add-ons Builder. The tool of choice is a mix of Django and MooTools.
For those who haven't heard of jsFiddle, explain what jsFiddle is, how it's used, and where the idea came from.
At the time I was already using MooTools on a daily basis, it was natural to choose this framework. I think it is simply the best and I still hold it.
What were some of the early difficulties you ran into when you began coding the website?
The worst was stability - there was no caching and my old server was quickly running out of memory. The other thing was the URL naming convention, jsFiddle still suffers from some of the choices made on day one.
What was the succession / timeline of features you added to jsFiddle?
There were lots of ideas from the MooTools community, but adding new features is always a lot of fun. We are simply trying not to overcomplicate the UI. I think that new interesting features came in following order: ability to save versions, testing Ajax requests, framework dependencies, adding external resources, discussing fiddles.
How long did the first release of jsFiddle take? What problems did you encounter shortly thereafter?
The functional prototype was done in 4 hours, it was written in spaghetti PHP, allowed to save HTML/JS/CSS and was opening the result in a separate browser window. Naturally, I have changed the code since then. There was so much hype I hardly remember the problems I've encountered. The one that I remember (and which was hard to solve) was the Cookie security bug. Early versions allowed to steal Cookies from jsFiddle. Someone could steal my administrator password by writing a simple fiddle and asking me to take a look. But this is no longer the case. jsFiddle is in alpha stage, so it's still before the "first release".
What pieces of jSFiddle were easier than you thought they'd be? What turned out to be more difficult?
Adding custom caching was something which took two hours - I thought it will take few days. The most difficult was (and still is) planning, the way people use jsFiddle changes and we should predict it in the code, urls and design.
One problem is management, I am always late with adding new versions. Recently I upgraded 3 of them in one day YUI, Raphael and Dojo. The other is onDomReady event - I don't know all of the frameworks and finding a default usage of onDomReady command per framework happened to be not as easy as I thought.
What affect on performance did the website experience when your added the EMBED feature?
To be honest I don't see any effect, I need to log it properly though.
How many fiddles have been saved to date?
There is over 40,000 fiddles in 160,000 versions
What features do you see adding to jsFiddle in the near future? How about the far future?
Big things - search, user registering, dashboards and social features. That's something which will change jsFiddle for good. Ephemeral fiddles as default for guests - there is no need to have a fiddle solving an issue on IRC to have an eternal live. We have some ideas for the far future, these however depend on the way people will use jsFiddle.
The Beta release will generally be a big step forward, apart from the aforementioned features, jsFiddle will get a refined interface - this is being worked on very heavily, and it already looks amazing! http://tiny.cc/d290k
Who has been influential in helping you get the website coded, designed, etc.?
Oskar Krawczyk of http://nouincolor.com. He asked me once on IRC if I'd like him to design the UI. I think the next day I knew he is the right person to do it. Since then we are working closely together (not only on jsFiddle, but also on Mozilla Add-ons Builder and some minor projects). Every now and again Oskar adds little functionally enhancements to jsFiddle - discussions, sharing, etc.
On behalf of the MooTools team and everyone that uses jsFiddle, I'd like to thank you for your work!
You are very welcome. It's great to develop for such a responsive community.
A big thanks to Piotr for his time. If you have more questions, feel free to ask him within these comments and he'll answer them as soon as he has a moment!