A marketing oversight on my part …

On August 26, 2010, in Marketing, Speaking From Experience, by Steffen Itterheim

I noticed that most of my recent posts revolve around the cocos2d book. It’s so very easy to forget one’s online presence while you’re frantically working on projects. I’ve seen it countless times and I don’t want to fall into the same trap. That is: create, create, create and then: announce. Boom. No one’s interested anymore. Everyone moved on. You lost your share of the Internet attention span. That certainly would be a shame because besides the book, I was working on other things over the past two months and I’m looking forward to making an announcement in the coming months. I think it will strike a similar nerve than the cocos2d book did. But it’s not limited to cocos2d, so it’ll get its own website, that much I can say. And yes, I love to tease. :)

I think programmers are especially prone to making the mistake of neglecting their online presence, their virtual alter ego that lives on the Internet 24/7. It’s all too easy to become deeply engrossed with what you’re working on, particularly if it’s a very technical thing. Once you’re done you get a burst of satisfaction and then you’re looking for the next fix which of course is spending more time on the project. In the meantime everyone else around you, and on the Internet that means blog readers, are wondering what you’re up to. If it goes on for a while without actually producing something, readers will stop wondering and start not caring anymore.

Numerous times have I read that you need to start marketing as soon as you start creating. At least that’s true for Indie developers. And how many times have I seen people fail at this? All too frequently. Typical scenario: our game is done, now how do we go about the marketing? Your blog should be your marketing instrument from day one. The other negligence for marketing simply stems from a deeply rooted repulsion for promoting one’s efforts and products. I certainly feel that too but I manage to live with it because it helps me strike a balance. I could only make a sales pitch like this one if I was primarily in it for the money (sorry Matt, that’s the impression the site is giving me because it’s too close for comfort to Internet marketer sites).

Most blogs die before they have even started. It’s hard to get readers attention in the first place but I think it’s much harder not to lose them over time. I learned it’s finding the right mixture of blog posts that will create the most interest and attention to readers, a careful balance that one needs to strike. Let me explain the categories of blog posts which I think are valuable but, if not mixed in with other categories, may be too niche to keep readers coming back more often. Unless you explicitly target a tiny niche, in that case a focused approach works quite well.

Concrete Learning Posts

Bloggers who provide sample source code and solutions for a particular platform fall into this category. You write a small tutorial or just a quick fix for a particular technology issue. The good side is that it shows off skill (sometimes) and that you’re being helpful. The downside of these posts is that, especially in the case of Tutorials, they attract a great number of readers but few will stay or come back. Smaller code solutions and quick fixes often get reader’s attention only through google, they copy the code and are gone. The blogosphere is saturated with information everyone needs to learn, because most of us are still learning. What’s often missing are the really hardcore ideas. Take that example and it makes me wonder, could this work to get cocos2d nodes to support NSCoding just by applying this concept? I’d love to try but I don’t have any need for that and it’s on the roadmap anyway.

The problem with the smaller code snippet posts, as I see it, is that they are often only losely related. You may find just the right piece of information but the rest may be too straightforward and already known to you that you don’t give it much value. Posts like these better fit on Q&A sites like stackoverflow.com. Also, before posting those bits of wisdom it may be wise to check if that information isn’t ubiquitious. Chances are someone else came to the same solution months before you. Posting what others have posted numerous times before does devalue your blog. In that case prefer a post that sums up all the other great posts on the topic. That works so much better since you’ll be sharing your own research.

And definitely share your current development status. I love those work-in-progress posts. I’ll be writing more of these in the future.

Concrete Experience Posts

You may be surprised how interesting your (development) life’s experiences can be. About a year ago I started a german Spieleentwicklerveteranen (Game Development Veterans) Podcast, in which I simply told my experiences within the game industry. How games come to be, what life is like as a game developer, why people start working for a games company and which kind of experiences they may be going through, from good to bad. Just a very hands-on, personal opinion approach with a couple anecdotal stories. I only produced two episodes though, mostly due to lack of planning and because it’s not really that much fun to do a podcast without a regular, reliable partner. Yet to this day I frequently get emails asking me for the next podcast.

Readers love to read and hear about experiences for two reasons: either they are less experienced than you are, and get a glimpse at what it must be like to be at your level. Or they actually are at the same level than you are, and they can relate. Suddenly they’re not so alone anymore.

Recently I spoke to a former colleague of mine who set out to write his own game, I think he has all the necessary skills and he certainly had the motivation and drive to go through with it. But as time passes by, and he kept working all by himself and more often than he wanted to, faced serious technological challenges that hindered his game’s progress. Not being able to actually talk to like-minded people and getting tips from a range of professions, as we were both used to during our time at game development studios, can be a serious motivation killer. And you guessed it, he has no blog and not even a Twitter account.

For me, one thing to fight off incoming demotivational phases is to converse with the people out there and blog my experiences, at least once in a while. I like helping others answer their question because I know how it sucks to be stuck, I also learn valuable lessons from it and I feel good to be able to help or at least nudge developers in the right direction. It also leads me to think in different directions and helps connecting the dots, so that’s where the interesting experience stories are actually born. Wait a second, I was in the exact same spot back then …

