Feeds:
Posts
Comments

Hello again

It’s been one year since I updated this blog. I slowly feel like going back into occasional blogging again. What happened in that last year and what is happening right now is something I’m going to explain in small bites in the near future.

Do you find the latest news about iDevice adoption rates in China intriguing?

Are you thinking about targeting that market with your apps or games?

When I read Bruces’ post about his experience with releasing Gun Runner, wondering what to expect from the Chinese market, I sent an email to Jack, the CEO of my former outsourcing partner. Jack and I go back more than 10 years, he is a great guy and an avid technology enthusiast. Even though I’m doing all the coding myself right now (for a variety of personal reasons), we have a great relationship and when I send him a question, I’m sure to receive a non-sugarcoated answer.

My question

Hi Jack,

hope all is well!

A fellow dev experiences something interesting with his newly released

game: http://manuptimestudios.com/the-china-syndrome/

Do you have any comment on that? I’d say the “secret sauce” is that
the game is free, but how about ongoing monetization. Is there a trend
that people are going to pay for apps soon? And/or IAP? Can they
actually?

Those download numbers from China sure are impressive :)

Jack’s answer

Nice to hear from you ! We’re doing fine with our outsourcing business, and trying to extend our iPad menu product “LetsOrder”.
Regarding your question, I’ve downloaded the app for both iPhone and iPad, and read the link.
First, Gun Runner looks like an old console game that was popular in the last early 90s in China, maybe that’s the reason it got many downloads here.
Some people on Sina Weibo said , we may have over 60 million iOS devices in China, this could be a bit exaggerative, but not far from truth. Social media and word of mouth are both the strong way to promote a good app, but the key thing is, I don’t see many people to pay for an app, no matter it’s per download or IAP.
There’s a trend that fewer people get their phone jailbroken, but most of them only download free apps. If there are ways to make money, I think it could be these ways:
  •  ADs, but the app has to have a long life cycle on the device.
  • Free app, and IAP, but the app has to be designed specifically for Chinese users, and requires heavy marketing efforts
  • Completely free, and make money from user volume for other businesses, like QQ.
For Chinese people to get used to pay for apps/games, I believe there’re a few years to go, this is also why many successful Chinese game devs aim their market target towards US and Europe.
For your friend, I think he is very lucky, but I don’t think this game can bring much sales for him(no offense at all). He can change the game to paid app and give it a shot for sure.
Sorry that my comments may sounds negative, but I hope this help him get clearer image about Chinese market. :)
BTW: Draw something got very popular recently around us, but seems to drop out very soon, users are just harder to please.
Cheers!
I found this really interesting, so I wanted to share it. From all I can see with this and talking to Liz who has similar experiences with her app in China, I’d say that the market is certainly growing fast, download numbers can be substantial but monetization is very tricky. If the latter is mainly owed to a broad stance/expectation of the audience rather than technical or financial matters, expecting too much of that certainly very tempting market could be a bad idea short-term for Indies.
Did you do anything specific with your app in China? Please share your experience in the comments.

Why is it beneficial for a company that is about to go public to acquire another company?

When you read about Facebook buying Instagram today, you probably saw people hinting this is related with Facebook’s upcoming IPO.

Here is a quick attempt to explain this relationship.

As a public company, you tie yourself to the idea of growth as a primary measure of how you are doing. Not just generating revenue and profits, but growing those year by year. Like it or not, this is how the stock market works and this is where pressure will come from in your future as a public company.

There is organic growth, the one that you create with launching great products and services.

Then there are boosters like mergers & acquisitions. And those are not easy. Identifying the right targets, being able to convince another company to get bought out, finding the right price and merging the two cultures are huge undertakings. This is well understood by analysts, so from their perspective it is a very important element in how they judge a company and its management team.

This is why companies LOVE to present they are capable players in the M&A space around their IPO, it is a convincing argument for those who are about to have quite a word in how a company will soon be perceived by the world.

