OS Templates for various mobile devices

1 view
Skip to first unread message

Kaan Bingol

unread,
Jun 12, 2009, 3:14:40 AM6/12/09
to OpenSocial - OpenSocial and Gadgets Specification Discussion, abas...@martisoft.com, rkar...@martisoft.com
Hi all,

We work on supporting open social gadgets for various channels
especially on mobile devices. We are considering using open social
templates for developing different UI’s (and various re-usable UI
elements or code snippets) for different devices. That means a gadget
may have a different content and UI for web consumption and a
different UI for iPhone (Safari) and still a different (simpler)
content & UI for other mobile phones.

We need a way to declare the target channel/device that the template
is intended for. This can be on gadget level or at template level. And
of course container should know the device which makes the request.
Then the container selects correct template as per the requesting
device and it will render accordingly. I think many containers
including ours are aware of requesting device, whether it is a mobile
phone, an iPhone or a computer browser. But the naming convention for
identifying devices and passing to gadgets can be problematic and may
differ from container to container. And still many containers will not
support different channels other than web.

But leaving aside container standardization, we wanted to ask how to
declare the target channel/device for templates. One way of doing it
is to define a different gadget for each device, but this creates
several impracticalities both for gadgets and containers, and
maintenance issues for developers. Another option we considered is
using views to define the intended device of the gadget. Still another
option is to add a parameter to opensocial-templates feature in module
prefs. Or declaring it in content section of gadget or inside template
definition.

This is not a proposal for extending the OS template spec (well if it
sounds reasonable it may be) but rather a request for suggestion on
the correct way of handling templates for our need. We do not want to
be far off from the spec by extending it in improper ways.

Kaan Bingol

Kevin Brown

unread,
Jun 12, 2009, 6:48:06 AM6/12/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com

Using views would be the best approach -- this is really the sort of thing that views were designed for. You can share templates amongst views by using template libraries.
 

Louis Ryan

unread,
Jun 12, 2009, 12:18:19 PM6/12/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com
Now that templates have generalized expression support from templates perhaps we could consider using it as a view selector mechanism?

Evan Gilbert

unread,
Jun 18, 2009, 5:46:52 PM6/18/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com
The view selection mechanism sounds promising.

It would also be useful to define a standard parameter for user-agent which could be used in expressions, for cases in which different UIs or tags have minor browser-based variations.

Bess Ho

unread,
Jun 18, 2009, 8:42:44 PM6/18/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com
I am on the same line with Kaan Bingol. I'd like to see template support on mobile.
--
Bess Ho

Lev Epshteyn

unread,
Jun 30, 2009, 3:13:55 PM6/30/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com
Do you mean something like

<Content view="default"/> and
<Content view="default.ie6"/> or
<Content view="default.iphone"/>?

Bess Ho

unread,
Jun 30, 2009, 5:06:09 PM6/30/09
to opensocial-an...@googlegroups.com, abas...@martisoft.com, rkar...@martisoft.com
Sure
--
Bess Ho

Kaan Bingol

unread,
Jul 6, 2009, 5:16:00 PM7/6/09
to OpenSocial - OpenSocial and Gadgets Specification Discussion, Ahmet Basaran, Ramazan Karakaya
Hi,

Thanks for the inputs. As a result of the suggestions here and our
evaluation, we have drafted mobile device support for templates as
below;

We will use the view selection mechanism. We would like to propose to
add a new attribute for user-agent (or particularly we prefer to use
device). We prefer a new attribute definition instead of using a
suffix to views. So slightly modifying Lev Epshteyn’s example;

<Content view="default"/> and
<Content view="default" device=”iphone” /> or
<Content view="default" device=”ie6”/>

The same attribute will be used at template level, too. Templates can
be customized according to device capabilities. This attribute can be
used in expressions for incorporating minor variations into template.


Secondly we would like to discuss the issue of identifying and
grouping devices using a hierarchy.

In mobile development we need to define a hierarchy among devices. A
developer may need to target a specific device and optimize the UI for
the capabilities of this device. While some other developer may chose
to support a family of devices without going into device specific
optimizations. Even an iphone has several versions each having minor
variations, and for other phones these variations may effect UI
significantly.

We plan to use a device database and group these devices into
hierarchies. So when a device makes a request container will look
through this device in DB and it also finds the several levels of
groups that device belongs to. And by matching the device or the group
with template’s device definition, container will render the most
suitable available template for that device.

An example;

A template is optimized for iphone ver.3, while most other templates
are only supporting iphone generic UI. Container can recognize iphone
ver.3 and renders the first template for ver.3. Moreover iphone ver.3
falls back to group iphone_generic and container renders other
templates that have views defined for iphone accordingly. There may be
many levels of hierarchy, so a Nokia E90 for example falls back to
nokia_eseries, and then to nokia_smartphones_generic. So that a
template can chose to target any level in the hierarchy.

There is such an open source, community prepared device repository
called WURFL (WURFL only covers mobile devices). But there are also
commercial repositories and products.

So for standardization among containers, we propose that at least a
top level generic device definition is needed, say for at least
identifying user agent as a mobile device, or a pc or some other non
standard device. The rest of the repository is optional and containers
may implement their own or use any available device repository, if
they are keen on supporting many devices as accurate as possible.

We are open to any suggestion or input about our proposed way of
supporting mobile devices. We plan to prepare a prototype to implement
our suggestions, and we will of course share it with the community.

Cheers,

Kaan Bingol


On Jun 30, 10:13 pm, Lev Epshteyn <le...@google.com> wrote:
> Do you mean something like
>
> <Content view="default"/> and
> <Content view="default.ie6"/> or
> <Content view="default.iphone"/>?
>
> On Thu, Jun 18, 2009 at 5:46 PM, Evan Gilbert <uid...@google.com> wrote:
> > The view selection mechanism sounds promising.
>
> > It would also be useful to define a standard parameter for user-agent which
> > could be used in expressions, for cases in which different UIs or tags have
> > minor browser-based variations.
>
> > On Fri, Jun 12, 2009 at 9:18 AM, Louis Ryan <lr...@google.com> wrote:
>
> >> Now that templates have generalized expression support from templates
> >> perhaps we could consider using it as a view selector mechanism?
>
> >> On Fri, Jun 12, 2009 at 3:48 AM, Kevin Brown <e...@google.com> wrote:

Bess Ho

unread,
Jul 6, 2009, 8:11:34 PM7/6/09
to opensocial-an...@googlegroups.com, Ahmet Basaran, Ramazan Karakaya
I am just giving my personal feedback. iPhone / iTouch UI is very standard as it is limited to 480x320 screen size and it supported Touch with no keyboard and keypad. Nokia has so many models with various screen sizes, some on Touch only, some with keyboard, some with keypad. Template navigation is highly depending on device series & models.

It may worth while to work with Nokia to work out the Nokia complexity. Does anyone from Google or OpenSocial Foundation wants to work with Nokia? I have Nokia platform team contact.

Bess
--
Bess Ho

Reply all
Reply to author
Forward
0 new messages