My Notes from Halle‘s amazing talk at NSConf.
Terror – have people who have had great app indies for 5-10 years – real experts. This has been working 3.5 years. Been an interesting and challenging 3.5 years.
Started because was “meh” at apps. 3 paid apps. Got positive feedback, but couldn’t crack the marketing code. Decided to pause, reconsider, decide what the next thing should be.
This isn’t really a failure talk. Failure tolerant industry. Used to be the case that one big failure could take you out. Now maybe we’ve gone too far the other way – glamourising and valorising failure.
Suspicious about how much data you get from failure. Can fail on the app store but not know why.
Focusing on failure may lead us to mis-categorised success as failure. Leading us to abandon a strategy that is working, but slowly.
E.g. hit 75% of target – do you have a failed product? Did you estimate the wrong timeframe? Do you have a resource allocation problem?
If looking for a failure in that scenario, you’ll find it. But maybe it’s an undersized success.
When you stop, and reconsider, how do you proceed.
With intention, that is how you carry on.
“What do I want to do?” – one of the scariest first world questions. When we answer it, we might actually be able to do that thing.
Let’s not make it too complicated.
We want to make something useful. We can make something entertaining. Entertaining is a use.
Wanted to build on something that was already demonstrably working.
Had released a library – making offline voice recognition look good. Wanted to make offline speech recognition look good. Improve UX by stealth.
How to make it into a business?
Unusual as a sector – most businesses aren’t a single isolated thing. They usually have some diversity and consonance.
In a lot of businesses, diversity, protects you from a shock. Consonance – multiple products build interest in each other.
How to do that with OpenEars?
Wanted it to be free. Didn’t want to do the selling support business model – selling support creates perverse incentive not to make it as simple as possible. But believe it should be as simple as possible.
If something is a core value for you, the best place to put it is in your business model.
In a lot of places where there is one app, there is a quiet second business. Often a media channel. A fantastic blog, or a fantastic podcast. Has a halo effect, your audience is with you in social media. When you talk about your app, that gets amplified by your audience. Don’t do this cynically, but if you’re interested, good way.
Now have 5 plugins, 6 integrated products. One developer.
Meet the Neighbours – step from the agile manifesto. When you start a new software project, look at who is nearest and reach out to them. Decide what relationship you want to have with them, and create that. Asked “how can I be of use to them” – this is the question.
Software projects that work, last for years. So decide at the beginning what kind of relationships you have and make that happen.
Having a role model is good. Having an idiot role model is better. Had another software vendor, her vendor, was so angry with them all the time. Doing everything wrong. Wanted to rant about twitter every day. Realised, their product structure is a bit like Politepix. “They could be a lot like my company in 2 years!” Became fascinated, why do they make such terrible decisions, what was going on. Read all of their apology blog posts – it was like a visit from bad decisions future.
You can learn from mistakes. There are enough mistakes to go around, you don’t have to make them all yourself.
Learn doubly-entry book-keeping. Fired accountant, didn’t understand what he had done. Had to learn it. Like getting an introduction to the history of capitalism from first principles. Will let you do great projections for your business, if you understand it. Once you learn which side of the ledger capital is on when you hear about a terrible startup raising a series A, you will have the appropriate response, which is sympathy.
Small business can take up all your time. Have to focus on improving your product. Use programmer laziness. Automate everything you can.
Don’t repeat yourself
- Automated documentation pushing this in all formats. Most important, documentation is really pretty.
- Code snippets. If you don’t give them snippets, they will go to stack over flow and get a snippet. Then you will have to support it. Created a customisable tutorial tool.
- Forums – main problem was pointing people to the right answer when not finding it themselves. Wrote a tool, dealt with 90%. Macros for other 5%.
The third time you do a production task, and it’s not improving your app, automate.
Support became a much less big job, but 1 in 3 shot it would be a horror scenario. Started to dread looking at questions. Wrote a sentiment analysis tool that helps. If sentence particularly negative. If sentence is particularly subjective. What the worse sentence you wrote is. And makes suggestions, “maybe go take a walk before you answer this.”
Tool is “Me on my best day giving advice to me on my worst day” which helps respond to people when they are really stressing you out.
Anything you are doing that requires manual intervention, you can probably automate that.
Automated automated testing. Wrote a fuzzer, called HWHorrorShow. Randomised cross-thread stress-test.
You can automate all kinds of things that you wouldn’t necessarily think you could.
Learn to say no. Bootstrapping through contracting is great, but you have to stop when you stop.
If you run a product company and it works, you’re probably really good at executing. You don’t know if they are going to be.
No to free updates.
No talking about future plans. When someone asks you, they are asking you because they are making a plan. You only have control of the plans you make at the beginning, things change.
No spending all of your money on the products of famous luxury brand, Apple. Cost control is a real thing. Isn’t discussed that much. Standard business model high growth low revenue, not sure about the end game. Small, sustainable indie – want to be profitable in 12 months.
No to being a fan of Apple. You can like, respect, but you should be clear – if you want to be a fan, be a fan of your peers. They are doing amazing things, it’s going to mean a lot more for them.
No features for individual people.
No to the avoidant decision process. Because you’re afraid of people’s negativity.
The Philosophy of Death
Anxiety is normal. Confusion about your sphere of control. You control your planning, part of your execution, the way that you respond, basically nothing else. If you react to these worries, everytime something awesome happens, there’s something that can bring you down.
A business entities life is not a human life. When fearing business will tank, you will look at doing things that you would not normally.
Looked to ancient greek philosophy to deal with anxiety. Not big fans of positive thinking. Visualise that every morning, and then put it away and then you’re done.
Not becoming such a dull person that new ideas can’t find your address.
Small business problems can be addictive. You can fill 100% of your time with that. But your creativity is your most important tool and characteristic.
Cultivating your spark is a really big part of your job – like taking care of your health and psychological well being to the best of your ability.
Berlin is full of hidden courtyards. Become obsessed with getting into all of them in neighbourhood.
Find the source of the delight that leads to making delightful products. Don’t think you find that behind a screen.
Don’t eat the seed corn – your creative capacity is what got you into this, it’s the only thing that can move you forward.
Irony in making something very self-sufficient, makes less need for collaboration. And that is a huge loss.
2 replies on “NSConf: Halle Winkler – Duck Taping the Gates of Chaos Shut”
Notes from @NSConf – @politepix: Duck Taping the Gates of Chaos Shut http://t.co/tnpLwYAWVz http://t.co/1Pa0YlBGyM http://t.co/Y1BivJLnZv
[…] other/blogNSConf007/video […]
[WORDPRESS HASHCASH] The comment’s server IP (220.127.116.11) doesn’t match the comment’s URL host IP (18.104.22.168) and so is spam.