 was a lovely way to start the day. I didn't even mean to rhyme. I'm so excited to be here talking about what has been a labor of love for many, many years. Before working on Mightyverse, I've worked on software projects that have reached hundreds of millions of people with Shockwave and with Flash Video. People have suggested that my work helping to create the first version of After Effects has changed an industry. But with each of those projects, there was a time at the beginning when we labored to create a new tool or a new experience for an audience of dozens. And it was in those times that the magic happened. So today, I'm going to tell you about Mightyverse. I'm going to share moments of painful failure and of joyful success. I don't know where this is all going, but I know that we're already reaching our audience of dozens and more than dozens. And I hope that some of the techniques that I share with you today will inspire some work from you and help you fail quickly and move on to the next success. So Mightyverse, our big vision is to create a network for sharing language and culture. The idea is for the people to create and benefit from a global corpus of human-spoken language. At its heart, it's thousands, someday millions, of tiny phrase videos where people record a phrase in their native language and it's cross-translated to other languages. When we started, the idea was it would be a marketplace and that language experts would share their knowledge with other people. And we would capture the language that you can't find in a dictionary and things that are too colloquial or niche to respond well in Google Translate. We also have a social mission where we're missing a slide picture. Here. Oh, it's a build. Surprise. So our social mission has this idea that we could help the languages that are disappearing in the world. Over almost 50% of the world's languages are at risk. And the people who decide whether a language lives or dies are three years old. So our children decide whether they're going to speak their native tongue or the language of their parents. And they make these decisions, we believe, based on the values in society. So our hope is that my diverse can start to put forth the value of the diversity of language and culture and so that young people will decide to speak the language of their parents and we will preserve and revitalize the diversity of culture in our world. So the beginning of Mightyverse, actually my beginning, I call myself a co-founder, but it's actually started a few years before I came on board. Mightyverse was a web app written in Rails 2.1 using the globalized plugin. Anybody remember that? Before a few people? Before Rails had internationalization. And then it had something I can't remember what we used before device. It also had a mobile app that was a flash app, which in 2008 before the iPhone, that seemed like a good technical choice. And it wasn't released because at that time you had to have deals with carriers. We also had a desktop app for mass recording of these little phrase videos. And we still use that app today. So the web app was my challenge when I came on board. I was going to add this recording feature so that people could record on the web and we could fulfill this crowdsourcing idea and fix a few bugs. And I needed to learn Rails and Ruby. So I got into the code base and then realized that it wasn't just a few bugs. It was as often happens when you're starting development and you don't have it out in front of real users. There was all sorts of stuff that was implemented just before the next demo. And it was more of a prototype than a full application. So what I really needed to do was finish application development. So we reset our sites on exactly what this first release was going to be. And at the same time, I was paying attention to Eric Ries, who was really blogging with startup lessons learned and popularizing this idea of an MVP, which he defined as the smallest thing you can learn from. He defined a build, measure, learn cycle, which I like to actually think should be learn, build, measure. But I'll get to that in a minute. And so we defined our minimally viable product. We decided that we were going to launch something that was perhaps not useful for real people to use to learn language or communicate, but it would be something that we could learn from, that we could reach an audience and get started and be working more with release software. So in getting into one of the exciting things that I wanted to learn with Ruby was test first development. And what I found is that tests were really helpful in defining the project, defining the product. I was new to this code base. And it had some tests, but they didn't fully cover the functionality, which is part of the reason that there was these sort of mysterious features that we thought were features, but were actually static text on the page. So we built a number of tests that helped us understand what the product did and really then define the product. So we used automated testing and wrote a lot of tests and did this epic upgrade to Rails 2.2. And we launched this site in June 2009. And so the smallest possible thing that we could think of had the ability to access our then 22,000 phrases with search and these episodic phrase lists. So we did this little feature that let us highlight interesting things on the page. And then we used those phrase lists later that year to engage with real people and get them to use Mightyverse as it was intended. We packaged up specific phrase lists that we built for specific people, one going to Japan, one going to Italy, and two people going to Russia. These images are from Ty Roberts, who went on a business trip to Japan. And one of the phrase lists he asked for was to find coffee in Japan. And he used it very successfully with his broken Japanese to play and engage with people who didn't speak any English. And it was really delightful. And Glenn followed him around and made a video of it. And it was hugely successful and great. What we didn't publicize is that actually one of the early Mightyverse investors was the person who went to Italy. He spoke no Italian. And he used Mightyverse when he got into a shop in rural Italy where the storekeeper didn't speak English. And so he played a phrase to the storekeeper who got so excited he just talked for five minutes in Italian. And he came back to the United States and said, I sure hope I'm not your target audience. So we learned by doing this painful experimentation and having a fairly in our little world public failure, we learned something really important, which is that what we're really interested in is intermediate language learners, people increasing their fluency. As it turns out that that's actually a tremendous number of people. And there are very few resources for people after they get out of the beginner stage. So we were going through this cycle, which this is what my consulting company, Blazing Cloud, kind of rearticulated of Eric Reese's cycle, where build isn't even on this. So you only build if that's your only way to test. And this I really believe in. And I think in many ways, launching that site in 2009, we launched it before it wasn't the simplest possible thing we can learn from. And I'll share with you some more ideas about how we did that. So the idea is you go through this cycle and you should enter at the learning stage. And then you come up with a hypothesis. And then you try to test that hypothesis. And then you analyze what you've learned. And I'm going to talk through a few of those cycles we've gone through in my diverse. So a lot of people believe that the majority of people in the world now actually speak multiple languages. Some people say a third. It depends what you mean by to speak a language. Do I speak Spanish, even though I was fluent 20 some years ago and now I forget most of the vocabulary? I'd say so, maybe on a good day. So I'm curious in the audience, how many people speak another language? Say not half, maybe a third, maybe 20%. In America, it's actually, as you might guess, not as common to speak multiple languages in other countries. But it's interesting that that's changing. 50% of all current college students actually have an active passport. And 30% have used it in the last year. Now, some of them might be doing the club med experience, but it's my hope that we're becoming more of a global culture. So with this huge swath of people who are learning to speak or already speaking another language and might have a need for my diverse, how do we find them? Well, we reframe that question, as you often do, when you're building a product, which is, how could our target audience find us? We had this asset, which is these 22,000 phrases that have been collected over a few years. And we looked at Google Trends. And it turns out a lot of people just type into Google, how do you say this, right? How can you say this in this language? Even in other languages, if you looked for, como se dice, it has like a similar trend. So we thought, wow, we've got this kind of long tail content that should really work well for organic search. So if we look at our website, it turns out that we didn't inadvertently hidden all the content from Google. So we had these episodic phrase lists. So if something was on the front page, you could see maybe a few dozen phrases. And then everything else was behind this search box. So that was sobering and a little embarrassing, but it had a fairly easy fix, which is I made a page for every one of these phrases, which is, of course, just a single template in Rails. And then index them through a new navigation, which is through the speakers. And this is not that I thought that it's the most valuable thing for people to browse through speakers, but when I'm doing search engine optimization, what I always try to do is do something for the humans as well as for the search engines. Because the search engines are changing their algorithms all the time, and if you do the thing that the humans want, then they'll more likely move their algorithm to match your website, not the other way around. So I made this page, which had all of the speakers, and then linked to all of the speakers' phrases. And then in two and a half months, our traffic increased by a factor of eight. And it was really incredible and rewarding. And this continued to climb throughout the year and into early January the next year. And then something weird happened. So if you look at this graph, the first half of this graph looks awesome, right? In fact, it looks really awesome at the end. And then something terrible happened. And so I was like, well, let's look, I can look back, you know, my commit logs and try to figure out what was going on. So what happened before that awesome time? I did the Rails 3 upgrade. So maybe that was it. Actually we got some press that happened at the same time and they only mentioned our name, not a link to the site. So it was sort of hard to see in the traffic. But we sort of slew through the Google Analytics and we found that out. So then what happened? Well, it turns out in early February, I broke caching on the site. And if your site is slow, Google doesn't like that. In fact, people don't like it. So it really affected our traffic significantly and what's worse than that is I didn't notice this for six weeks when then I fixed the caching and our traffic went back and started to climb again. And this is really terrible because with search engine optimization, if your traffic gets, you can fix the problem and it takes a while for it to recover, right? Because then you start to look like a flaky site. So at the beginning of this time I had green tests. Like that's a problem. And maybe I could have gone back and wrote a test for that specific bug. And I think I did, but I was really worried that that wasn't gonna actually detect this type of problem because the next thing that affected Google traffic could be anything. And I'm not even, now I'm kind of an expert at SEO but I certainly wasn't then. So I went to the Google Analytics console which is huge and I found these custom alerts. And I wrote this alert and I set a low watermark for my traffic and I said, okay, if traffic hits goes below this, if search traffic goes below this, then I want an alert. And every like six to months to a year I would like increase that number and but mostly I forgot about it. And then like a couple of years later, I get this alert and the traffic's gone down significantly. And I was actually really glad I had this type of test because I had implemented something completely different. Actually, somehow I changed the configuration for staging and production. And so the robot stock text I had to make staging not be indexed was no longer being served up. So suddenly I had two sites with identical content being indexed by the search engines. And then Mightyverse just looked like a content farm which really depresses your search results. So it took a while to find that root cause but if I hadn't had that alert then it would have been really hard to isolate and I would have found it much later which would have had much more significant effect. So this is kind of my first big lesson which is to look at tests that are outside our automated tests that we have these effects that we want to achieve in the world. How do we measure those? Automated tests are just your first line of defense. So I believe every web application should have an immune system. And I aspire for this to be a self-correcting immune system like the continuous deployment people do. But for now I just have a couple of these alerts. But I really try to think about that because all my tests are green and then now I'm pretty excited that my traffic grows year after year but is my software really working? So as it turns out, no. I didn't really aspire to make what Mightyverse has on the site right now which is effectively a visual phrase dictionary. All of our traffic comes in, it grows year over year and then it's like a sieve, it just goes through because it's really not much there on the site. I still believed in this idea of a language exchange. This social game where people could exchange phrases and learn from each other. And with this SEO thing, we had this idea of this content creation feedback loop where people ask their friends to share phrases and they go into the database and they make phrase pages and then that creates a great loop which then actually could achieve this amazing social mission because we'd have these tools where people are putting in endangered languages and big languages and all great things except we don't actually have that crowd sourcing feature. So we decided, but it's kind of a big thing. We've tried to do little bits of that crowd sourcing feature before and little bits of it just weren't working. It had to have this kind of feedback loop we believed. So that was our new assumption that without a rewarding feedback loop, the crowd sourcing of phrases wouldn't really take off. So we decided to use crowdfunding for that validation. So crowdfunding is kind of like this lean startup landing page technique. So if you've ever done this or heard about it, you basically create an ad for your product. You create a landing page. You drive traffic to that landing page and then you look at the conversion rate to see if your idea resonates with people. And if it doesn't resonate, it doesn't mean that your idea is bad. Maybe you're just not articulating it well. So crowdfunding is this sort of lean startup landing page technique on steroids. So the idea is you start with an ad for your product that's your campaign and then people actually give you money to pre-order your product. And if they give you enough that you can build your product, then you build it. And we thought that this would be like a really good way. And I was just rounding up this fellowship last year and I said, okay, let's do this crowdfunding campaign. And if we raise enough money, I'll take a few months off and I'll build this thing. And I kind of think that we could build this app in my head, we could scope something that's a few months. So we had, there were four drivers of crowdfunding success that we did a bunch of research and we figured out. One, make a video, got that, no problem. We already had a plan. Multiple founders, no problem. Ask for less than 10K. This turns out to be a big success factor. But I can't live off 10K for a few months. So we're like, okay, well, we won't have that. We'll just put a lot into making our ad successful. And then the fourth success factor is experience running a crowdfunding campaign before. So we don't have that either. But we decided we were just going to go forth and figure out how we were gonna crowdsource language and do this campaign anyhow. So literally we went back to the drawing board. We did a whole bunch of sketches about what we wanted our app to be. We figured out our micro-tasking, what's our life cycle of the phrase, how are we gonna leverage our community of bilinguals and language learners. And we really wanted to make the experience fun. I believe that language learning at its best is intrinsically fun. So how can we capture that and make that more so? We did a bunch of research on designing games. Because I've designed game platforms but I've never actually designed a game before. So, you know, had a lot to learn there. I love this talk, Getting Gamification Right by Sebastian Diederding. He talks about key elements of meaning and mastery and autonomy. And I really thought hard about how we could fold these ideas into our game design. He mentioned a quote that I'd heard before and I love by Raph Koster, which is that fun is just another word for learning. But he framed it differently where he said that fun is another word for learning under optimal conditions. So how could we create an app that creates those optimal conditions? He underscored that the design process for creating a fun experience is key. It's not the features, but you need to have a process that helps you figure this out. He said something that I believe and I've already talked about, which is knowing your users. And like many people, he said, you must create a paper prototype. Play test and iterate. You don't know what's fun until people start having fun. So we took our design of our app and we met in a cafe with index cards and little penny markers and sharpies and all sorts of things. And we made up a game and our first test was did we have fun? Now maybe we're not the target audience. I mean, Iku is a native Japanese speaker who is always wanting to learn more English even though she's quite fluent. And I've taken a few Japanese classes and we did the game in Japanese and so we were sort of first pass, right? And yes, we had total fun. We made up this game later called Freight Swap where we would like sort of generate ideas in our own languages for around a theme and then we would match them up and challenge ourselves to like translate the ones that didn't have matches. And we thought this was great and we scheduled a meeting the next week to kind of figure out fine tune the game play. So meanwhile, during that week, we kind of reflected on this and we realized that we had actually created a game that encoded the worst practices of language learning which was translation, right? You really should like immerse yourself in language. Paul was reading this great book by Leanne Hinton about like how do you teach language when there's like one native speaker left when you don't have any courses. So our test number two is are we moving toward our goal? And that was not successful. So we realized this like as we're on our way to our second design session and on the spot we made up a new game which involved having one person who is a native language speaker of the language everybody else was learning and these phrases, you know, what you would then act out like, you know, my sorry to my Japanese isn't so good, but you'd be like, den wa o kakuru, den wa o kakuru and then the other people would have to guess what that means without speaking English. You know, we had like ino ga suki desu. You know, this means like nice doggie. So my dog wasn't like super excited about being part of this play test, but you know, I worked around that. You know, there's other ways to express dogginess. So we were like super excited about this game that really helped us move towards our goal. And it was interesting because both games were fun. The first game was kind of closer to the mobile app we designed, but the second game was much, much simpler and it only required one bilingual player. We realized this could actually work as a card game. And we made the really difficult and weird choice to actually produce a card game for our crowdfunding campaign. This was very, very hard because we, I came up with this idea like let's get experience doing a crowdfunding campaign. We raised a few thousand dollars and you know, we could just make this card game, but that felt like this whole departure. Like are we pivoting and becoming a card game company? Like not so much. So we did, but we realized that we really were gonna have to play test this game for a couple of months and we might as well run this crowdfunding game while we did it. So the third test was would anybody else play our game? We found this meetup that we'd actually been to a bunch of times before called SF Babble. Meetups are a great place to find people to do experimentation with. So this is this place where people come and they speak any language and they get matched up and it really does sound like Babble. And we played our game, we had the game on index cards in Spanish, Japanese and English and we played it with three groups of people. Matt Leacock, who's a well-known board game designers has this great quote about that he says, just shut up and sit in the corner and watch. So we couldn't do that at SF Babble because we didn't have really good rules. So we went home and wrote some rules and I recruited some people who were learning Spanish because that's one of my languages and we had a play test. So let me tell you how you know if your game is working. So this kid, I don't know if you can see that but he's totally checked out. He's like regretting coming to this session. This other kid is kind of totally bored and embarrassed that his mom is making us read the rules aloud again. Pro tip, if your rules like don't fit well on an eight and a half by 11 piece of paper, like don't even bother to test them, like start over. So what was great is after the rules were read and that was really painful and took like 45 minutes. The game was actually fun. Like this is what fun looks like. So we launched this crowdfunding campaign. We ended up setting our goal at $5,500 because we actually had to produce the game for less than it would cost to sell it. And we raised $7,300 and it was really exciting and we're now producing this game in Spanish. It's at the printer. I have a prototype right here and we're working on a Japanese version which was instigated from the crowdfunding campaign. So I wanna share a couple of last stories and invite you to do a experiment with me. So we did this, what I thought was like this fabulous video. My partners actually run a creative agency that does video production. So they were like horrified at the like, you know, they were like, if this was a real video we would reshoot it. But I was like, oh my God, it's such high production value. We used these cards that we printed on our inkjet printer and this is actually like the inkjet cards that we made that we can just like I can print out at home. And the front of our crowdfunding campaign said, digame, except that it was spelled wrong. So we got this message on YouTube from this guy who said I think it's a cool idea but there's typos in the cards in your video. And I was horrified because I know how to spell this word and I didn't spell it right. So my amazing partners did some agile video production and they replaced key frames of the video so that it would have the accent over the eye which is really, really important to Spanish speakers. And this guy, Estevez, I ended up reaching out to him and he helped me with the translation of all of the cards and we went like back and forth over Google Docs and it was just awesome. I've never met him in person. But he sort of just got involved in this game. And then our final play test or one of our last play tests, we held that ninefold, thank you ninefold people for hosting this. And I just wanna say that is what fun looks like. So what did we learn? We ended up spending seven months on this frigging card game. Like I never, I don't think I would have done it if I knew it was gonna take so long but we didn't really spend seven months on the card game. We spent seven months really validating our model of language learning. Almost everything we learned applies to our mobile app, to what we're gonna do next. And the game itself created this ecosystem as it turns out in any group of 10 people, there's in the United States, like three or four of them are learning Spanish or somebody's fluent in Spanish, just talking to my friends and everywhere I went over lunch about this card game flushed out the people in my network who wanted to help me that I never would have, I'm not gonna go ask everybody I know, so what language are you learning? Are you learning a language? Which is what I was doing before and it was really, really slow. This totally sped up my learning at the risk of, at the cost of these embarrassing faux pas and that was just the most egregious one of them. So we have a new experimental iPhone app built by John Fox, who actually made the, he's become a really good friend of mine but he made the very first desktop app that we still use today. And this is, you can use it, let's see if I can get to, I can't see this. You can use it to, I need to mirror the display, I can't see my mouse. Oh, there it is. So I recorded this phrase today on my iPhone and post it to my diverse, which is really, really exciting. And so I want to invite you to experiment with me. And so I have prizes. I have this that's never been opened. This is a test from the printer that is our real game that will be in stores in the next few weeks. And not real stores. That's a whole other story. And then also this prototype game which has all the same parts but it's printed on inkjet printer. And so if you want a copy of one of these two games at the end of the day or if you're interested in the Japanese game which I can't give you today but I can send you a copy when we have it. So if you're interested in the Spanish game, tweet at my diverse, how do you say whatever you wanna say in Spanish and then with the Rocky Mountain Ruby hashtag? Or if you want the Japanese game then tweet at my diverse how do you say whatever in Japanese with the hashtag. And then we're going to do some behind the scenes hopeful awesomeness and we will tweet back at you the phrase which may not be today but we'll be soon. But we are going to then judge the submissions based on sort of randomly but with a waiting for creativity. So the idea is be the first one to tweet a phrase that we don't have in the database and if we do have it in the database we can send it right back to you and participate in this contest. So I want to close with a quote by Kent Beck where he says, agile is what works. And I wanna challenge everyone especially the developers in the room that when we think of agile often we think of chess first development we think of getting our stories done we think of having reasonable velocity but agile goes way, way beyond that and think about every line of code you write think all the way to the end user what's this for, how are they gonna use it and how am I gonna know that this actually works for the real piece person who will use this software? Thank you.