Blog

  • Killing Kojitsu

    Killing Kojitsu

    Let’s start with a bit of context. About a year ago I started work on a little web application that could surface the best links shared by the people I follow on twitter. Last February I released that application into the world as Kojitsu.

    I’m fascinated with the potential to tap the social graph and create a new type of social recommendation engine. Kojitsu started out as just an experiment to explore that fascination.

    After operating Kojitsu for about six months I decided to shut it down at the beginning of July. In this post I want to share with you some of the reasons why I came to that decision, and the lessons I’ve learnt from building the product.

    What Kojitsu did well

    Before we dive into what went wrong, let’s take a look at what Kojitsu did well.

    The number one thing that would come up time and again in chats with users was how much they liked the simplicity of the interface. I’m a big believer in the power of simplicity and worked hard to make the app as intuitive as possible so this meant a lot. As any maker will know, having someone pick out a certain aspect of a product you worked hard on brings a great sense of accomplishment.

    Of course any content discovery product is only as good as the recommendations it generates. I feel that Kojitsu did a good job of hitting the mark here, and users seemed to agree. Don’t get me wrong, the ranking algorithms were far from perfect. But they were consistently surfacing interesting content.

    Why Kojitsu had to die

    When I shut down Kojitsu on July 11th the service had 218 registered users. The majority of these signed up when Kojitsu hit the top of Product Hunt back in April.

    For a lot of people that’s a small number, but it doesn’t feel small for me. I come from a B2B world where I know the name of every single one of my customers.

    When you’re focussed on statistics, it’s easy to forget about the people behind the numbers.

    I genuinely care about every single one of those 218 people. They took the time to try something I built. Many of them offered me feedback. Shared Kojitsu with their friends. There’s no greater satisfaction for a maker than seeing people enjoy something you’ve built.

    So where’s the problem? Having users is great but you don’t have a business unless you have a way of making money. I was bootstrapping Kojitsu with the money I was earning as a freelance writer. To begin with I was okay with that (after all I had built this to “scratch my own itch”) but as Kojitsu grew, so did the cost of running the service. When the money from my writing gigs dried up I had a tough decision to make. I needed to monetize fast, or shut down the product.

    There’s a perception in the startup scene that if you build something, people will flock from afar to use your product. Then when the time is right, you can turn on the money spigot and start generating ad revenue off all those eyeballs. That business model may have worked for a handful of companies, but it’s rare.

    With Kojitsu I tried a whole bunch of different ways to ‘turn on the money spigot’. I spoke to users about charging for the service, explored sponsorship deals, advertising opportunities. At one point I reached out to social media agencies to see if turning Kojitsu into a B2B service might work. I thought they might want Kojitsu as a tool for finding content to share through their clients’ social media accounts. They didn’t.

    Nothing worked. There was no business model. There was no business.

    So that’s why I shut down Kojitsu. It had reached the point where Kojitsu needed to grow up and become a business to survive. Without a viable business model, that just wasn’t possible.

    Lessons Learned

    The whole experience with Kojitsu has taught me a lot. Far too much to note down in one blog post, but I want to share with you some of the biggest lessons I’ve learnt.

    Charge for your product

    I’m done with this perception that stuff on the internet has to be free. Free is not going to pay your rent.

    Build something awesome and charge people for it. There’s no greater validation for an idea than having someone hand over their hard earned cash.

    It seems crazy I even have to write about this, but a lot of people are falling into this trap (hey, I did!).

    Tell anyone outside the tech industry that you’re going to give away your product for free and they’ll laugh in your face.

    Free is not a business. Free is a hobby. Charge for your product.

    Don’t be afraid to cannibalize features

    In the early days, one of the top feature requests was the ability to get recommendations delivered as a daily email. Kojitsu started out as web-based application so people would need to log in to view their recommendations. Building habits like that is hard, so a daily email sounded like a great idea.

    I completely underestimated just how much of an impact this would have on the core product. Overnight almost everyone stopped using the web interface and switched to the daily emails.

    I had cannibalized the web interface that I’d worked so hard on by launching the emails. That can be a little daunting, but the emails delivered a better experience so it was the right thing to do.

    I’ve seen people work on something for days just to justify a few hours they spent in the beginning. If something’s not working out, cut your loses and a move on. You might incur a little short-term pain, but you’re securing the long-term health of the product.

    Humans are awesome

    Out of all the experiences I had whilst building Kojitsu, the points that stand out most are the chats I had with users.

    Feedback is crucial to a young product. The Kojitsu community gave me some of the best damn feedback I’ve ever received.

    It means a lot that people are willing to take the time to share their two cents. I hope I have the chance to repay the favor many times over.

    Why don’t you just open source it dude?

    After I announced that Kojitsu was shutting down a lot of people asked if I would open source the codebase. I decided not to. Not because I’m possessive over the code, but because I don’t have the time to maintain it.

    I don’t want to just throw some code over a wall, then turn my back and head off into the sunset. Open source projects are only successful if they have a healthy community around them. Open sourcing the codebase so that it can rot out in the open wouldn’t be the right thing to do. Sometimes it’s better to just let things die.

    What’s next

    Shutting down a product sucks. I feel like I’m letting people down, and I hate that. But everything comes to an end at some point.

    As for what’s next, I’m already deep into development on a new product (one with a real business model!). More on that to come soon.

    My time with Kojitsu has taught me a lot. I hope that some of the experiences I’ve shared in this post will help you in your own endeavours.

    Until next time.

    Keep hustlin’

  • The Democratization of Urban Design

    Every now and then I read, hear, or watch something that resonates with me so much I just want to share it with the world. Today that moment came after watching Enrique Peñalosa’s TED talk on urban planning and public transport.

    Urban planning isn’t one of those sexy design niches that gets talked about all that much (yes, urban planning is design). Talking about grey asphalt and concrete buildings just doesn’t illicit the same intrigue within most people as the smooth anodised aluminium finishes on the latest Apple products. I’ve always been fascinated with cities though. I grew up in the countryside, so visiting a city was always a bit of a culture shock. It’s a completely different world.

    I’m fascinated with the layout of cities. The way that roads form a maze between the tall buildings. How the placement of shopping malls, markets, and green spaces can totally change the character of an urban environment. But the thing that hits me most when I visit a city is the divide between rich and poor.

    Cities are places of extremes. They are the centres of extraordinary wealth, but also crippling poverty. Cities are where our democratically-elected governments call home. Why is it then that their design often seems far from democratic?

    In his talk Enrique Peñalosa speaks of his time as the mayor of Bogota, Colombia. Becoming the mayor of a rapidly expanding city cannot be an easy job. These cities face many problems; crime, poverty, vast informal settlements that come to define the landscape of the environment. Many of us in such a situation of leadership would feel so overwhelmed by the task-at-hand we would be powerless but to prod at the issues with short-term solutions.

    Enrique Peñalosa however, recognised that this rapidly growing city had the opportunity to reinvent itself. An opportunity to become a more democratic city. A city that restored dignity to its poorest citizens. A city that empowered it’s citizens to dream.

    Enrique Peñalosa spearheaded initiatives like [TransMilenio], a networked bus system comprising of over 130 stations that enables citizens to move around the city quickly and safely. The buses have their own dedicated lanes so as to avoid the busy city traffic. No doubt a controversial decision amongst motorists, but one that Enrique Peñalosa defends as restoring a basic human right set out in the constitution.

    The first article in every constitution states that all citizens are equal before the law. That is not just poetry. It’s a very powerful principle. For example, if that is true, a bus with 80 passengers has a right to 80 times more road space than a car with one.

    – Enrique Peñalosa

    The automobile revolution redefined our cities. It reinforced the divide between rich and poor; opportunity and poverty. Now it’s the bus lanes, cycle ways, and pavements that are restoring equality.

    An advanced city is not one where even the poor use cars, but rather one where even the rich use public transport.

    – Enrique Peñalosa

    So take 15 minutes out of your day and watch Enrique Peñalosa’s TED talk. It might just change the way you look at cities.

    The cities we are going to build over the next 50 years will determine quality of life and even happiness for billions of people towards the future. What a fantastic opportunity for leaders and many young leaders to come, especially in the developing countries. They can create a much happier life for billions towards the future. I am sure, I am optimistic, that they will make cities better than our most ambitious dreams.

    – Enrique Peñalosa

  • Time

    Everything has a finite amount of time.

    All the objects we depend on. All the people we love.

    If we take away all that surrounds us, all we’re really left with is time.

    Time to enjoy. Time to be happy.

    How will you spend your time?

  • Thoughts on Writing

    Writing gets talked about these days as one of the most important skills a person can have, and I generally agree. Writing teaches you to think deeply. To care about the work you produce. To consider how others will read your words.

    Being a good writer isn’t a trait you’re born with. Writing is a skill, and like all skills it’s learnt over time. You become a better writer by writing.

    Writing isn’t easy. For a lot of people writing is a chore. Something that gets avoided at all costs. I know that was the case for me.

    Schools will tell you that they teach students to write. But they only focus on the what and the how. So many neglect to cover the why.

    Now I’m not romantic about writing. I’m not offended if you use an apostrophe in the wrong place, or get “their” and “there” mixed up. What I care about is why you write.

    The why creates an emotional connection, it ignites passion, inspires the work. The why gives a purpose to what you do.

    For me writing is about sharing ideas and spreading knowledge. It’s about giving back to the community that’s supported me, and saying the things I need to say. I don’t write because I enjoy the act of writing. I write because it’s a means to a result.

    Why do you write? What’s your purpose?

  • Edit Your To-do Lists

    My day revolves around what’s on my to-do list. It helps to keep me productive. But to-do lists have a problem. They get bloated. You end up with all sorts of stuff on there that isn’t that important.

    It’s important to edit your to-do lists.

    Remove the things that aren’t important.

    Focus on the things that are.

    You won’t have a long list of completed to-do items at the end of the day, and that’s fine. Don’t judge yourself by the amount of ‘stuff’ you get done today, but by the quality of the work you decide is most important.

  • Greatest Hits (so far) From The Treehouse Blog

    After finishing HTML5 Foundations I was asked if I’d like to start writing for the Treehouse blog. Naturally I jumped at the opportunity and started formulating ideas for blog posts. That was November 2012.

    Over the past year (and a bit) I’ve written more than fifty posts for the Treehouse blog so I thought I’d post a list with some of my favourites. Not all of these have done well by traditional metrics, but I really enjoyed writing them.

    1. Speeding Up Page Load Times
    2. Using Web Workers to Speed-Up Your JavaScript Applications
    3. Implementing Native Drag and Drop
    4. Working with Shadow DOM
    5. Getting Started with Grunt
    6. Building a Synthesizer with the Web Audio API
    7. An Introduction to WebSockets
    8. An Introduction to The Page Visibility API
    9. Building Multi-Touch Web Applications
    10. Using Emmet to Speed Up Front-End Web Development

    I look forward to writing the next fifty 🙂

  • Time is Currency

    Yesterday I finished reading The Last Lecture. The book is based around a talk given by Randy Pausch (The Last lecture: Really Achieving Your Childhood Dreams). Randy was a professor at Carnegie Mellon University. In 2006 he was diagnosed with pancreatic cancer and despite a number of attempts to halt the cancer’s progress, Randy passed away on July 25th 2008.

    Randy’s talk inspired millions. It made people question how they were living their lives.

    Something that Randy spoke about in his talk was that we should view our time as currency. This simple idea has been bouncing around my head for the past few days. It’s made me question what I’m spending my time on.

    Unlike money, you can’t get more time. It doesn’t matter how hard you work, once it’s gone it’s gone.

    Your time is limited, be careful how you spend it.

    We don’t beat the reaper by living longer. We beat the Reaper by living well, and living fully. For the Reaper will come for all of us. The question is what we will do between the time we’re born and the time he shows up, because when he shows up it’s too late to do all the things that you always [wanted] to.

    Randy Pausch, Carnegie Mellon Graduation Speech (2008).

  • Education is an Adventure

    I think it’s sad that a lot of people view three or four years at university as the end of their education. The truth is we never stop learning. Education is a lifelong endeavour for all those that wish to live life to its fullest.

    I’m not talking about the sort of broken education that exists in our schools and universities today. Education shouldn’t be about memorizing stuff from text books or sitting exams. Education should be about exploring the things that you find interesting. It should be an adventure.

    Everyone is different. They have their own beliefs and their own interests. And yet our education system is stuck in a mode that tries to teach everyone the same things.

    Just to be clear, I don’t think that teachers are at fault. There are some amazing teachers in our schools and universities today. When I look back to my own time at school I was lucky enough to have a few key figures who really inspired me to pursue the things I was interested in. The key difference was that these teachers colored outside the lines. They gave students the freedom to go off and explore the things that interested them.

    There’s been a lot of talk about education reform over the past few years and that talk is translating into action. Companies like Udacity, Khan Academy and Treehouse have opened their virtual doors to anyone that wishes to learn. These solutions still have their own set of problems but I strongly believe that companies like these will make up the educational system of the future.

    The education system of the future won’t be about learning a set curriculum consisting of things that other people think you should know. It will encourage you to explore the things that you want to know. It will inspire you to choose your own adventure.

  • The Permanence of Data

    I recently started keeping a journal again, it helps me to think through the things that are on my mind. I thought about purchasing a nice leather journal to write in. The idea of having something physical that would hopefully outlive me is interesting to me. It’s funny because data has the potential to be stored forever, whereas notebooks will eventually disintegrate; and yet notebooks still seem more permanent to me.

    As we go through life we amass all of this knowledge and experience that make up who we are. Before computers these things could only be written down in journals or captured in photographs and yet now all of these things exist in digital form. Stored away on some server somewhere. What happens to all this data when we’re gone?

    For my generation almost our whole lives have been catalogued in some sort of digital form. Maybe this is how we pass on the knowledge that we amass to others. Then again there’s so much data now that you have to pose the question as to whether it would even be useful.

  • Notifications Are Killing Email

    Email has become one of the primary ways that web applications send us notifications, but email wasn’t built for this. Email was built for communication, not for sending people notifications about events.

    Somewhere down the line we seem to have merged email and notifications together, but they don’t really belong that way. The whole context in which we receive, consume and act-on these things is different.

    In my mind a communication is a message that is passed from one human being to another. 
    A notification is generated by a machine with a single, short-lived purpose.

    When we receive an email from a friend we tend to think about them. We have context with that person, and that context affects the way we interpret the content of that email. Notifications are different. Notifications are cold. They are soulless clumps of bits that have the single purpose of delivering a message about an event. We don’t have the same context with notifications.

    I have emails that go back years that I still read regularly. Just as people would keep letters in times gone by, I keep emails that have had an impact on me. But amongst all of these cherished emails you won’t find any notifications. Notifications provide the information we need in the moment, but once that moment has passed their value quickly depreciates.

    A lot of people complain about email. I wonder if those people would still be complaining if their inbox only contained communications from warm blooded humans. The people they know and have context with (and possibly a few they don’t). What if the notifications went elsewhere?

    Many companies have come along with products that promise to get you to inbox zero. Some of these products are great, but I think they are going after the wrong problem. We need to try and reduce the amount of email we’re receiving in the first place. Attack the problem at it’s cause rather than just coming up with a better way to deal with the effect.

    I think it’s time that we separated communications and notifications. In all honesty we’re already half-way there. Every operating system – be it on desktop or mobile – has the ability to handle native notifications. The remainder of the problem lies mainly with web applications. Even with the new HTML5 desktop notifications API, if your web app isn’t open, you can’t send a notification.

    I propose that we need to build a whole new platform that has the sole purpose of handling notifications.

    We need to build an open platform that can run anywhere, regardless of device or operating system. A platform that includes an API that developers can use to send notifications to users from any program, be it native or web. We need a client application that can handle these notifications and that can display them at the time that’s right. An app that can take into account context, and that knows that a notification that someone favourited your tweet isn’t anywhere near as important as keeping your eyes on the road whilst you’re driving.

    The system we have is broken. We need to rebuild.

  • Explore the Unknowables

    I say explore because true unknowables cannot always be solved. There’s not always an answer to find. Instead we explore them. We experiment in order to learn.

    Unknowables are things that nobody knows. No amount of research will lead you to an answer. True unknowables are like pristine snow sheets, free from the footprints of those that have come before.

    Henry Ford once famously said:

    If I had asked my customers what they wanted they would have said a faster horse.

    He didn’t know that customers would want to buy cars. Nobody had ever tried to sell cars to the people he was targeting before. It was an unknowable. Henry Ford pushed ahead because he believed that everyone would want to own a car one day. He explored the unknowable, and on this occasion he found an answer. They really wanted cars.

    Unknowables come up a lot in business. Especially if you are at a company that is truly innovating. If you’re doing something new you’re going to come up against challenges that nobody has had to deal with before. Don’t worry about finding the ”˜right’ answer. Just explore the unknowable. You might find a solution, or you might not. It doesn’t really matter that much. The value isn’t in the end result, it’s in the journey you took to get there.

  • Explorers

    As I gaze at the dark night sky I am filled with such excitement.

    Excitement for the future generations that will visit distant worlds.

    The generations that will experience other lifeforms, cizilisations and technologies; 
    all incomprehensible by our current minds.

    For if we can just refrain from destroying ourselves, 
    maybe one day we can truly learn what it is to be explorers.

  • Content Discovery Still Sucks

    We’ve spent years entering intricate details about ourselves into various places on the web and yet we still can’t get a truly great recommendation out of a machine.

    Don’t get me wrong, recommendation engines have come a long way, but it still feels like a scatter-gun approach. We’re bombarded with ‘recommendations’ and left to sift through the pile until we can find the one thing we haven’t already got or are actually interested in.

    • Spotify and Last.fm know pretty much every song I’ve ever listened to. 
    • Amazon knows what books I read. 
    • iTunes and Netflix know the films I like to watch. 
    • Digg knows which articles I read, and which I skip over. (Yes, I’m a Digg Reader fan) 
    • My iPhone knows the places I go and how long I’m there. 
    • Facebook and Twitter know the people I like to talk to, and the ones I don’t. 

    We have all this data about us out there on the web but it’s all being stored in (mostly) proprietary silos that makes it really difficult to do anything useful with.

    Imagine what would happen if all of this data came together.

    We could build recommendation engines that could move past the content and start to build context. In the least creepiest way possible, they could begin to understand who we are and use that information to make our lives a little better.

    This is something that’s really been bugging me lately. 
    We have the technology, we have the data. 
    Lets do this.

  • Intelligence

    Being smart isn’t about knowing all the answers, it’s about asking the right questions.

  • The Power of Simplicity

    The Power of Simplicity

    In his book Insanely Simple, Ken Segall shares many of the experiences he gained working whilst with Apple on numerous marketing campaigns, including the infamous Think Different campaign.

    One of the main insights that really resonated with me was the idea of the simple stick. A metaphorical device that is used to reduce an idea to it’s simplest possible form.

    At the start of the book Ken tells a story about a package-design team that presented a new idea to Steve Jobs and got ”˜hit by the simple stick’. Steve rejected their packing design, not because it was bad, but because it did not fulfill the potential for simplicity.

    Simplicity is the ultimate elegance in design. Whether you are crafting a physical product, a website or writing some server software, making things simple is rarely a bad idea. That’s not to say that simplicity is easily achieved. It is often the case that simplicity is only accomplished after overcoming many complex challenges in the creation of a product.

    There are few companies around today that truly understand the power of simplicity. Of course Apple is one of the most well known, but companies like IDEOVANMOOF and Square can also be looked at as champions of this belief. These are companies that don’t just imitate the simplicity achieved by others but that hold simplicity amongst their core values.

    Next time you are designing something – whether it be a website, a computer program or even a business strategy – ask yourself: how can you distill this creation to it’s simplest form?