Live data from Hacker News

How we shifted 6Wunderkinder to Wunderlist, again

christianreber.com

21–26 of 26 posts

Re: How we shifted 6Wunderkinder to Wunderlist, again

#21
post #5

Earlier quoted context omitted.

We focus on building a solid product with a consistent experience for several platforms - Wunderlist 2 will launch with native clients on Web, iOS, Android, Mac and Windows. To build a high quality product on every platform, I think you need at least 2 developers for each platform. If you are interested this is how we split our team: 3 iOS Developers 3 Android Developers 2 Mac Developers 2 Windows Developers 5 Web De…

Why are there both web developers and backend developers? By web developers did you mean frontend developers(primarily JS) ?

There is a lot more to front-end than just Javascript.

Re: How we shifted 6Wunderkinder to Wunderlist, again

#22
post #12

Earlier quoted context omitted.

Why are there both web developers and backend developers? By web developers did you mean frontend developers(primarily JS) ?

We split between backend developers (mainly Rails) and frontend/web developers (mainly Backbone). Our backend developers are maintaining the backend of Wunderlist 1, and have built the backend for Wunderkit. Now they are rebuilding the backend for Wunderlist 2 and from scratch. With Wunderlist alone we have three million users, so it is a big job!

Oh did I just read "rebuilding the backend from scratch" there?

Joel on Software: Things You Should Never Do http://www.joelonsoftware.com/articles/fog0000000069.html

Re: How we shifted 6Wunderkinder to Wunderlist, again

#23
post #12

Earlier quoted context omitted.

We split between backend developers (mainly Rails) and frontend/web developers (mainly Backbone). Our backend developers are maintaining the backend of Wunderlist 1, and have built the backend for Wunderkit. Now they are rebuilding the backend for Wunderlist 2 and from scratch. With Wunderlist alone we have three million users, so it is a big job!

Oh did I just read "rebuilding the backend from scratch" there? Joel on Software: Things You Should Never Do http://www.joelonsoftware.com/articles/fog0000000069.html

It's a nice, pithy answer to give, and in general you shouldn't rewrite a backend "just cause". However, Wunderlist's backend was built with the intention of being a bit of a prototype, and the skills on the team are vastly different from when it was written (in PHP) compared to where we are now (using mainly Rails with a little Node.js in the backend).

In addition, contrary to Spolsky's claim, unmaintained code does rust, or "rot". Libraries you were using might go unmaintained in newer versions of a framework that fixes critical vulnerabilities. Code that held up well to thousands of users doesn't necessarily when you're talking about millions of users. Fighting code/app entropy is a real thing.

But we're taking steps to make sure this backend neither suffers from the "second system effect" (we got that out of the way with Wunderkit ;-)), nor simply needs to be rewritten again in a year or so. Spolsky is correct that in general, code is harder to read than write - which is why we're writing Wunderlist 2's backend to be easier to read at the cost of extra work up front. Strict conventions, enforcing documentation, challenging any code that isn't the clearest way to express the problem it's solving - well, we'll have an engineering blog post to discuss our "Pull Request Parties" and other related process improvements in depth at a later point in time/

The short version, though is that the WL2 backend is probably the most beautiful, readable codebase I've ever had the privilege of working with. Of course I'm more than a little biased, but hopefully the proof will be in the pudding when we launch it out into the world.

Re: How we shifted 6Wunderkinder to Wunderlist, again

#24
post #12

Earlier quoted context omitted.

We split between backend developers (mainly Rails) and frontend/web developers (mainly Backbone). Our backend developers are maintaining the backend of Wunderlist 1, and have built the backend for Wunderkit. Now they are rebuilding the backend for Wunderlist 2 and from scratch. With Wunderlist alone we have three million users, so it is a big job!

Ah. I was just curious about the terminology. Normally you see the same developers doing both Rails and JS.

At one point, the web and API team were a little more intermeshed, but this had the unfortunate side effect that the web was a de-facto a "privileged" client, while the other clients were like second-class citizens. These days, the Rails app serves no human-readable web interface, only a RESTful JSON API. In fact, the Web app uses CORS to speak to the API on an entirely different host! There's literally no overlap whatsoever between the codebases, deployments, or teams now; the web client has exactly the same status as the Mac, Windows, iOS and Android clients.

Re: How we shifted 6Wunderkinder to Wunderlist, again

#25
post #4
post #3

Earlier quoted context omitted.

Remember, they are building a backend and clients for pretty much every platform available, I would say 20 engineers is barely enough to accomplish such a task in a timely manner. 37signal makes their apps available on web only.

Their clients are really just thin wrappers around their website, e.g. UIWebView for iOS. Not sure how that takes three iOS developers.

Wunderkit was entirely native. There were 0 iOS developers involved in working on Wunderlist with Titanium as you simply don't need native developers for Titanium code (the maintainers in the past were Javascript and front-end developers). I joined as the first iOS developer and worked on Wunderkit. Now all the developers work on the native client. There's also a lot of shared library code between the Mac and iOS team

Re: How we shifted 6Wunderkinder to Wunderlist, again

#26
post #18
post #17

Earlier quoted context omitted.

Do you expect those users to be sticky? The barrier to entry for making a to-do list is negligible, and having a long history of completed tasks is of very little value.

With Wunderlist we've already seen many repeat users and have daily users adding new tasks, especially during the week. With Wunderlist 2 we will have more features that will help grow this. Fred Wilson wrote about user metrics, he called it the 30/10/10 rule ( http://www.avc.com/a_vc/2011/07/301010.html ) - 30% monthly active users, 10% daily active users and 10% new users each month. We can apply this rule to Wunde…

Sorry - I meant to clarify stickiness when asked to pay. Freemium conversion is like 1-5%, so I'd imagine somewhere closer to 1% with you guys.

With 30ish people, let's say you burn $2 million a year. You'd need to get 30,000 people to each pay ~$70 a year for your app. My numbers might be wrong, but I'm just curious how you'd get people to spend that when it's so easy to switch to another task app.

Post reply on HN