Chapter 8. Programming the Canvas

The unique platform capabilities of the iPhone enable developers to create innovative applications inside of Safari that go beyond the normal "Web app" fare. Safari/WebKit's support for the canvas element opens drawing and animation capabilities in an ordinary HTML page that was previously available only by using Flash or Java. The canvas element is part of the Web Hypertext Application Technology Working Group (WHATWG) specification for HTML 5.0 (or HTML5).

However, once you begin to open these capabilities, you need to be sure that you are working with an iPhone and iPod touch rather than a standard desktop browser that may or may not provide HTML5 support. So, I'll start by showing you how to identify the user agent for iPhone and iPod touch.

Identifying the User Agent

When you are trying to identify the capabilities of the browser requesting your Web site or application, you generally want to avoid detecting the user agent and use object detection instead. However, if you are developing an application designed exclusively for iPhone or need to guarantee the browser being used, user agent detection is a valid option. Therefore, this chapter assumes you are creating a Safari-specific application.

The Safari user agent string for iPhone closely resembles the user agent for Safari on other platforms. However, it contains an iPhone platform name and the mobile version number. Depending on the version of Mobile Safari, it will look something like this: ...

Get Safari® and WebKit Development for iPhone® OS 3.0 now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.