« Software is Hard | Main | AtomPub Servers Anywhere? »

Friday, February 15, 2008

iPhone SDK Feature Check

With the iPhone SDK due in the next two weeks, the question is how to evaluate it once it is out there. there will be the question of the market model, the question how it compares against the (soon to be revamped) Android SDK, and of course the question of how good it is as an SDK.

while there are many perspectives which can be used to evaluate an SDK, for our interests, such as how to use the new location feature, the following checklist will serve as a starting point for figuring out how useful the SDK is:

  • XML: there should be an XML parser, ideally with two ways of using it; one is the full DOM model, the other is lightweight SAX streaming. the DOM interface should have XPath support.
  • XSLT: there should be an XSLT implementation, ideally it should be XSLT 2.0, but realistically speaking, XSLT 1.0 already would be a good thing to have.
  • HTTP: the possibility to compose and parse HTTP messages without having to use text-based methods. additionally, there should be support for standard fields and support for extensions.
  • HTTPS: it should be possible to use secure HTTP, and the HTTP implementation should support SSL as well as TLS for encryption.
  • HTTP Authentication: support for authentication is crucial, basic authentication is an absolute must, digest access authentication would also be good to have. some form of cookie management also should be possible.
  • Feeds: there should be an API for feeds, so that programs can read RSS or Atom feeds, and access them through a feed-specific API. this API must support extensions. the feed library also should be very error-tolerant, because a large number of feeds (RSS more so than Atom) on the Web contain errors.
  • AtomPub: for interacting with an AtomPub server, there should be an AtomPub client library. because AtomPub is agnostic to security and authentication, this part also requires support for HTTPS and HTTP authentication.
  • Local Database: there should be a local database for efficient local data storage and management. some lightweight relational database would be sufficient. for applications handling large amounts of data, a local database is crucial.
  • Location: there should be access to the location feature that has been introduced in the 1.1.3 Software Update. the location feature must support to be triggered from within an application. this raises privacy issues (it would be trivial to turn the iPhone into a tracking device), but also opens up many opportunities.
  • Map App: it should be possible to plug into the map app or to use the map app as a starting point for the development of new applications. this is particularly interesting in conjunction with the location feature.
  • Forms: for making it as easy as possible to build interfaces, forms should be supported. this could be iPhone specific forms, but ideally there would be some mapping from HTML form controls, so that it is possible to develop interfaces which work well on the iPhone, but also can be used for a web-based interface.

i am really curious to see how many of these items will be part of the SDK. XML is pretty likely, Atom pretty unlikely and AtomPub highly unlikely. this opens up the space for a landscape of developers of these libraries for the iPhone, so that others can then reuse this code. anybody interested in writing an AtomPub client library for the iPhone?

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Flickr

Twitter Updates

    follow me on Twitter