Last month we released an update of the Mightyverse web site with fewer features, but
with new homepage and FAQ which we hope will help people understand our mission and
where we are going. For the last six months, it had felt like we would never finish our
upgrade to Rails 3, as Mightyverse development had intermittent spurts of development.
In early January, I proposed that we make some hard decisions and ship it earlier by
radically cutting any feature that was under-performing in terms of web traffic, which
included the search feature. We defined an “MVP” (Minimally Viable Product
where the goal is not to create the minimum amount of software from which you can
learn). We had just one new feature implemented (changing the URL of the “phrase
page”), so that became the one we would test.
Dropping the search feature was a very hard decision, but not as hard as drawing the line
on the smaller details. I argued that whatever was wrong we could always fix the day
after we release the site, because there could be something even more important to work
on that we don’t know about.
It was mid-January and I had told Lee and Curtis who were collaborating with me on
developement that we would complete the bare minimum to release the site. Glen, Paul,
and Iku tested on our staging server. I queued up a subset of bugs found to be fixed
before release and our launch date quickly slipped further into the future. Curtis sent
this email:
I noticed a big list of MVP stories.
I understand that the current MVP is very lacking, but I would encourage releasing it
… if only to catalog the feedback from the users. My thought is that this can
be valuable get an external perspective.
By no means is this a hard and fast rule, but it has worked at times in the past to
develop a system in concert with the community.
To which I responded:
…there are humans involved. Sometimes compromise is important. I would have
not completed the phrase list page, but Paul uses that to demo to people.
To understand the debate, you need to know that the phrase list page was pretty awful.
At the time that we were having this discussion it looked like this:
with the video player way at the bottom of the page, like this:
There were missing links and the text was poorly laid out. The placement of the video
player was not the only unusable part, but in page playback of phrases was also missing.
You can check out what it
used to look like. The key thing to note is that we were trying to avoid having
a 404 and create a starting point for continuous improvement. Even so most folks would
react like Paul did…
“Are you really going to release it like that?” I agreed that it would take
just an hour or two to fix the layout and add links, so I said I would do it. Later, I
admitted to Paul that I had been called out by a member of our dev team for not sticking
with our MVP focus. I also admitted that while I told Curtis that we needed to fix the
page because Paul used it to demo to current and prospective contributors, that I really
was doing it because I thought it would make Paul really sad if I didn’t.
I had recently heard Corey Haines talk at Heroku’s Wazu conference about using the
“5 Whys” for figuring out what features you should build first in a new
application, so I asked Paul if he would play this game with me. It’s a simple
exercise where you ask someone “why” five times, which can be very annoying
unless you tell them first that you are playing a game. It felt more than a little
absurd, but I really wanted to follow the MVP/lean startup discipline and be honest
about why were making our decisions. Here’s a brief synopsis of the conversation:
Why do should we fix the visual errors and lack of in-page viewing in the phrase
list page?
We don’t want to look amateurish. Paul told this story of how a friend had gone
to our website when we first launch it and had found several spelling errors on the blog
and had said that it didn’t seem professional, that it looked
“amateurish.” (You might think that no one wants to be unprofessional
and amateurish, but when Facebook first launched with a very scattered design and
seemingly little attention to visually pleasing pages, people in the industry argued
that was precisely why they got so much participation, that people didn’t feel
like their posts had to be perfect, so they posted more. So I asked the next
question.)
Why don’t we want to look amateurish?
We want people to believe we are credible. I listened to another story from Paul
about how being amateurish erodes your credibility. No real surprise here, so I
moved on to the next why.
Why is it important to be credible?
If we aren’t credible, then people won’t listen to our message. This
surprised me. I thought Paul was going to say something about people trusting the
fidelity of our translations, but I hadn’t really thought about our having a
message. Now I was really engaged in the game and wondered how he would answer the
next question. I really wanted to ask what he thought our message was, but instead I
continued asking why…
Why do we want to convey a message, why is that important?
We need to convey a brand promise.
Why do we need to convey a brand promise?
We want to incite participation.
“What do you mean?” I asked, “we have no participation features on the
site… you can’t even leave a comment, let alone record phrases, add
translations, or make corrections.” Paul responded as I hoped he would. He
didn’t refer to some future contributors using some future features, instead he
referenced our real world community, like @brianrieger
who tweeted about using Mightyverse to learn Mandarin on his mobile phone and our small
community of contributors we have in-person relationships with who record phrase videos
using our desktop application or in the Sausalito studio. People who develop web
software sometimes seem to forget that community is a real world phenomenon.
Before we released the new site, we made the page look better including in-page playback,
but skipped paging (because most of the phrase lists are short anyhow). After we
released the site, we discovered that we have a broken link on the homepage and that an
entire language was missing its data, but I feel good about letting our community in on
the process a little bit. We’re a very small group of people making Mightyverse
and we need more people involved if we’re ever going to capture a meaningful
amount of even the world’s popular languages, let alone making a dent in the
almost 7000 less widely spoken ones.
We’ve had a lot of conversations about our brand promise. We want it to be about
integrity and treating people’s language and people’s contributions to
Mightyverse with respect, but we also realize that even though we fixed this one page,
that we break our brand promise all over the website when we have errors in the
translations. We decided to prioritize the editing features over the live recording
feature. This silly game sparked conversations that have changed the details of what we
are doing and how we prioritize new features on the site. Our vision remains the same,
but I think our path toward it has changed a little. I believe the details make all the
difference.