

How we shifted 6Wunderkinder to Wunderlist, again - CReber
http://christianreber.com/blog/how-we-shifted-6wunderkinder-to-wunderlist-again

======
shawnc
Pretty disappointed as I had my whole family switch to Wunderkit, and all of
us get on board using it.

However... after a few months most of us stopped - it just wasn't clicking
like I hoped it would. I know some of my family members still use it
personally with their significant others tho, so they'll be bummed by this
news.

This sort of thing makes me very wary of choosing to use something to manage
things as important as Wunderkit was setup for - especially when they're made
'free'. Right now I use Trello in my work, and even tho they constantly say
'It'll all be OKAY, this will be around a long time' - this makes me weary
once more.

~~~
CReber
Wunderkit will remain stable for some time yet. Once Wunderlist 2 is ready we
will be offering an export tool, so that your friends and family will be able
to transfer their data directly from Wunderkit to Wunderlist 2.

~~~
shawnc
Thanks for the reply Christian. I'll be sure to let them know if that fact. I
respect the nature of the decision, and i know it was certainly not an easy
one. You've handled it very well, and the communication around that fact very
well.

------
webjunkie
"more than 20 engineers" on a to-do list app? Isn't that quite an overhead? I
mean 37signals have 9 developers and they successfully run several products
(even with their easy-going lifestyle).

~~~
CReber
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 Developers (they not only build the web app)

5 Backend Developers

1 Sysadmin

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

~~~
CReber
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!

~~~
webjunkie
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>

~~~
agnoster
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.

