Poet’s Corner 2014 Year in Review

What is Poet’s Corner?

I haven’t really written about Poet’s Corner before so some background is probably useful. Poet’s Corner is a poetry community. I originally built it back in 2011 over a weekend. The original version was extremely bare-bones. There were only 3 screens – a list of all the poems, a screen where a user could post a poem and  a screen which would show a posted poem.

Over the past 3 years PC has evolved into a really great community filled with a mixture of wonderful older and younger poets who write some incredible poetry. Of all the projects I’ve ever worked on I love this one the most. It has created friends laughter and a ton of inspiration for me personally. I consider it my most successful projects and all the emails I receive from poets thanking me for building it really mean a lot to me.

I do consider it a business. It does make a little bit of money and I hope that with some tweaks it can make more. Having it generate money can allow me to make it better + pay other people to help make it better.

PC has been downloaded over 75000 times and currently is installed on 10000 phones. Those numbers are definitely vanity metrics. A metric I use which I think gives a better idea of how much PC is used is the number of people who have signed in over the past 4 days. For the past couple of years that number has hovered around 1000 people.

 

So how did 2014 go?

Well let’s put some metrics down for reference –>

New registrations ~5000

Installs/day ~12

Purchases ~261

Total Revenue ~2500$

Expenses ~ 1500$

Estimated total time spent on PC this year ~24hrs

Estimated hourly wage ~40$

I’ve invested this money this year into buying the domain poetscorner.com and improve the Poet’s Corner hosting.

 

What went well

PC’s community is very strong. It almost polices itself. The posts off topic and spam are very low. I think that this comes from a combination of having the correct features for the community (no profile pics for example), the community being small, and the core group of poets who have decided to make PC their home. I probably owe this core group most. They really are the ones adding the value to the community at this point.

Buying the domain name. I think that this gives me a chance to really grow what PC can be. I’ve begun to realize that PC is something very special. People identify with it. This is unusual in a software project & I think that PC has the potential to really help people gain courage and voice as artists. This is what is starting to drive me and it has begun to help me define a roadmap for ways I can help people identify as poets even more.

The subscription service — this is a mixed bag. I need to change how the subscription system works but the fact that people continue to support PC even with the limited amount of premium features I’m offering at 6$/month I think shows that PC is delivering something very special.

 

What didn’t go well

I’ve been neglecting PC for a while (especially during 2013). After releasing the paid features some technical issues with the code made me afraid to modify it. I wrote a post on what I’ve done to correct the problem and I’m starting to get out of the woods, but at the moment PC is hard to modify and that’s keeping me from experimenting.

PC’s active user count has been hovering around 1000 for the past couple of years. My theory is that this has to do with the way the app (and particularly the main poetry board) is laid out. There is only one place to post poems and so this one-board model acts as a sort of natural limiter of potential growth of the app. I believe this is not necessarily a bad thing as the community has been good at forging “strong” connections and friendships between poets. I’m not sure if the same thing would happen if the community size were to triple — I think that I need to decide sometime soon if this is an experiment I want to undertake.

PC has been hard to change. I’m beginning to address this issue but I believe that it’s the main obstacle (that and deciding which direction I want to take PC in) to PC being able to contribute more to the users.

I have a sense that involving someone else in building PC would make it move forward better. I haven’t really identified what role that person would have — community manager and/or developer but I probably need to make a decision on that.

 

What I plan to work on in the coming year

I want to be intentionally vague about this. Life is complicated and I’m not always able to deliver on my promises and I’m sure some of the poets will read this post ;).

That said, I’d like to get PC to a place where it’s easy to modify and make change to — easy to experiment. This probably means that I’m going to be doing more with the web.

I want to try tweaking and changing some of the limits on PC.

I hope that I can get PC to a point where I could afford to pay someone to help me work on it every once in a while.

 

Well, I hope you enjoyed my year in review…

I’m just starting to blog about the products and projects that I work on. If you’re interested in keeping up to date with my journey towards building amazing products subscribe using the right-hand sidebar.

My product was stuck until I started making SMALL changes

I am the creator of the android application Poet’s Corner. It’s a poetry community that I built about 4 years ago. As of this writing it has been downloaded over 75000 times and is currently installed on over 12000 phones.

What was stuck and why?

I haven’t updated PC in about 2 years. The reason is because I’ve been afraid to make changes. Changes introduce bugs and piss off users. Currently there’s a lot about the code and community that makes up PC that is fragile.

I know what I need to do to fix the code. The main thing I have needed to do is ADD TESTS. Automated tests make it possible to make a change to code and know that it’s still functioning as intended.

Beyond that, the android app really needs to be re-written using different technology. The original version works but is hard to update. I want to use technologies that will allow me to make and test changes more rapidly.

About a year ago I actually did a from-scratch re-write of the app. The work went quickly but eventually stalled out. Ultimately it stalled out because I tried to change too much stuff at once. While I could make most features work, I couldn’t make them ALL work without a lot of effort. With paying customers I didn’t feel comfortable releasing something which could be perceived as a smaller product than what I had sold them before.

So what worked?

Recently I decided that I really needed to make updates to PC and that the approach I’d been taking (trying to re-write/ship major chunks of functionality) was not working. I decided that instead of doing a re-write. I would take what I already had and make iterative releasable changes. This may sound obvious and simple but I find it’s VERY easy to let a single change balloon into something too big to handle. I came up with a rule for myself which was very helpful. If I started to work on a feature I needed to ship the change to the feature by the end of the evening.

Using this approach I took what I already had (which was not the most beautiful) and picked small tasks I could FINISH.

First I moved the running code onto a hosting platform which was far simpler for me to manage. This was actually a pretty challenging project and took a whole evening. Once it was moved though, it became MUCH easier to deploy changes to my application as they became ready; and since I didn’t actually change any of the code that made up the application I didn’t have to worry that I was breaking features my users rely on.

Next I had some code that I wasn’t so sure about that I wanted to change. I realized that I needed to keep existing code from breaking so I spent some time configuring my application to be able to test the code. I SHIPPED the test setup code and that meant that writing future tests was suddenly easy.

Next I actually made some changes to the existing code. Since I  had the tests these changes went rather quickly. I was also able to re-write and simplify existing application code and I knew that the changes I made didn’t break my users’ experience. Again, I SHIPPED these changes same day that I started making them.

I just shipped my first feature which changes user experience. It’s a re-implementation of the feed system. The change took about an hour to make. It was really necessary for stability of the system + it was simple. I have tests for everything new I’ve written. The great thing is that I can stop here for now and I’ve got nothing in process. It’s so different from the days of working for several weeks to release a ton of functionality and worrying that it will break existing features or that my users won’t like it.

This seems like it’s working better…

Really it comes down to this — my product was stuck because I wasn’t willing to think small and iteratively make changes. I was trying to create a new vision in my mind and make it come to pass with force and willpower. This just didn’t work. When I finally accepted where the project was at right now – warts and all – and resolved to make changes one at a time things finally got moving.