Mar 10

Filed under:

Unit testing refers to a software validation methodology that allows programmers to test individual program units for correctness. It's been an ongoing question in the iPhone developer community as to whether the iPhone's view controller class is testable or not.

In response to these discussions, iPhone developer Jonah Williams has written up a view controller unit testing how-to over at the Carbon Five web blog. His write-up offers examples that show how to incorporate some best practices into your code.

Williams points out how broken NIB bindings are a common problem for iPhone OS applications. To address these issues, he regularly adds simple assertions that test that each IB outlet and action are set properly from inside his view controller class implementations. These assertions check that IBOutlet instance variables are not set to nil and that IBAction targets have been assigned, adding a layer of protection against broken bindings.

Another typical view controller issue involves responding to application memory warnings. To respond, he adds tests that ensure that each view-dependent property gets correctly released and re-created as views unload and then later reload. By building these into test methods, he can execute this behavior on demand, and ensure that the sequence will execute flawlessly in real world conditions.

Finally, Williams discusses view controller interdependencies. Often instances are tightly intertwined, with objects acting as clients for each other. For example, a simple table view controller, living within a navigation controller, might present a detail view via yet another view controller when a row is selected. That's three separate controllers to account for, when you really only want to test one at a time. Williams suggests isolating these view controllers away from their interdependencies to test each component separately and provides examples of how you can do so.

What made Williams' approach pop for me is how he carefully exposes and isolates dependencies for testing. These are features that can otherwise be hard to inspect and validate in the normal course of programming. His write-up is well worth reading through, and provides an excellent jumping off point for investigating view controller unit testing.

TUAWiPhone devsugar: Unit testing for iPhone view controllers originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 16:30:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under: , , , ,

We stopped by the Capcom Fight Club party here at GDC 2010 last night, and in addition to playing the new game, we also got to talk to producer Takeshi Tazuka. Actually, we got to talk to his translator -- Tazuka only speaks Japanese, and I only speak English, so the interview was done with a middleman in between.

But even with the language barrier, we did get some good chat in about the new game, Capcom's future plans for the iPhone, and what Tazuka thinks about making a game like this for the iPad. Read on for more.


Thank you for speaking with us, I appreciate it. So, a fighting game on the iPhone -- how did you approach that?


I used to create arcade games, and the equipment is kind of similar to the iPhone.

It's similar? But there's no buttons on it.

It is different. The device is completely different. But the behavior for game users is very similar. When you go to game centers, you want to jump in and play a game spontaneously. And the iPhone is the same thing -- it's like an arcade experience.

What did you think of developing games on the iPhone as a platform? Was it easy, hard?

It's really interesting as a platform because people that play games on the iPhone usually don't have a game console at home. I am interested to see how people react to playing video games on their handheld, not on a full console. It's very interesting. Music fans, and other application fans, they play video games on the iPhone. It's very interesting to see those people playing the games on the iPhone.

Are there other iPhone games that you like?

[Laughs] Except Capcom games?

Right, besides Capcom games of course.

I really like Homerun Battle 3D, it's by this company called Com2us. [Pulls out his iPhone and shows us the Japanese version.]

Have you looked at the iPad at all? Are you interested in developing a game like Street Fighter for the iPad?

I'm very interested.

What would be different than the iPhone game?

The iPad is obviously heavier, so the user experience would be very different. [Motions with thumbs, has trouble holding a bigger device the same way.] Different than using iPhone.

On this game, how did you work on developing the interface to make it easier to use?


There's actually a mode called dojo mode, it's a tutorial or training mode, where you can learn how to improve your technique, brush up your technique, and learn to fight against really hardcore players as well. It doesn't only teach you how to play, it teaches you how to do super combos, hadoken, and how Ryu fights against Ryu, how Guile fights against Ryu. It's learning, dojo style. With this game, the major segment that we're targeting is late 30s. Those people who used to play Street Fighter II big time. So that's why it's a little easier for those people to pick up and play.

Was there anything that you wanted to do that you couldn't do because of the smaller platform?

Because of the memory capacity, we couldn't implement any more than eight characters total. We would have liked to put more characters in there, but the memory is limited.

A lot of people wouldn't have expected Street Fighter to become an iPhone game. Are there any other Capcom games that you'd like to put on the iPhone that people might not expect?

We have a lot of plans. But we can't tell you anything right now. We will try our best to do more than you expect.

Great, we're excited. Thank you.

Thank you very much.

TUAWGDC 2010: Interview with Street Fighter IV producer Takeshi Tazuka originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 16:00:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under: , , , ,

