by Charles Ying

Fortune Favors the Brave

April 11th, 2010

Section 3.3.1 of the iPhone SDK Agreement:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

The thing to understand about Section 3.3.1. is that it is the legal letter of the SDK agreement, but not the desired intent.

Developers are allowed to use SQL for database operations. Developers are encouraged to use GLSL via OpenGL ES 2.0 for fast graphics. SQL and GLSL are not languages in the Objective-C family and they are compiled / interpreted. But they also don’t directly link against the Documented APIs (e.g., there’s no “SELECT subviews FROM UIView”).

Regular expressions and XSLT (ugh) are also similarly permitted.

How I intend to interpret Section 3.3.1., as an independent iPhone developer is as follows: Use Objective-C where it makes the most sense: directly interfacing with the iPhone SDK. When I need different tools to achieve something application specific, like an AI in Lua or printing commands in PostScript, I’m going to use them.

For me personally, I feel that this is what Apple permits and practices in the course of mobile software development.

Practices? Yeah. Have you looked at what iPhone OS itself uses? XML and JSON for data serialization. Nibs, property lists, XSLT in XML domain specific languages. TinyScheme to interpret Scheme code for sandboxed process permissions. hunspell‘s DSL drive the spell check dictionaries.

For sure, Apple has impure motives. But that doesn’t mean they’re wrong. Mobile constraints are different. Battery life and performance matter. A lot.

Use the right tools for the job: Objective-C when talking to iPhone OS. But whatever your application’s brain needs to think different.

Technorati Tags: , , , , ,

The LOST iPad Icon

February 2nd, 2010

The iPhone was introduced at Macworld 2007 without one mystery app. Apple later revealed that mystery app only 9 days before the iPhone launch to be YouTube which propelled iPhone hype into orbit.

With 52 days to go, and the iPad rumor mill kicking into gear, the question of the day is, “what is the iPad’s mystery icon?”

So, if you think it’s crazy for Apple to be hiding mystery iPad software and hardware, remember that history tends to iRepeat itself.

Personally, I’m looking forward to iChat and Dashboard widgets on iPad.

Update: Felipe makes a good point in the comments. On June 18, 2007, 11 days before the iPhone launch, Apple also upgraded the display hardware from plastic to glass. Glass display parts are $16 today, while camera parts are roughly $10.

Technorati Tags: , ,

The Tablet Specs

January 26th, 2010

Revisiting my predictions from December 2008, here’s what I think we’ll see tomorrow. Guesses, instead of insider intel.

  • 1440 x 960 10″ multi-touch display – Even multiples of iPhone OS resolution for easy app scaling up
  • ARM Cortex A9 CPU – Fast with long battery life
  • PowerVR SGX 545 GPUOpenCL, baby!
  • iPhone OS 4.0 – With tablet frameworks and multitasking
  • $599 / $699 – Quoting Steve Jobs, “We don’t know how to make a sub-$500 computer that’s not a piece of junk”.
  • Names: iBook, Canvas… or iDroid XP 2010 Tablet Edition

Technorati Tags: , , , , ,