Interview with Tobi Lutke of Shopify

Today I’m doing something a little different. I’m posting the very first slash7 interview. If y’all are interested, I might make it a habit!

Our first hapless interviewee is Rails core member Tobi Lütke of jaded Pixel. You may not immediately recognize either of those names, but surely you’ve heard of Typo, which originated with Tobi, and Shopify, which is perhaps the most-anticipated Rails app that doesn’t roost in 37Signal’s stable. (Yes, I know I’m mixing animal metaphors here, you pedant!) You’ve also probably heard of Liquid, the safe, user-friendly theme language jaded Pixel developed so that Rails developers can let their users upload themes without fear of them Doing Bad Things.

Tobi and the jaded Pixel crew are notoriously tight-lipped about Shopify, and so I was as surprised as anyone else the day jaded Pixel debuted Vision.

Vision is highly impressive. It’s clever, and effective—a light, Rails-like application which can be downloaded and easily run on almost any computer with a modern OS. Once downloaded, you can use it to browse Shopify themes and preview them with Shopify-styled data, and even clone them and develop your own.

It’s really quite neat.

Anyway, I think that’s enough intro material for one day. On with the questions, after the jump!

        <span id="more-7018"></span>

The Interview

What inspired you to create an “offline” theme editor?

I found it tedious to change themes in text areas when I was trying out new Liquid features. I guess you get spoiled by working with Textmate all day. After a while I realized that for simple testing I could just as well create a stand-alone server which mimicks Shopify with static data. An itch became code, code became product. It worked too well not to share it and so we polished and released.

Why care so much about theme development?

Designers are generally turned off by the tools they get from the programmers, who are the nemesis of the designers more often then not. Early on in Shopify’s development we decided that we need designers to be on our side; designers will be our base, as they are often the ones who make the decisions about which product will be used.

The tools we create should be empowering to designers, a similar toolchain as developers are used to these days—like a self-contained localhost environment and Liquid, our powerful but aesthetic template language which gives the designers a lot of freedom.

How did you decide to develop it in Ruby, instead of a “real” (application) programming language?

Ruby is my tool of choice for most programming tasks you throw at me. It ships with a full-fledged web server built in so it’s perfect for the task. The database is a static YAML file which is read using the standard Ruby parser, and the zip export uses ZLib, part of the standard library of Ruby once again. It was all there already!

Vision runs on a wide variety of operating systems. How’d you make that work?

Different strategies for different platforms. For Windows, I bundle a small self contained ruby.exe which contains the interpreter as well as the Ruby standard library. It was created using Erik Veenstra’s AllInOneRuby and its launched by a standard windows batch file vision.cmd.

On OS X, we got fancier and created an Vision.app folder Ruby script to launch Vision. Platypus is made for such tasks.

Linux users are left to their own devices but they can usually figure out how to do something meaningful with a vision.rb.

Were there difficulties in achieving this result cross-platform?

I ran into problems with OS X’s broken standard Ruby. The ZLib library would create faulty zip files, prominently demonstrated in the screencast cough. I ended up having to use the standard shell ‘zip’ command on the Darwin platform but that works well enough.

The biggest issue was getting the little blue bar, which we inject into all templates, to at least show up on all browsers…

Do you see this approach of self-executing Ruby apps gaining a foothold for other “applications” in the future?

Well, its nothing new. Instiki did this years ago. It’s a great way to make applications accessible to a broad audience and because of the great tools by Erik Veenstra its really easy to pull off. Let’s hope more people will follow suite.

How long have you been writing Ruby, anyway? And how did you come across Ruby the first time?

Like most people, I came across ruby through my discovery of Rails . I discovered Rails when it was released in August 04 2004.

Was it love at first sight?

It was shellshock at first sight. Everything I saw in the language and framework was leaps and bounds ahead of everything else I knew. After a short while my brain started absorbing Ruby, however, and now there’s no way back.

Secretly, were you influenced by the idea that this route would prove what uber-awesome Ruby jockeys you all are? (buzz, buzz, buzz!)

It crossed my mind ;) A company like jaded Pixel makes or breaks by public awareness or … well … buzz. We like to release good tools and people in turn have confidence in us that we can pull off something like Shopify.

Speaking of buzz, how’s the theme contest going? How would you describe the level of interest?

The response to Vision’s release was fantastic. After working on Shopify for such a long time its great to release something “real.” There were tons of downloads, mentions all over the blogsphere and the screecast is pushing gigabyte after gigabyte. Liquid, the foundation of our theme system, has seen a lot of checkins with new features which people requested on our forums.

You wouldn’t let Shopify’s launch date slip to me, would you? I promise I won’t tell anyone. Much.

It’s tough to stop coming up with awesome features which Shopify “totally has to have.” Seriously, features are frozen and Shopify works great as it is right now. We’re just polishing now.

The Wrap!

There you have it, folks—straight from the mouth of early Rails adopter and core committer Tobi Lütke.

In case you don’t want to wade through the rivers of text, here are the key links again:

Software Tobi mentioned:

No Comments

  1. Colin Barrett says:

    Awesome interview, Amy! I’d like to hear more about developing cross platform apps with Ruby in the future.

  2. Roni Huhta says:

    Nice interview, I hope you continue the habit.

  3. Brandt Kurowski says:

    Great interview, Amy. The intro and wrap were also appreciated. Keep it up!

  4. Gnana says:

    I enjoyed your interview with Tobias, looking forward to more such nicities! -gnana Lausanne, Switzerland

  5. Tracey says:

    Nice interview Amy. I also anticipate the release of Shopify, since I enjoy the genorosity of Tobias and the code (Typo and others) that he has released in the Rails community.

    BTW, nice theme Amy!

  6. Carlos says:

    Excelent interview!, I hope you continue with more interviews

  7. Jorge says:

    Nice interview.

    Good questions leads to good answers. And the answers are very good.

    Hope there will be more interviews to come.

    Jorge – Spain

  8. John says:

    Great Interview. I really liked the summary at the end, with a summarized list of the products/technology that were covered in the interview, with the relevant links.

    A really great way to finish off an online interview/story. I wish more online places would follow this idea.

  9. Doubting Tomas says:

    Is Shopify even REAL? How many months have these guys been teasing us, pretending that Shopify was coming ‘real soon now’?? All I can say is it’d better be the bees knees……

  10. sosa says:

    I was just noticing how much the shopify vision theme navigator looks like ZenGarage (micropublicantes.com/zengarage)sure great minds think alike.

  11. Marcio says:

    Great! Keep up the good work!

  12. James says:

    Great interview! The summary section at the end is wonderful. Every interview should take a cue from you and include this.

  13. S├ębastien Grosjean says:

    Nice interview, I would also like to know more about stand-alone cross plateform Ruby Apps. That’s really nice idea what the crew of jaded Pixel did and will find nice to see it more and more.

  14. papadeux says:

    great article

  15. Thanks for the write-up!

  16. Galen says:

    Nice interview. Short and sweet. I also would be keen to know more about developing cross-platform applications like Vision…. keep up the good work.

Hey, why not get a shiny
Freckle Time Tracking
account?