Since days I’m dreading the thought of writing a follow-up to last years resolutions post. Analyse the parts where I failed, try to make it a good learning and not too much whining. Or, I could focus on what worked, put all frustration aside and predict with fervor how 2012 will be my year. Or write a really complicated long piece about why I think none of the above really describes where I think I stand right now.

Then Twitter came to my rescue. So here is my

In-depth analysis of 2011 and my goals for 2012

I did some things wrong in 2011 and I had to do them wrong in order to identify them as such. I’ll do them better in 2012. I’ll keep doing some things right.

I failed some of my goals in 2011. I’ll try to achieve them in 2012. Making money, building a newsletter base are still good metrics, making a phenomenal game/app still the foundation of it all.

I’m not where I want to be, so 2012 needs to be a year of doing. With the words of Jonathan George (@jdg):

2012. Let’s do this.

Note: shortest blog post I wrote in a while. Good start. Back to Xcode.

Since I read Asimov’s robot stories over and over again as a teenager, I’m fascinated with human-robot interaction. Was Asimov right and do humans generally fear robots? Or will they be winning us over as easily as cute little Aibo does? Will we accept robots as caretakers, who might even be filling emotional voids? Lot’s of small and big questions coming up for this and future generations to tackle.

Here is a small and early one.

Who is serving you?

I’m a firm believer in a general politeness. I make a point in restaurants treating waiters and personnel with the respect they deserve for being human beings on an equal level. Same for employees. And yes I did take job candidates out for lunch and judged their behavior as an invisible part of the interview.

So here is the thing. The first steps in voice recognition made us sound more like robots than the recipients. With Siri, we see a first credible solution that understands natural language on a mobile device. And I hope she is good enough to understand “Siri, please send a text to my wife”, instead of “Siri, send a text to my wife”.

This is not about me feeling the need to treat Siri as a person. She is not. This is me understanding that a polite language is something that benefits from constant practice. This is me being a role model for my children, and others when I’m in public and they don’t always know who I’m talking to. And it is about using advanced technology to add a nice touch. Because I can.

Too little? Too much?

There are many definitions of politeness. I live in California and like the relaxed mix of politeness and efficiency people practice here. How about opening a task with a “please”, without the need to repeat that in every sentence afterwards (“Siri, please create a new note”, “Siri, add to that note”). I don’t know if she’d understand “Could you please…” but that’d go too far for my taste anyway.

Have you seen this video about the guy using Siri to control his beer-pouring robot? He uses command style for Siri “text xyz to beeri” but uses a polite style for his robot “could you please pour me a beer”. Random example but a good start. Most Siri demo videos use command style, but it feels more because the presenters were used to it than giving it some thought.

Summary

So yeah, you might find it laughable to even think about this, but as I said, I’m quite fascinated with where we stand. We are seeing the dawning age of spoken human-machine interaction. Slowly but surely we will have to make decisions on how to deal with robots and AI socially. Apple started with giving Siri a name and, without explicitly stating it, a gender. It will be us, the early adopters, who’ll shape the use patterns. With Siri, it feels like the first time voice recognition technology allows us to act like humans again and I think I want to put it to good use. And be nice to her.

This post describes how to create rounded rect buttons with variable length using a rectangular background graphic as a basis. This method requires iOS SDK 3.0 or higher. The information presented is not new, but I had to dig somewhat into Stackoverflow to find all the bits, so I thought a summary might be in order. This post is my idevblogaday contribution.

Background

Recently I wanted to create some decent looking buttons for a small app I wanted to release without spending money for graphic assets other than the Icon. So I spent a joyful morning in Acorn to create a brushed metal background (which was easy) and custom brushed metal buttons on top (which was a nightmare, but not because of Acorn).

When you do your own rounded corners (which Acorn supports nicely), you got to adjust the corner angle differently for your retina buttons. And when you have buttons with different lengths, I found pretty much every resizing method created artifacts that made the button look dirty.

I got somewhat industrious with cutting and pasting and stretching only the middle segment, ending with a heap of button graphics, four for each length (Default, Highlighted x 2 for retina), and ultimately I wondered if there isn’t a simpler way to do it with Interface Builder.

