Interview with the creator of CSSEdit 2
One of the reasons I was attracted to CSSEdit was its gorgeous interface. Jan Van Boghout isn’t only a talented developer but a great designer as well. I’m sure many people don’t realize, but Jan designs every element himself. Just look at MacRabbit’s new website, the icons etc. and I think you’ll agree it’s topnotch. High time we sat down with Jan to ask him a few questions about this new release…
1) Let's start by talking about the very clean and slick new interface of CSSEdit 2. I'm sure many readers are wondering how you come up with the ideas and how you tackle the task of creating them. What I am wondering is, if you create them in Photoshop or Illustrator and if you start by sketching them? If you sketch, any examples left that shows the progress?
I always carry around an "analog" notebook. Whenever I think of something cool, I sketch it out or describe how it works. Usually it goes from "think about cool idea X" to more elaborate UI sketches and behaviors over time.
Channeling my ideas into that notebook allows me to focus on what I *should* be doing. I often get random ideas while I'm working on something completely unrelated, so I can just write it down and continue working. Later, I can look at it again and flesh it out.
2) Would be great if you could share a trick or two in how you handle the creation in Photoshop or Illustrator since they are some of the best in the industry.
I'm probably a terrible person to ask this to! I live entirely in Photoshop for my graphics work, mainly because it was the first thing I really used. I took a stab at Illustrator once, but I was too impatient to make the mental switch from my (mostly) pixel based workflow to vector-only. I use Photoshop vectors a lot, but I don't think I could live without those little pixel tweaks. Leopard's 512x512 icons will probably help me change my mind :)
At the risk of sounding like a total newbie, one thing that really helped me is a way to change the opacity of a layer simply by typing a number. I used to click and drag that irritating little slider all the time, now it's usually just a single keystroke that does the trick.
3) How did you come up with the new features? Is that based on user feedback only?
User feedback can be tricky, but it's very useful to detect general trends. If tons of people request something particular, I don't rush into a coding frenzy to implement a particular feature (unless it's just an awesome idea). Instead, I try to dig deeper and find out what the basic problem is.
CSSEdit 2's Overriding is a great example of that. Everyone who codes dynamic sites has their favorite language or system, so I used to get all kinds of requests to handle Ruby on Rails, PHP, .... In the end though, the objective is to test your sites so they work in a browser. So I made anything that displays in a browser work, without having to worry about everyone's favorite languages.
I have a deep fear of bloating my apps, and it's incredibly hard to remove a feature once you've added it. If you've ever asked me for a feature that still hasn't popped up, I may just be waiting for the way to do it "right" :)
4) You seem to have a pretty rare mix of talent. How does a programmer become such a good designer? Or should I reverse the question?
Haha, thanks for the compliment! I guess I was a designer first, programmer second. I've always appreciated pretty things, but it wasn't until Mac OS X that I started thinking about designing anything of my own. Aqua was a "wow, sweeeeeet!" experience for me, and I wanted to duplicate that awesomeness. Of course I sucked at first, but I got better over the years. I'd show you just how bad I used to be, but when I searched my backups, it turned out I skillfully removed all traces of the horrible artwork I remember.
I tumbled into programming mainly by accident. A few years back, I felt I needed something to hide the mess of icons on my desktop, so I wrote DeskShade with great effort. I took Aaron Hillegass's Cocoa book and spent 2 months learning about Cocoa and programming in general. Since then I've gone through a few app revisions and started studying Computer Sciences. Looking at CSSEdit 2, I would say I've improved ;)
5) How has MacOS X changed your life as a programmer? Can you shed some light on the differences in creating CSSEdit 1.0 and 2.0 done on Tiger for example?
It has started my life as a programmer :) Developing CSSEdit 1 and 2 was a world of difference. The first version was written in the Jaguar (10.2) days, and Apple's frameworks have really improved a ton between now and then. Even WebKit didn't exist when I wrote CSSEdit 1.0, whereas vital parts of the app build on top of it now. Developing for Tiger is quite nice, and Leopard looks like it will be even better.
6) As a developer did you ever go to the World Wide developers conference or did you ever receive a sign of life from Apple? Personally I think this 2.0 makes a great chance of winning an Apple design award.
I went my first time this year, it was a blast. It's great to finally meet people in the flesh when they're usually across a huge ocean. A sign from life, hmmm. Some people at Apple must like CSSEdit 2, because it recently got featured on the Mac OS X Downloads page. That was pretty damn awesome! Let's hope even more Apple employees like it when I enter CSSEdit in the next Design Awards :D
7) Do you plan to add HTML editing to CSSEdit?
I plan to keep CSSEdit true to its name, so I wouldn't expect CSSEdit to edit HTML :) Currently the Preview senses changes to the HTML file in any editor, so you can use your favorite tool.
8) Are you going to do
With the exception of HTML editing, I prefer not to comment on my plans for future versions. They would surely come and bite me in the ass later! That said, I have a lot of improvements in mind for the future.
9) How have you applied your experiences from using Version 1 to make improvements in Version 2?
CSSEdit 2 is almost a complete rewrite thanks to version 1. I had a much more limited view on source editors and CSS development when I wrote 1.0. The new CSSEdit is the result of all the should-have-done-it-this-ways that popped up with version 1.
10) What kind of tools do you use? Why did testing take a long time and did it pay off?
I mainly use Xcode and Interface Builder, and Apple's optimization tools. I have an iMac and a MacBook Pro, but I do 99% of my development on the laptop (or notebook, since it will turn your lap into super-heated plasma). The only thing ruining the experience is Photoshop in Rosetta.
The testing phase took a long time because it wasn't a testing phase in the traditional sense. I was adding features till the last minute, which allowed me to build more incremental feedback. Once the basic stuff works, you can start worrying about the layer on top of that, and so on. I had a great bunch of testers with excellent feedback. I can't say there were a whole lot of bugs (it was rock solid even in the early stages ;) ), but the testing phase exposed common problems with brand new features, such as Overriding.
11) Are you able to make a living off your independent software efforts?
It's too early to tell for version 2, but the outlook is good. I will be a full time student for a while longer though, so I won't be able to dedicate all my time to MacRabbit for a bit longer. I hope it's feasible to go full time once I graduate :)
Permalink Comments off









So when Dave told me of the optional 


