Folks -

I would like to enhance Trinidad's Agent mechanism to
recognize/support iPhone user agents.  We've got a couple of options
for how to surface the iPhone agent, so wanted to run this by the
community.

1. Add a "pda" type for webkit.

Currently, desktop Safari is identified as follows:

Type: TYPE_DESKTOP
Platform: PLATFORM_MACOS
Agent: AGENT_WEBKIT

We could distinguish between desktop and mobile safari by changing the
agent type to "pda", ie:

Type: TYPE_PDA
Platform: PLATFORM_MACOS
Agent: AGENT_WEBKIT

2. Add an "iphone" platform for webkit.

Instead of mucking with the agent type, alternatively we could add a
new platform, eg:

Type: TYPE_DESKTOP
Platform: PLATFORM_IPHONE_OS
Agent: AGENT_WEBKIT

My original thinking was to do #1.  However, in the Trinidad renderers
there are a bunch of places where we special case content/scripts for
the pda agent type.  As far as I can tell, none of the pda-specific
code applies to the iPhone.  We just want our normal desktop content.
The same goes for unsupported-agents metadata - various components are
specified as not supported on pda, though these components should be
supported on iPhone.

As such, I strongly prefer #2.  This allows us to get the
desktop-style rendering that we want, though I'll admit that it is
somewhat awkward for iPhone to be identified as a "desktop" device.
My thinking on this is that the agent type "desktop" would imply that
we've got a desktop-quality browser on the device, which is the case
for iPhone.  I also think #2 would also fit nicely with skinning - ie.
this would allow us to use @platform to specify iPhone-specific
styles.

Thoughts?

Andy

Reply via email to