Category Archives: iPhone

A mighty PNG

This innocent-looking PNG image makes a huge difference to iOS apps if you need to target retina display devices. At 640×1136 and named “Default-568h@2x.png”, this default launch image tells the app to run in full retina resolution on devices such as iPhone 5. What’s different with this image is the tiny file size of only 184 bytes. You’re welcome to grab it and use it.

Default-568h@2x.png

Addictive Games

I’m putting together a list of current and previous addictive games for mobile (iPhone, iPad, iPod Touch, Android, Nokia…), desktop, console or other devices.

What I mean by addictive is games that keep pulling the player back, games that keep players up for hours. Here is a quick list to start off with (I’m not including version or edition to keep things simpler):

  • Zynga Poker
  • A Monster Ate My Homework
  • Angry Birds
  • Bejeweled
  • Plants vs Zombies
  • Call of Duty
  • Halo
  • Myst
  • Pacman

Why am I putting together this list? First of all, I want to identify the ingredients of successful and addictive games. I’d also like to find out what people are interested in and why? And hopefully this would be a place where other game developers can find inspirations to create more addictive games.

Please add to the comments of games that you feel are truely addictive (max one self-promotion allowed if you think your game qualifies as addictive to other people). Thanks!

Apps that crash my iPhone

I just opened up XCode and had a look at the crash logs of my iPhone. I wonder how many of these apps are written in Objective-C… Oops, looks like the most problematic apps are written by Apple… 😯

And Skype, when are we going to get 3G calling and Push Notification? While you’re at it, please make it more stable too. Thanks.

i? – Best web experience?!

A day before Apple announced the iPad, I was contacted by Lee Simmons who writes for DigitalMediaBuzz.com. Lee would like to hear my opinion about the Flash and iPhone controversy. Here is the transcript of my answer to him a week ago:

What types of Flash apps do you develop for mobile?

I’ve done applications such as weather, news, device user-interface, built-in device applications such as photo gallery and video player, TV/set-top box user interface and shopping apps, and of course entertainment.

How long has Quantumwave been in business? What particular markets do you serve?

The company started in 1993, and was incorporated in 1998. Our clients are very diverse: from small shops, to agencies, to larger companies and international enterprises. In recent years, most of our projects are device or mobile related, but we also work on projects for other markets including international non-profit organizations on rich internet applications, video and gaming…etc.

In general, what is your take on the Flash-iPhone controversy?

It’s a combination of who has control over app revenue, and potential performance issues of the previous generation of the Flash Lite player. The Apple App Store is the only official method to get applications, and Apple has full control over it. If they allow Flash to run on the iPhone or iPad, users can get to a lot of content – games, video, applications…etc. without paying Apple anything. This I think is the main reason. The other possible reason is a common misconception that the mobile version of the Flash player, Flash Lite, is slow and CPU-intensive that will drain the battery life. I have Flash Lite players on other mobile devices and have not noticed significant problems as some are lead to believe.

Adobe is working hard on the next generation of the Flash Player for devices: 10.1, and it includes a lot of improvements such as hardware acceleration. However, if the main reason is about revenue, I don’t think we’ll see Flash on the iPhone or iPad soon. I do hope the two companies can come to some sort of agreement though, because as much as Apple likes to say their devices provide the best web experience, a lot of web content are using Flash for not just video or games, but enterprise applications as well. Without Flash, the web experience on the iPhone or iPad is frustrating to say the least. And HTML5 isn’t solving all the problems any time soon either. It may be able to play video, but Flash is a lot more than video. From a developer’s point of view, the rich programming language and APIs of Flash across multiple platforms have no match from other solutions at this time.

Would you rather wait for the companies to work out their differences?

No, simply because I’d rather be active then passively waiting for something that may never happen. For a lot of developers, the iPhone market is potentially a great income source. But with the tight control by Apple, there are pros and cons developing for it. With Flash and the Open Screen initiative, Adobe is in partnership with most mobile and device companies, and the Flash Player will be available on more platforms and devices this year and the years to come. To be able to develop using a single solution that can be deployed on multiple platforms is the main advantage of Flash.

Are you inclined to move forward and create Flash apps that look good and function properly on iPhones?