We stopped by the Capcom Fight Club party here at GDC 2010 last night, and in addition to playing the new game, we also got to talk to producer Takeshi Tazuka. Actually, we got to talk to his translator -- Tazuka only speaks Japanese, and I only speak English, so the interview was done with a middleman in between.

But even with the language barrier, we did get some good chat in about the new game, Capcom's future plans for the iPhone, and what Tazuka thinks about making a game like this for the iPad. Read on for more.


Thank you for speaking with us, I appreciate it. So, a fighting game on the iPhone -- how did you approach that?


I used to create arcade games, and the equipment is kind of similar to the iPhone.

It's similar? But there's no buttons on it.

It is different. The device is completely different. But the behavior for game users is very similar. When you go to game centers, you want to jump in and play a game spontaneously. And the iPhone is the same thing -- it's like an arcade experience.

What did you think of developing games on the iPhone as a platform? Was it easy, hard?

It's really interesting as a platform because people that play games on the iPhone usually don't have a game console at home. I am interested to see how people react to playing video games on their handheld, not on a full console. It's very interesting. Music fans, and other application fans, they play video games on the iPhone. It's very interesting to see those people playing the games on the iPhone.

Are there other iPhone games that you like?

[Laughs] Except Capcom games?

Right, besides Capcom games of course.

I really like Homerun Battle 3D, it's by this company called Com2us. [Pulls out his iPhone and shows us the Japanese version.]

Have you looked at the iPad at all? Are you interested in developing a game like Street Fighter for the iPad?

I'm very interested.

What would be different than the iPhone game?

The iPad is obviously heavier, so the user experience would be very different. [Motions with thumbs, has trouble holding a bigger device the same way.] Different than using iPhone.

On this game, how did you work on developing the interface to make it easier to use?


There's actually a mode called dojo mode, it's a tutorial or training mode, where you can learn how to improve your technique, brush up your technique, and learn to fight against really hardcore players as well. It doesn't only teach you how to play, it teaches you how to do super combos, hadoken, and how Ryu fights against Ryu, how Guile fights against Ryu. It's learning, dojo style. With this game, the major segment that we're targeting is late 30s. Those people who used to play Street Fighter II big time. So that's why it's a little easier for those people to pick up and play.

Was there anything that you wanted to do that you couldn't do because of the smaller platform?

Because of the memory capacity, we couldn't implement any more than eight characters total. We would have liked to put more characters in there, but the memory is limited.

A lot of people wouldn't have expected Street Fighter to become an iPhone game. Are there any other Capcom games that you'd like to put on the iPhone that people might not expect?

We have a lot of plans. But we can't tell you anything right now. We will try our best to do more than you expect.

Great, we're excited. Thank you.

Thank you very much.

TUAWGDC 2010: Interview with Street Fighter IV producer Takeshi Tazuka originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 16:00:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under:

The ever-popular MacHeist bundle, offering eight Mac apps for $20 total, closes out at midnight Pacific Time tonight. If you've been on the fence so far about whether or not to buy in this year, two bits of news may push you over the brink.

First, all the initial applications have been unlocked; both Tales of Monkey Island and RapidWeaver are fully present and accounted for. Second, there's been a last-minute addition to the roster; Tweetie for Mac (normally $20 on its own) is now part of the bundle.

If you're Macheisting this year, let us know what you think of the app selection; if not, share your reasons why. (We will accept "I'm saving up for tickets to Tron Legacy" as a valid reason.)

TUAWMacHeist nano bundle adds Tweetie for final day originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 15:30:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under: , , , ,

As popular as Ngmoco and its games are, whenever we seem to post about them, the subject of their business model seems to rise to the top again. While they have emerged as one of the iPhone's top original developers, they've also lost a lot of fans by sticking with a model they call "freemium," even to the detriment of some of their most popular games. They release games for free, and then monetize the games by using microtransactions, selling both virtual items and virtual currency for real money.

We have a lot of questions for the company, and we'll be asking even more of them coming later this week. But first things first: we cornered Ngmoco producer Allen Ma here in their suite at GDC 2010 and asked him to try and tell us why Ngmoco is so insistent on "freemium," and how they feel about some of the adverse customer reactions to their model. Read on to hear why free-to-play, pay-to-play-more is the model that they're betting their business on.


When we post about Ngmoco, the first comment on the post is often "Here's Ngmoco trying to steal our money again." What do you think when you see a reaction like that?

It's very, very odd because it's strange to see those moments when our goal as a company is that we want to give you a full game experience for free. That's really what Eliminate is. You can log into Eliminate any time you want, and play the game against anyone else, for free. And it's Quake 3 on the iPhone! So it's very interesting when people go oh they're scamming us because they want us to pay ten to twenty dollars to play through a game experience. That really is not true. Because you can never pay for the game and get the same exact experience.

