In the past few weeks I have reviewed some Open Source projects (e.g. review or traffic-light). Today I have taken a look on a very interesting OSX application. The uniqueness of this app is that most of the stuff you can see is built with HTML5, CSS as well as JavaScript.
Maybe some of you have heard about it: The Words App.
In the next days you have the chance to win some promo codes using our contest page. I am proud to present you the first interview I have ever done. Sven, the Designer of the named application had a talk with me about his work.
Hello Sven, how are you? Could you please introduce yourself?

Hi. My name is Sven Read. I am a 35 year old designer living near Munich. I am a designer at BörseGo AG (by the way, we are looking for an awesome JS ninja!) at day, while being a husband to a beautiful wife and father of two young children. And if both leave me some spare time (which is rare) I love playing soccer with my friends or going to the cinema.
You can follow my musings on Twitter or check out stuff I built on my Github account. And, perhaps the most interesting, I often preview my work on Dribbble. So you should check it out if you want to see what I work on at the moment.
You built your own desktop app named Words. What is Words and what is it good for?
Yes, that’s true. And the short answer would be: Words is a library app.
If you use one of the major read-it-later services, like Instapaper, Readability or Pocket, you most probably use it to save interesting & bookmark-worthy textual content you found somewhere online. And Words downloads all these articles to create a local library of content, curated by you. And you have this precious knowledge safe & near you, just a click away, ready to be searched, even offline. That’s what Words is for. It works as your private library of knowledge.
That’s interesting. What was your motivation in creating such an app?
That’s actually a long story. I am a classic self-taught designer who learned all the finer points of his craft from stuff other designers had written or made and I have an extensive list of ePubs and articles saved inside these services. And I had this growing issue of managing this knowledge base. Actually, my initial idea was to create an ePub reader. But this turned out to be rather complicated to build, due to the quite volatile standard that ePub was at that time.
So I refocused my plans on getting a grip on my saved Read-it-Later articles first. I wanted a super-easy way to search and read my articles, even offline. That was my initial motivation. And that ended up being the first version of Words. It was rather simple & plain. But it sold quite well. And many users wanted more. They longed for a real Read-it-Later client.
So my father, my brother and I, we made one. Words 2.
Was this actually the first app you guys made?
Yes, indeed. We all had some experience making a few mobile apps, but that’s all. I actually live from doing web and UI design. My father had to learn to code Cocoa and I had to learn what users need in this quite different environment.
So this was quite an adventure for us. And a lot of work. Much more than we had expected. But it was lots of fun, too. And we learned so much doing this our own way.
Tell us more about the things you learned along the way.
Most important, we had to learn that making software and launching websites are quite different from what we had expected. At the beginning, we didn’t really test our software. Or, to be more precise, we thought we had tested it hard enough, but ended up having horrible bugs all over the place. Things broke in the most unexpected ways, especially because we needed to handle three different APIs with varying and often very unreliable output. This was frustrating at times. But we worked our way out of this.
Another very useful lesson is, in my opinion, that you can build big parts of Mac desktop software just using web technologies, like HTML, Javascript and CSS. Nearly all of the front end is built this way. It took some time to get it right, but far less than it would have taken to get Interface Builder to do the same stuff. Especially if you want to sweat the details, like custom line heights or other sophisticated typographical features. To be precise: Getting this level of detail and control in native would be almost impossible. And it just would not be worth the fight. Even Apple themselves do it on occasions. Just have a look at how the Appstore is built.
Naturally, there are some disadvantages to mention, too. While most stuff gets easy & fast, some small things suddenly get complicated. You can’t easily make the context menu work for you in a web view the same way it would play nicely with native implementation. The same applies to loading content for very long lists or tables. Native implementation is easy, but in HTML it’s a pain to recreate the native performance. So, have a deep think before deciding how to go along, but don’t be afraid of taking the HTML/CSS path. We would do it again.

My recommandation for starting out if you want to build a hybrid app: MacGap. They wrap an HTML/CSS/JS app in an native framework and even provide a basic JS API for communication with OSX. Its very lightweight & easy to extend.
A third lesson I would like to share is that you should listen to your customers. Talk to them early. Let them participate. Most of your early users will be very passionate about what you are building and can be a great help in keeping focus, finding bugs and pushing you to go the extra mile. Words wouldn’t be what it is today without these awesome guys. They helped us so much. They tested like hell. They talked about Words to the people they know and helped us get traction. You can’t buy such support for money. Its priceless. You should find these people early, involve them and let them know how useful they are to you. They won’t let you down and help you get of the ground.
Thanks for the insights. So what’s next for you guys? And future plans?

At the moment, we are working on integrating notes into Words. We want to enable our users to annotate everything they want in their articles. Perhaps even collaboratively. And perhaps including attaching files to their articles. We are in the process of figuring it out at the moment. But this feature will be the next to hit the store.
And our next really big thing will be ePub integration. This was my first intention and I haven’t forgotten about it. I want Words to be your private library of precious content, regardless of format. And ePub is a very important & common format. But this will take some time to make it happen. We want to make it awesome, so we will do what we need to make this happen. My personal goal is to make the best possible reading experience on the Mac. This is what keeps me up at night and wakes me in the morning. So expect some great stuff in the future.
Sven, thanks for your time and for sharing your experiences. It was a pleasure.
You’re welcome. The pleasure was mine to have the opportunity to share some of the experiences I made. And keep up the good work with you blog. I love reading it. By the way, I brought you some Words promo codes to share with you readers.