I believe experiences, if they provide a meaningful resolution are the most valuable blog posts anyone could write. But those don’t come natural to most developers (or people in general – but I’m not saying that developers != people). So that’s a conundrum. We programmers love the DRY principle (if you don’t you’re not a programmer yet), but that doesn’t translate to blogging and even less to marketing. Like my Starterkit, I know I should mention it more often to make a decent number of sales over the coming months yet the programmer in me tells me that, oh well, those who’ll like it will find it regardless. Trust me, they don’t. I am tempted to mention it more often, at least on Twitter, and maybe give away some promo codes or get someone to write a review. But what to say about it? Look, it’s here. The same thing from last week. Oh great. Yeah, I think you get the picture. It’s really hard to REPEAT YOURSELF without becoming obnoxious. We all know the kind. Personally, I don’t follow Twitter accounts whose tweets mention their own product(s) about 50% of the time or more, unless they provide interesting insights into their work.

Ramblings aka Opinion Pieces

Everyone loves to have an opinion. It’s very easy, tempting and almost natural to start blogging with a lot of opinion pieces. I started in 2007 with my gaminghorror.net blog and almost all early posts were opinion pieces. I think that, unless you know exactly what you’re talking about and can construct a careful argument, that those kind of posts can easily backfire. Either you’re an expert and a critical thinker and you are able to dissect your thoughts into constructive opinion, or else you risk being regarded as a loudmouthed idiot who doesn’t know squat. There’s a fine line to walk. Certainly no one cares about whether you like a certain product or technology more than another, or yet another opinion on the same issue unless you can provide a new, fresh argument. But if you have an actual pet-peeve, something that comes from your heart and that just totally goes against everything you believe in, that’s what should become a great insightful blog post.

For example, one of my pet peeves is to fight off the Piracy Problem by saying it doesn’t really exist. Except in our minds. We don’t have a piracy problem, we have a perception problem. We just make ourselves believe that most of the time piracy is bad for business. There is a real threat but it has a much less impact than the piracy numbers lead us to believe once you factor in human behavior. For App developers it’s widely understood and appreciated that, once their App is free for a day, the downloads jump through the roof. Ten or even 100 times more downloads for free than at the $.79 price point. Yet when we consider piracy, we see great numbers exactly because the software is free yet we forget to consider that, if any pirated software would cost just $.79 the piracy numbers would drop at least ten-fold. I can’t prove it, but I sure as hell believe it because that’s how software piracy works. It’s not a market, it’s a movement that exists only because there is no money involved, set aside a few scrupulous industrial pirates.

Paul Graham puts it best in his essay What you can’t say. It’s the things that might (or will) get you in trouble which perhaps should, or must, be said. The ideas that people fear might be true. Like Galileo’s moving earth theory. Ridiculous, isn’t it?

Conclusion

So what am I saying, I forgot to market myself? Not quite, I’d rather see it as an invitation. By writing more blog posts and allowing anyone who is interested to literally “read my mind” I invite you to take part. And dozens of developers have taken this offer so far.

I get a lot of emails and I answer all of them, even if it takes me a couple days to get to each and every one of them. There are valuable exchanges of information and knowledge and some of that would be of a general interest. But because I spend the time writing to a single person I tend to write less blog posts to a greater audience. I make observations and find solutions all the time and learn from them. Some of that actually goes into the book as I’m writing it. But what I should do more is to let everyone in on more of my insights or simply what I’m up to.

When I look at this website from an outsider’s point of view, I see too much focus on the book right now. A few valuable posts in between but not enough for my taste. I have a tendency that, once I start writing, I write a lot. This is bad because it costs a lot of time and effort. So I avoid it too often. Yet, often times it’s the tiny pieces that can be just as important. Because your time is valuable, too!

Going forward I vouch to write at least one blog post per week that’s not about the cocos2d book, and may not even be about cocos2d specifically, like this post, but still generally interesting to iOS game developers of course.

I also need to write shorter posts. The sun is setting … again?!?! 😮

Learn-cocos2d.com Website Statistics

On July 27, 2010, in Announcements, Marketing, by Steffen Itterheim

Over 9,000 visits in the past month with 40% new visits. 40% of that traffic is driven by google, close to 30% is direct traffic (which I believe includes Twitter) while cocos2d-iphone.org sends less than 10% of the total traffic. My own and recently neglected blog (last post May 23rd) gaminghorror.net still sending about 5%.

I am having a hard time making anything out of it actually, I have been running only one other notable website before and the focus and traffic stats were wildly different. If anyone would like to share and compare numbers I’d be happy to do so. Especially I’m interested if the ratio google vs direct traffic vs cocos2d-iphone.org is comparable to your numbers, or possibly totally different. I also don’t know what numbers can be considered good, ok or bad numbers, especially in context of cocos2d related websites.

The short little peak on July 10th was when I sent out the Newsletter announcing the closed sales period of the Starterkit, the plateau on July 19th was coming from the public announcement of the Starterkit. It’s notable that both resulted in the same number of visits but the Newsletter spike was very short-lived since most people are reading their emails within 24 hours. A funny self-made statistic: I’m able to convert approximately 0,0034% of website visitors to Starterkit customers. How is that for a conversion rate?