Yes, definitely. At this moment, there are a few other solutions that let developers tab into the iPhone market without coding in iPhone’s native Objective-C (which carries some old baggages from the past), and some of these solutions are looking quite promising. With Adobe Flash CS5, a lot of developers can use their existing knowledge and create iPhone applications in a much shorter timeframe than coding in Objective-C. Even though the content are created in Flash, the end result is a native iPhone application. As the product evolves over time, I’m certain that we’ll see a lot of developers using Flash to create content for the iPhone/iPad market. However, there will always be a need for Objective-C when these solutions cannot provide the adequate result or performance. As a result, I’m open to all possible solutions and potential markets to achieve the best balance between ease of development and performance. It’ll be interesting to see how Apple reacts to more complaints that their most popular devices cannot play Flash content.

I’d also like to add that from a developer’s perspective, the object-oriented language (ActionScript) used to build Flash applications, games and whatnot is years ahead of the current browser-supported JavaScript. Richard Leggett wrote a great post on the subject, so check it out too.

Another 3rd-party iPhone SDK: Corona

Corona: Another 3rd-party iPhone development SDK is now open to developers for pre-beta testing.

One thing that sets this SDK apart: The engineers are “former Adobe mobile software veterans” who worked on the mobile Flash ecosystem.

And no, the programming language is not ActionScript or JavaScript, but is Lua – a simple scripting language that should be easy for ActionScript developers to pickup. One thing uncertain to me is whether Corona is generating native Objective-C code from Lua code, or simply interprets the Lua code at runtime (I certainly hope it’s not the latter).

At the moment, there is no public distribution build. The only way to test a project is by using the Corona Simulator that comes with the SDK. Corona is still at its early stage, and the final product is targeting end of Q3 2009.

As Apple has been known to reject apps for unknown reasons, many PhoneGap developers have encountered the most-feared notice that their app is rejected. One possible reason is PhoneGap relies on the Safari JavaScript engine, and JavaScript code is interpreted at runtime, which is not allowed by the Apple SDK agreement.

For me, there are some important questions:

  1. Does Corona generate native Objective-C code or interprets Lua code at runtime?
  2. How much does the final distribution license cost?
  3. How stable is the final code?
  4. Is memory management handled efficiently?

Nevertheless, it is good to see more 3rd-party tools and SDKs for iPhone development.

Update: Today (June 24), this article talks about Corona. “When the developer has his Lua code the way he wants it, he submits it to the Ansca Web site, where it will be compiled into an iPhone application ready to submit to Apple’s App Store.”

Even though it seems to simplify the workflow, this may not be ideal because:

  1. the complete project and code is submitted to Ansca
  2. sounds like the developer does not get any Objective-C code for tweaking
  3. developer is locked into Ansca’s terms for future deployment

Hopefully Ansca would address these concerns in their FAQ or forum soon.

360 | iDev conference at eBay in San Jose

After coming back from Seoul for less than a week, I was in San Jose for the 360|iDev iPhone conference. To keep this short, the conference was really great – not only was it affordable, the sessions were informative, and it was a great community event for networking too. In many other conferences, companies spend considerable efforts in pitching their products or services; I saw a lot less fluff at 360|iDev, and a lot more substance.

It was also great to meet my old friend Sam Wan again. He found out about the conference only a few days before it started from my twitter, and decided to join. You can read about his comments at his new blog.

Another person I met was Rob Toole, who is also a Flash mobile developer, now developing a financial app for the iPhone. Rob invited me and a few other folks to talk about mobile development, the conference, and has posted it as a podcast on iTunes.

A big surprise was from Bill Perry, ex-Adobe mobile evangelist who now works at Nokia in Mountain View. It was good to see Bill again. And who would expect to receive a 5800 XpressMusic phone at an iPhone conference? Thanks Bill for the first S60 5th edition touchscreen phone, so I can start developing for it.

Another ex-Adobe friend I met was Sumi Lim, who now works at Samsung just down the road from eBay where the conference was held. It was really great to chat with Sumi outside of conferences. She’s now working on the Samsung Mobile Innovator program for Windows Mobile. Check it out!

What I got from this conference was more than the technical, but also the marketing and distribution of iPhone applications and games, and met with fellow developers. Needless to say, I can’t recommend this conference enough. Keep an eye on their next event!