Well, it's not the same exact experience.

It is, it just takes longer to get there.

That in itself makes it not the same.


Well does it or doesn't it, right? Because I feel like there's a lot of games out there where you're paying to do something faster than someone else. There's a whole black market that exists in World of Warcraft where you can buy a level 80 character for hundreds of dollars. There's this market where people are willing to do that. We're just doing that in a way where it's legitimate and fair to everyone.

Well, but a lot of players frown on that even in World of Warcraft. A lot of players say if you buy a level 80, that's cheating, because the game is designed to be played the other way.

And in Eliminate, we would never let you buy a fully maxed out character, right? In Eliminate specifically, what we're allowing you to do, we're still allowing you to play the game, but we allow you to earn credits at a higher frequency than other people. You still have to play the same amount of games, you can't cheat your way to max level, but in actual total number of days to get there, you're lowering it.

I think another reason that people have an issue with this is that you guys, Ngmoco, have said that you're not even bothering with paid apps. There are some people who are willing to pay for a good experience, they're even willing to pay ten dollars for a solid, worthwhile, whole unlocked version of the game. And Ngmoco is saying we're not doing that, it's all freemium or nothing. What would you say to that?

We're just finding that, with paid, you can't make any money. There's only a handful of companies that are able to charge more than three dollars for a game. Gameloft, EA, Square Enix. Anyone else, they charge more than two bucks, no one's even going to look at their game. There's no way that we could have built Eliminate, for the cost per install or cost per SKU that we would have sold, to actually be able to make back that money in the timeframe that we wanted to. It's funny, because people are saying that they're willing to pay, but when push comes to shove, they're actually not willing to pay. That person that says they're willing to pay $10, they'll probably wait for it to drop to 99 cents before they actually purchase it. What they really want is a $10 game for 99 cents. What we're giving them is a $50 game for free. That's really our stance right now.

When you set out to make these games, even a game like We Rule, are you still thinking about it in the old model of, the premium experience for this is $50, or the premium experience is $10? Is there a "right amount" of money to spend to get the full game, or are you just saying the sky's the limit on the amount of money you should pay?


I think what freemium allows us to do is continually make the game better. So instead of going, OK, you as the user have to take a gamble to see if this game is worth x amount of dollars to you; instead, why don't you come in and try the game. If you like it, throw us a couple of bucks. When you do that, we know that you like that piece of the game, and we'll give you more of that, so that if you continue to like it, we'll keep designing these things, right? The ones that you don't like, we'll stop doing. For example in Eliminate, people really wanted co-op. So we're going to give them co-op, because they're going to keep playing the game. Some of them will continue to keep paying to play the game, and that's encouraging as a developer to keep making it better and better. And this is why World of Warcraft works, right, because users are willing to continue to pay to play the game. Unfortunately, not every game can be as excellent as World of Warcraft where everyone in the world is willing to pay for it. I could point you to a game like Dungeons and Dragons Online, which used to be a regular MMO and now is a free-to-play MMO, and they're saying that they're making like 60-80% more revenue as a free-to-play game than when it was paid. And they're now updating the game way more frequently than they did when it was paid.

So it sounds like you're not even thinking in the old model of, "here's this experience for this amount of money." You're thinking of it as a dialogue, where you pay us for what you like, and we'll return more content. You're not just investing two bucks to speed up your game, you're investing two bucks in the game and in future content.

Yeah. You're paying to support the game, and you're paying to support all of the free players that weren't willing to pay for the game. So when you think about it that way, you're paying so that we can maintain the servers that allow all of the people to play. So again, going back to Eliminate, our game that's working right now, you're paying for the game, so that you can continue to own people that don't pay for the game.

Great, thanks very much.

TUAWGDC 2010: Ngmoco justifies the freemium model originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 15:00:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under:

Same price, same features (mostly) but a sleek and slender new look: yesterday Elgato introduced the latest revamp of its EyeTV Hybrid USB tuner for high-definition digital television. The US$150 widget gives you the option of watching over-the-air digital television in full HD glory, and can also tune in unencrypted (Clear QAM) and analog cable TV signals. If you've got an analog source like a VCR or videogame console, you can also route those signals through the EyeTV Hybrid to watch or play on your Mac (for those who don't need the analog option, Elgato also sells the HD tuner-only EyeTV One for $120).

The tuner ships with the EyeTV 3 software, enabling live TV, DVR functionality and shared recordings for your iPhone and iPod touch. With every new EyeTV Hybrid you get a one-year subscription to the TV Guide data feed, which provides full listings and enables the Smart Series recording feature; the software also can detect and display the embedded ATSC schedule information for broadcast shows. After the first year, re-upping with TV Guide will cost you $20.

