How many failed projects does it take to learn how to code?

My failed ideas and what each of them taught me

I always had an interest in computers and technology, but dismissed coding as ‘too hard’ and so never bothered to learn it. That is, until I watched the film which changed my life — The Social Network (2010).

I remember walking out of the cinema that afternoon feeling incredibly inspired and full of energy, and immediately began brainstorming website ideas with my friends across a table in a fried chicken joint. This wasn’t the first time I promised myself that I’d knuckle down and do something worthwhile with my life, but it was the only time I actually followed through (to date).

At this point, I had a rough idea about how HTML worked from a couple of school projects, and I knew that this thing called ‘CSS’ existed, but I didn’t understand how the two linked together and I sure as hell didn’t know what PHP and Javascript were.

Idea 1: Clickphilia (Jan. 2011)

Clickphilia was the product of the fried chicken brainstorm. Derived from ‘click’, meaning ‘to click, and ‘philia’ meaning ‘the love of’, it was a game in which all you had to do was click a button, repeatedly.

So I set out to make Clickphilia with this forum thread. I copied this signup/login script without really understanding any of it,and asked a lot of questions on Stack Overflow. I actually removed the password hashing in the signup script since I couldn’t get my head around how it worked. As a result, I happened to end up with a small database of peoples’ real passwords. Don’t worry though, they were all deleted a long time ago…

In the end, this is what I had made. A few of my friends, Facebook and otherwise, played on it for an evening but quickly (and understandably) got bored.

What I learned

I found that even when I didn’t have the slightest clue what I was doing, if I spent enough time staring at the screen I would eventually figure it out. I felt bad about copying code without fully understanding it, but tweaking copied code here and there actually ended up being a really quick and stimulating way to learn how things worked. Making a site go viral wasn’t as easy as Jesse Eisenberg made it look in the film.

Idea 2: Twipsum (Dec. 2011)

Twipsum was an idea I came up with in the shower one day. It’s a site which generates dummy text using tweets. This time I didn’t need an awful lot of help from Stack Overflow, but I did rely a little bit on my people over at Facepunch.

After it launched, I encountered an interesting non-programming problem with the project: I discovered another site also called Twipsum which was very similar to mine. More worryingly, the owner of the original Twipsum discovered mine and wasn’t overjoyed. I, of course, turned to Reddit for help. In the end I did what any self respecting man would have done, and hid behind my computer screen, hoping the problem would go away (and it did).

Looking back, that was probably a bit of a dick move but the fates of two, let’s face it, terrible websites, were at stake so nobody was really going to get hurt.

All in all, Twipsum was good fun. It ended up getting 2000 unique visitors in the 36 hours after launch, which was cool, and even had an exit — about 8 months ago I was emailed by a guy who had high hopes for the site (god knows) and wanted to buy it, so Twipsum was officially acquired by this unnamed third party for a massive £100 in January 2013, over a year after it was first made.

What I learned

It’s a good idea just to check that there isn’t already a site by the same name that does the same thing, despite how unlikely that may seem. Keeping the site online even after losing all hope paid off in the end and even if it hadn’t, it would have still been nice just to have a record of past projects to look back on one day. It takes more than a dummy text generator to make you famous.

Confide.re was an anonymous confessions site. Derived from the latin ‘confidere’, meaning ‘to confide’, it was by no means an original idea but I thought that making it well designed with an easy-to-use interface could be enough to beat the competition. Building confide.re was quite fun because I had AJAX experience from Twipsum and so I already knew most of what I needed.

The main challenge and learning experience in this project was creating an intuitive and pleasant user experience. Clickphilia was, well… atrocious, in this respect, and Twipsum was essentially a logo and a button, so I hadn’t put much thought into user experience until confide.re.

I like to think I did a good job here — the interface is quite easy to use, and some subtle animations and jokes when users interact with different parts of the site make for a nice experience. Feel free to disagree, of course.

In the end though, the site gained very little traction and only a few of my friends and forum buddies ended up using it. As to be expected, most of them didn’t use the site for its intended purpose, but I’m glad they at least found it entertaining. I think the main problem was that a submission-based site like this can only really grow slowly and after a lot of hustling, something which I didn’t comprehend at the time, and probably wouldn’t have been motivated to do even if I had I known.

What I learned

Unfortunately, “If you build it, they will come” didn’t apply to to my site, and probably won’t apply to most sites. I ended up having to individually approach people in order to get users. If a site requires user-submitted content, it’s a good idea to moderate it quite strictly in the early stages to set the tone and direction for the future, and to avoid a barrage of penis jokes (see some of the submissions on confide.re). I think it’s worth spending a few hours in tweaking small user experience tidbits. When I visited the site today for the first time in months, I was glad I spent time on the little things.

Onwards and Upwards

I’m by no means a good programmer, but I think I’m at the level now where I can implement at least a working prototype for most of my project ideas. I was fortunate that my previous failures (read: learning experiences) involved a range of technologies that gave me a broad knowledge base.

Here comes the shameless plug…

I’m currently working on a new project called Curate. It’s a site that allows you to create, share, and discover collections of links on any topic you choose. It is, in my opinion, the only remotely good website idea I’ve ever come up with, but I can think of at least one thing that I’ve taken away from each of my previous projects that has helped me with this one. Please check it out and let me know what you think!

How many failed projects does it take to learn how to code? About 3.

Discuss on Hacker News