Here’s “Intermoos“, part two: we sit and talk to Piotr Zalewa, aka Zalun of jsFiddle fame. If you’ve not heard of jsFiddle or used it, you should stop reading this and visit it first, play with it and come back because you’d be missing out.

Whereas Zalun is not an official MooTools team member, his contribution to the MooTools community (and to the javascript community at large) through jsFiddle has been nothing short of outstanding. Oh, and yes, he prefers and uses MooTools. So here we go…

Name: Piotr Zalewa

Nickname: zalun

Country: Poland

Company: Mozilla

Blog: http://piotr.zalewa.info/

Website(s): http://jsfiddle.net/, http://builder.addons.mozilla.org/

Twitter: @zalun

GitHub: http://github.com/zalun

Famous for: mooshell and jsfiddle Piotr ZalewazalunPolandMozillamooshell and jsfiddle

A little bit about yourself, your background…

I am a father, an aquarist and a web developer. I enjoy designing and maintaining my never too big “nature style” aquarium. I like watching my children grow and learn. I also like free stuff a lot. That’s why I created jsFiddle and didn’t hesitate too long to join Mozilla Team. I started programming when I was 19. It was Turbo Pascal on XT’s and AT’s. At university I realised I like Gopher, IRC and FTP. Then in our university library someone placed 3 public computers connected to the new thing called World Wide Web. I was usually not consuming the content, but looking at how it was build. Soon I had my own website…

How and when did you get involved with MooTools or javascript?

I was hired by Moving Picture Company to create an intranet tool for movie management. They gave 10 working days to find out the best technology for the front-end. On the back-end Django was set from beginning. I was investigating all possible JavaScript frameworks and MooTools was something which I found the best, although I didn’t know anything about it at day 0.

Why MooTools, what makes it special?

Classes, clean code, ability to shape things in a way developer wants. I found a lot similarities to Python which is good as I write back-end in this language. I think it’s the best tool for someone who writes code, not only uses plugins.

What are you working on at the moment (on the framework itself, related or otherwise)?

I’d like to make Accordion better. It is considered as a bad UX, but I can’t imagine jsFiddle without it. I also started to rewrite jsFiddle – beta is coming (we aim for January). There is also another launch coming at Mozilla. We would like to have the Addon Builder 1.0 ready for the Firefox 4.0.

Are there any other Open Source technologies or projects you are involved with?

FlightDeck is open-source (as whole Mozilla), otherwise nothing I could call “involved”.

You have arguably created the most useful / groundbreaking tool for online collaborative javascript / web development testing to come out recently in jsFiddle. What gave you the idea and prompted you to do it?

I needed it. I would guess it’s the most honest answer for majority of start-ups. I was on #mootools IRC channel and we were helping new users with JavaScript/MooTools issues. We were even playing who will answer first, but the rule was – code has to fit in one line. Soon there was a question which was longer then that – although we do have pastebin I wanted to check if my idea was right before posting. I thought creating file with right DocType, including files and then loading into the browser was too much trouble. The question remained unanswered, but the next day I had a working prototype. Just as a side note – jsFiddle wouldn’t be as awesome if not help from Oskar Krawczyk who is the “front-end guy” and other members mostly around MooToos community. Thank you all very much.

What technologies power jsFiddle? How is it holding up with the huge attention and traffic it is getting, particularly due to MooTools and jQuery adopting it as the de-facto platform for testing and case building / examples?

Back-end is all Django, MySQL and memcache. It still uses Apache, but I think beta will run from within Nginx or something similar. On the front-end we do use MooTools with a bunch of plugins such as ClientCide. CodeMirror is highlighting the code.

jsFiddle started off from mooShell, a tool initially MooTools specific and Open Sourced. Does that mean that mooShell development has now ended and do you have any plans for Open Sourcing jsFiddle?

Yes – mooShell will be closed when jsFiddle beta will start. It is currently in read only mode. I am still uncertain what type of license should I use for the new jsFiddle. It is a rewrite… I’d like to make it open source, but the business model I have in mind might be against it.

What future plans can you reveal about changes and growth for jsFiddle? Anything exciting you would like to share? That ‘business model’, perhaps?

I think the most awaited is user profile with ability to personalize jsFiddle – change editor application (there is a choice now!), the way it displays code, manage the framework drop down, etc. We will also add PRO accounts with many features around private fiddles.

What requirements do you have for accepting a new framework and how should development teams approach you about getting added?

This is a hard question – it’s mostly the community behind the project. We tried to add every framework which is a “must have”. There are few exceptions (like Processing js or Raphael which aren’t even frameworks), which we simply wanted to use. Beta version will be more specified and with the ability to tweak the “hot list” we will be able to implement much more frameworks. Some will be simply hidden by default. I am also adding the “Framework manager” badge. Users with such privileges will be able to maintain the framework – upload/link new versions, add best plugins, etc. More power for the users.

If time and resources were not an issue, what new features or changes would you like to change or refactor and why?

The way the dependencies and frameworks are bond together is wrong – this is invisible for the end-user, but adding new version of the framework is currently a pain. On the front-end side – it would be fixing the layout for small touch screen devices.

If you had not been involved in jsFiddle, what do you think you’d be doing instead? I know you are currently working for Mozilla on JetPack, would you like to comment on that and give us an overview?

I had a few other ideas in mind, but these needed much more work on the beginning, which is a pain for free projects – not enough hype. “Jetpack” is a working name for the new Firefox add-ons type. Firefox 4 will have it build in. It allows to install add-ons without restarting and is really easy to write. CommonJS style. SDK currently uses Python (I think it will use NodeJS in the future) and involves some work to be done to install on the developers computer. Mozilla thought it would be good to make this a lot easier and the idea for Addon Builder aka FlightDeck arised. It could be name jsFiddle for Firefox Addons. Users are able to edit and test addons without leaving the browser.

If you could give one tip to new javascript developers, what would it be?

JavaScript developer to me is a person who writes the code – classes, plugins. The knowledge of vanilla JavaScript is essential. So the tip would be – learn vanilla JavaScript. If I would be able to give another it would be: read framework’s code. It is interesting and enlightening.

Your top 5 resources for web developers (can be websites like jsfiddle, IDEs, tutorials, CSS frameworks like boilerplate, etc)

Github, documentation sites from framework developers, VIM, IRC, Linux, Twitter. I don’t need much

If you want to share some examples of your work…

It would be http://webdev.zalewa.info/ . It’s a really old site, half of the examples there are from the time when I thought I could be a web designer, but clearly I’m not made for it. I guess you’ll find quite a few 404 on it as well.

Thank you for your time!