Well. There is not. You either select the “Round Rect” type, which will not have rounded corners anymore when choosing a rectangular background graphic or you use the “Custom” type which makes the button form rectangular right away.

So I wondered if there is a programmatic way to do it and there is, like here. But it feels like implementing a ton of code for a small cosmetic thing. Looking closer, I found that pretty much all examples I found were based in the pre 3.0 SDK age. Now, I’m using 4.3 for all newer apps and I certainly don’t target anything below 3.0 anymore. If you are in the same boat, making custom rounded rect buttons is really simple.

Import

With iOS 3.0 and higher you can use UIButtons CALayer to dynamically change its style. Make sure you import

#import <QuartzCore/QuartzCore.h>

Create

In Interface Builder, select the UIButton you want to change. Choose “Custom” type and select your background graphic. For my example below, this is a simple rectangular png with a gradient metal effect.

When creating such a base graphic, I typically choose 200×74 as size for the retina version. For shorter buttons, it will be compressed horizontally which is not visible afaic.

Code

A typical approach to access a button created in Interface Builder is to connect it via IBOutlet. The code for re-shaping that rectangular custom button looks like this and can be placed in viewDidLoad

_myButton.layer.cornerRadius = 8;
_myButton.layer.borderWidth = 1;
_myButton.layer.borderColor = [UIColor grayColor].CGColor;
_myButton.clipsToBounds = YES;

And that’s all it takes.

Tags

When I have a bunch of buttons in a view that should receive that treatment, I started to arrange them in a certain tag range, like 30+. So button 1 gets tag 30, button 2 gets tag 31, and so on. Which allows a simple loop like

for (int i=30; i<_lastCustomButtonTag; i++) {

UIButton* button = (UIButton*) [self viewWithTag:i];
button.layer.cornerRadius = 8;
button.layer.borderWidth = 1;
button.layer.borderColor = [UIColor grayColor].CGColor;
button.clipsToBounds = YES;

}

And here is the main screen of my current project which I will release this week, an app where I test a bunch of AVFoundation functionality I’ve been looking into, showing pictures of cute kittens and dogs while secretly recording the viewer with the front-facing camera. Note I also created my own UISegmentedControl out of buttons just to match the style, although you cansee the highlighting is not exact, a UISegmentedControl would not show the blue bottom border line for the highlighted segment.

I hope people find this simple approach useful.

Sony gets it

This week was buzzing with life-changing Tech News. Netflix’ dramatic price hike triggers a debate that pales the discussion about the US debt ceiling. 10 million people now discuss Google+ on Google+. Apple punishes UK users for voting against the Euro. More devs are buying an iCade. Eli and Lydia bought a dog. And Cocos2d releases the official Version 1.0 after more than three years and 2600 debates on how to properly name CCBatchNode*.

The one post that electrified me the most got little attention though, so I wanted to take a chance and point to it one more time, as I think it opens a big door for independent game developers. This is my #idevblogaday contribution for today.

Sony embraces Indies

Sony Computer Entertainment’s Worldwide Studio President Shuhei Yoshida said in this article that there is a clear and growing recognition of independent developers at Sony and that the Vita development kit was specifically engineered with affordability in mind.

What I like about this, besides the obvious message, is that Sony finally found a way to say Apple did the right thing, without saying that Apple did the right thing. I think we are seeing the first tangible changes in positioning towards Indie developers of the “post Apple shock” era.

What is it with the “A-word”?

Sony and Nintendo time over time presented tremendous difficulties to even casually mention “Apple” in press statements or keynotes. Recognizing Apple officially as a player in their space is something they feel the need to push out as long as possible, for two simple reasons.

  1. there is no need to add any tiny bit of traction to the momentum Apple already has, like a “Nintendo admits it is afraid of Apple” headline
  2. if you work in upper management in a major corporation like Sony you don’t run around with a T-Shirt in front of your shareholders saying “Sorry! They completely blindsided us!”

I’m sure this will change over time, right now it is good to assume this is all still quite fresh and understand why those guys seem so reality distorted with their keynotes.

Strategic impact