I did notice two things, which both surprised myself. One is how cocos2d-iphone.org accounts for less than 10% of the total traffic. The only time I saw a real spike in traffic from cocos2d-iphone.org was with the blog post announcing the Learn cocos2d website. That’s when the website was all fresh and new, and everyone went there at once to check it out. Interestingly, that wasn’t a spike followed by a severe drop-off by several hundred %, instead it created just over twice as many visits as the website gets on average anyway. The other thing I’m stunned to see is how the total number of visits curve over the whole time is astoundingly flat, especially for a website which is less than 3 months old:

Double-Rainbow all the way! But what does it mean?

I have no idea, mostly because I have nothing to compare it to. Maybe you have some thoughts or website statistics you’d like to share?

Here are the full learn-cocos2d Google Analytics results from the last 30 days as PDF:

Analytics_www.learn-cocos2d.com_20100625-20100725_(DashboardReport)

I hope you’ll find that interesting. I know, it’s data alright … boooooring. 😀

Tagged with:  

Update to Marketing FAQ

On May 6, 2010, in Marketing, by Steffen Itterheim

I just published an update to the Marketing FAQ beginning with the lesson Your Privacy isn’t.

Those are mostly thoughts i had while i was cleaning out my Twitter list (who i am following) to make room for all the much more interesting people who are now following me because of this new cocos2d website. The Twitter celebrities had to go to make room for you! :)

It never actually crossed my mind that the Marketing FAQ would be so popular. For me it was a last minute addition to the cocos2d FAQs from a spontaneous thought. I’ll make sure to update Marketing and PR more frequently. I certainly learned a lot about it while i was busy with my colleagues getting an iPhone game company startup funded for the better part of 2009.

Tagged with:  

Games are easier played than done

On April 30, 2010, in Speaking From Experience, by Steffen Itterheim

This one should be obvious: making games is hard.

What’s not so obvious: making simple games is still hard.

Ever heard someone proclaim “Oh, i could make that in a day!” after having glanced at yet another simple game that’s all the rave on the App Store? I bet you did. Truth is: they’re almost always wrong. Even if it’s someone who has years of experience programming games.

You know Jamie from Mythbusters is saying in their disclaimer shots: “It may not look like it, but we’re professionals”. Well, the Mythbusters are professionals. Who is to say you can’t fool around like a child and still be professional? It’s much like your regular game development team. Anyway, did you ever notice how surprised they often are about their results? Or how much work it would be to get their myths tested? Same goes for game developers.

A game programmer who is sure he can do that game in a day just by looking at it is a lot like your typical Mythbuster, or Mythbuster viewer, who thinks they know the outcome before the test – and then they’re in for a surprise. Sure sometimes they’ll be largely correct. Yes you can shoot a ball at 60 mph in the opposite direction of a car going 60 mph and the ball will just drop down straight to the ground. That is just simple physics. Even i knew that. I also know how to make games. And i can vividly imagine how many more tests and excrutiating amounts of work went into confirming that myth. The same amount of excrutiating work and detailed adjustment go into making any game as well. But they don’t show that on your screen, do they?

Game programmers who can actually make a complete game in a day are a myth. Once you’ve done a couple games you know that. And once you hear someone proclaim they can do it in a day, please take them by their word and put them to the test!

Let’s take Doodle Jump as an example. It’s been a target for ridicule from quite some game programmers who just couldn’t stand that something as simple (and stupid as they say) can be so successful. Could you do it in a day? Could you even do it in a week? Let’s put it to the test!

How?

Simple, we’ll just make a feature list and you can answer the question yourself: how long will it take to complete this? Please post in a comment how long you think it would take to complete all this, assuming you had all the graphics and sounds.

  • Menu
    • Challenge by Email
    • Highscores Screen: Local, Facebook Friends and Global (Webserver connection)
    • Options Screen, various options
    • Connect & Submit Score to Facebook (Facebook API)
    • Connect & Submit Score to Twitter (Twitter API)
    • Change your name
    • Pause Screen
  • Game
    • Player jumping
    • Accelerometer controls
    • Wrap Player when leaving either screen side
    • Player shooting on tap
    • Scrolling Game Objects as Player goes up
    • Scroll in Menu on game over
    • 7 different Platform Types, one that can be moved by touching it
    • 6 Enemies and 1 or 2 Boss Monsters
    • UFOs and Black Holes
    • 6 Powerups: Springs, Jetpack, etc.
    • Display Friend Scores on the side
    • Score display
  • Stuff that people often forget to think of
    • randomly generate platforms in a meaningful way with progressing difficulty and no unfair situations
    • cheats and easter eggs (not mandatory but Doodle Jump has a lot!)
    • several themes with all new graphics

Did i forget anything? Probably. Usually when you make feature lists like this you get 80%, maybe 90% of all features of you’re really thorough. There’s always something you’ll forget when you look at a game’s features, and there’s even more you’ll forget when you plan the game. Unless you plan for “When it’s done.” – which more often than not means: never. Or Duke Nukem Forever. Same thing really.