Other than the slimmer profile, the major new feature on this model is the addition of driver support for Windows 7's Windows Media Center. Mac users may not care much, but this does let you use the same tuner if you're using Boot Camp, or you can loan it out to Windows-centric friends -- if you trust them to give it back.

You can check out our previous coverage and reviews of the EyeTV Hybrid for more.

TUAWEyeTV Hybrid shrinks down, gains Win7 compatibility originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 14:00:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments
Mar 10

Filed under: , , ,

We stopped by Ngmoco's suite at GDC 2010 on the afternoon of the first day of the show, and got a chance to preview two upcoming titles they're working on testing and releasing soon. Both of the games follow Ngmoco's popular (and yet much-maligned) "freemium" model, in which you download the game for free with the option to buy in-game items or currency that can change up or speed your gameplay. Still, while the model might turn some players off, the games we saw were the kinds of games Ngmoco is slowly becoming known for: polished casual experiences that bring an established genre squarely into their business model.

The first game we saw was called We Rule -- it's currently "beta testing" in the Canadian App Store and will be available to users in other App Stores soon. It was described to us as "Farmville meets Age of Empires," but what we saw was much more like Farmville rather than the more combat-based RTS title. The game opens on a screen full of "realms," each one developed and grown by one of your Ngmoco Plus+ friends, and you can zoom into your own to start building it up.

It plays a lot like Farmville, which is a gigantic Facebook game in which you grow crops and cultivate plants of all kinds. Ngmoco's version is slightly different, but only slightly: you're still laying down crops, waiting for them to grow (30 seconds for the cheapest and easiest crops, and up to days for the rarer and higher-level items), and then harvesting them for in-game currency that lets you grow more and build more, and so on. It's not strictly a competition (you don't track totals with friends or score points for what you grow), but the game is very social, with push messages notifying you when crops are done or when your friends have done something spectacular or worthwhile. There's a big focus on customization as well -- you can build things like mailboxes or signs that make your realm very different from anyone else's.

So where's the "premium"? Every time you grow or build something, there is a little button marked "mojo," and "mojo" is a type of magical in-game currency that can be used to speed up whatever you're growing. Mojo can be earned slowly in the game, but if you want to use a lot of it, you can pay real money via in-app purchase to get more. Thus, if you want to grow the game quickly and don't want to wait to earn more mojo, you can start putting real money in.

Ngmoco did say that they'd "learned" from their previous games, and that they wanted to make sure that even the free game was a full experience. But that mojo button was awfully big and purple, and combined with the fact that there were also in-game ads all over the build we saw (when we asked if there would be a way to turn them off, even with real money, we were told that they haven't decided yet), it certainly seems like Ngmoco will do their best to get you to invest in the game.

The other game they are showing off this week is called GodFinger, and if We Rule is based on Farmville, GodFinger is Farmville mixed with Pocket God. The game is centered around a planet that you can rotate around with your finger, and the planet is populated by "followers" that offer you, as a God, all sorts of prayers and wishes. Granting those wishes (like adding rain to crops or sunlight to people who need their day brightened) will grant you "awe," which is another currency that you can use to upgrade your planet however you see fit, by terraforming the ground or building various structures and upgrades.

GodFinger is also very social -- you can actually "assign" one of your friends on Plus+ to a certain follower (as in, you can name a follower after your friend Katie), and then we were told that your friend will get push notifications and even benefits in their game depending on what you do to them. For example, if your follower Katie asks for sunlight and you grant the wish, your friend Katie will get a message that you granted her virtual wish, and even get a bonus of some kind in her GodFinger games.

We didn't see ads on the game, but of course being as this is Ngmoco, there is a "freemium" plan in there. You can purchase "awe" with real money, and that will let you use your god powers even more per day than usual, kind of like Eliminate's energy currency. GodFinger definitely seemed like it was a little less "pushy" than We Rule, in terms of asking you to spend real money, but of course, if you're playing the real game, there will presumably come a time when the game will tell you to stop playing for the day or pay up. It's still in development, of course, so even Ngmoco isn't 100% sure

Both games are definitely polished and well designed -- they ran great on the iPhone 3GS, and the graphics were colorful and easy to understand. But Ngmoco's main obstacle will be to keep their business plan from getting in the way of their game experiences. They say their main goal is making fun games, and it'll be up to these two games to prove it.

TUAWGDC 2010: Ngmoco previews We Rule and GodFinger originally appeared on The Unofficial Apple Weblog (TUAW) on Wed, 10 Mar 2010 13:00:00 EST. Please see our terms for use of feeds.

Read | Permalink | Email this | Comments