When a newcomer hits an established players’ home turf and gains tractions, there are two basic strategies.

  1. Neglect, keep focus on classic approach, push for that segment to remain dominant. Includes a healthy dose of praying.
  2. Adopt

The second approach is much harder than it seems. Playing catch up with a new and nimble player is not something big corporations like doing nor are particularly good at. There is no glory in that fight, in fact it makes for an endless stream of “still not there” press.

Nintendo digs itself deeper and deeper into 1). They make 3D handhelds for the players that are so hardcore they don’t mind headaches, an HD console with a tablet that isn’t a tablet and hate Indies more than ever.

Sony played the Indie aspect more vaguely. And I think we are seeing first signs of a full fletched turn. Not because of Apple. But because of Nintendo.

Nintendo doesn’t get it

By adamantly holding its “we don’t want garage developers” position, Nintendo offers Sony a great excuse to start saying the opposite. Times will change, but at this point it is MUCH easier for Sony to take that position countering Nintendo than acknowledging Apple. What they are saying is “They don’t want you, we do!”.

What is in for Sony?

Creating a strong independent program will be very beneficial for Vita sales. That is something both Sony as well as their classic industry partners have a vital interest in and for the first time in history, an established player introducing a strong, bleeding edge device is not a guarantee for strong sales anymore. Embracing Indies can give Sony an additional amount of groundbreaking titles that will give the Vita additional exposure in the News. Everything counts.

What is in for me?

There is a HUGE difference between offering an independent game developer platform and making it a good one. The more of an outspoken strategy it is, the more a company needs to put real effort into it, make it less of a “pseudo marketplace” and remove more roadblocks.

Mind Nintendo has a downloadable game channel. It is the worst experience for the gamer ever and that directly results into abysmal sales for developers. Note Nintendo DOES work with independent publishers and developers, they “just’ want to cherry-pick the good ones. But frankly, these days I’m in a pretty convenient position as an independent developer, I pick my battles and I don’t need all the hostile messaging. In my experience, those trickle down in the company and a mediocre platform will remain mediocre for a long while, as nobody in Nintendo feels a passion for fixing it.

Microsoft is a great example of embracing Indies with the XBox in a more dedicated way but still puts tons of roadblocks out. From naming it “Indie channel” (read “B quality” as a consumer) to a sometimes strange curation process to a bad discoverability on the XBox. With the result that even the success of the best selling titles is paled by what is financially possible on Apple’s platform.

All good in Sonyland?

Not quite. I’d say these are very promising signals and worth following. If Sony is serious with that strategy and if they and their industry partners are realistic about the chances of the Vita and allow for a strong downloadable store that independent developers have equal access to, Sony has a chance to catapult itself up into becoming one of the top platforms for independent game developers. Especially in the console space, that door is still wide open.

The first thing I’ll be looking at is discoverability. Lure your customers into shopping downloadable games like there is no tomorrow. Weekly Features, categorized Top Ten lists, all the good stuff that is selling apps like crazy needs to be there. I feel very strongly that there can not be a separation between AAA titles and independent titles. App Stores can take a positive approach, like a “AAA category”, but not a negative approach that signals “B quality”, like an “Independent category”.

Ultimately, it all boils down to sales. Yes, we all have our fav platforms, but the community is about making great games, not platforms, more than ever. Financial success factors are very important picking a platform, sales numbers of successful titles tell me everything I need to know about how well any given platform is setup and managed. Try to hide those from us and I guarantee that

  1. We’ll find out
  2. We’ll be super suspicious until I find out
  3. We’ll find out

Invest anything you have into discovery mechanisms for games, make the top games rise to the top, get your customers to buy those games instead of creating roadblocks. In a time where the Indie community is better connected than ever before, any other strategy is illusional.

Sony seems to get it. I hope they are serious.

Let me know how you see the different platforms and their outlook in the comments!

* just to be crystal clear: I’m a huge fan of Cocos2d, use it in everything I do, have tremendous respect for Ricardo and everyone who contributed. If I make friendly fun of it, it is with the deepest respect and gratitude.

Follow

Get every new post delivered to your Inbox.