RE: general questions

Hi Stan

> My understanding is that there will be a vocabulary for each 
> category of information appliance. 

Well there is a danger that we may head down that route, but really I think
we need a standard of set of vocabulary terms - a bit like the Dublin core
which creates a standard vocabulary for describing things like books - which
can then be reused in different vocabularies for different categories of
devices. This way if a web server knows the standard vocabulary, it will be
able to deal with lots of different devices. Hopefully the W3C device
independent working group  is going to look at creating this standard
vocabulary. 

> Just from looking at UAprof I can tell cases where it
> doesn't completely cover the device. Most of browseres have 
> anomalies not described in the profiles, i.e. a) WML lets you 
> specify a title of deck, but certain browser (all UP <5) just 
> don't display them and b.) WML lets you create numbered lists 
> but certain browsers don't display them or only the first line. 
> I'm sure that you will discover the same thing when you start
> using i-mode devices and handhelds.  I'm very much aware that 
> these are details, my point and question is: Is or will there be a 
> testing environment where these standards will be tested in a 
> real world environment? 

I think the best way to fix these type of problems would be to have tighter
standards for browsers. I know that doesn't help you deploy services today,
but I have an expectation that as phones move over to XHTML and CSS
hopefully many of these problems will go away. However phones will always
have smaller screens, less capable input etc than PCs etc whereas
interactive TVs will also have bigger screens but poorer input. So I
envision CC/PP being used to allow content to delivered to all categories of
information appliances i.e. true device independence. 

Having said that, you could use CC/PP to do this if you wanted to - you
would just need to add extra attributes to your profile to describe the
properties you mention. Alternatively you could try one of the proprietary
device capability databases where someone else has already done the hard
work and collected this information for you.

> I think a good recognition scheme needs to have fallback 
> mechanisms (default profiles) and priorities. Default 
> meaning when we recognize in the HTTP header that the 
> device accepts WML but just doesn't match any of the
> specific ones. Priority meaning a fixed order in which the 
> profiles are checked to enable default devices. This 
> could be either indicated in the
> device profile itself or in an external map.

I'm not quite sure what you mean by external map? In DELI, my CC/PP
implementation it is possible to make devices that don't support CC/PP or
UAProf look like they do using a "legacy device database". This maps user
agent strings on to profiles. This way you can start to create CC/PP aware
services today, even though only a few devices use CC/PP or UAProf. It
doesn't use the regex expressions you describe but it could do.
Interestingly the Morphis project
http://www.morphis.org 
does use regex expressions in this way. 

> Also sometimes browsers such as
> the embedded opera have the screen dimensions within the user 
> agent string,
> in other words the user-agent can vary even when it is the 
> same browser, regex can solve that.

Embedding screen dimensions in this way is bad - it's misusing the user
agent string. If people want to do this, they would be much better using
CC/PP. For example what happens when a browser has speech support - does
that go in the user agent string to? Where does it end?

> Certain browser support several markup languages, where 
> certain ml's result in a higher quality user interfaces 
> then the others. Can this be described?

Yes in theory, although we need more work on vocabularies. 

> As I mentioned I unfortunately have almost no RDF knowledge 
> and working experience yet besides some RSS documents. Would 
> in case of deli I need to deal with a 
> com.hp.hpl.httpneg.CcppProfile instance and would need to use
> the getter methods to go through the elements I'm interested in? 

I don't suggest you use the com.hp.hpl.httpneg.* - this is from
my "content negotiation" example so it has been superseded by DELI.
You are much better using DELI
http://delicon.sourceforge.net/
DELI provides an API so you can use CC/PP without needing to touch RDF as
described in
http://www-uk.hpl.hp.com/people/marbut/DeliUserGuideWEB.htm
DELI 0.65 does has undergone a few changes since I last revised the user
guide, so if you want to write code using DELI I suggest you look at the
example servlets e.g. TestCCPPServlet.java.

> Isn't parsing RDF a heavy process?

At the moment parsing RDF is between 5 and 20 times slower than parsing XML,
as RDF parsers are still fairly new. DELI uses RDFFilter, which should be
about 5 times slower than using XML. This will get better in the future as
RDF becomes more mature. Unfortunately for CC/PP, RDF is still very much
under development.

> Thinking aloud: What I would need from such a system when 
> using xsl and xml is 1.) the decission what output format 
> will be  delivered to the client
> HTML1.0, HTML3.2, XHTML, WML etc  2.) I would need ALL the 
> device properties passed to the stylesheet as parameters 
> so that the stylesheet can create the target markup based 
> on that properties.  Am I missing something? That thinking 
> brings me to the point of simpler device specifications 
> that are key/value based such as:
> 
> <device-category value="phone" targetFormat="wml1.1" 
> targetNameSpace=".."
> mime-type="..."/>
> <user-agent-regex>*UP4.*</user-agent-regex>
> <property name="wap.softkey" value="2" />
> <property name="wap.width.x" value="100" />

Well CC/PP and UAProf are also effectively key/value systems. I think it
would be easy to do this with CC/PP also, it just looks like you want to
create your own vocabulary. 

Currently I'm working with Apache Cocoon and DELI to create a system like
this. I integrated DELI into Cocoon so you can use profiles in XSLT but this
was complicated. As a result I have invented a method to match and classify
profiles. This is described in 
http://www-uk.hpl.hp.com/people/marbut/capClass.htm
So currently I'm working on integrating this into Cocoon. Of course
Capability classes are just a proposal, not a definitive solution - so I'm
interested in feedback on this proposal. 
 
> The new Communications of the ACM has a special this month about "The
> Adaptive Web", looks promising.

I didn't know that - I'll look out for it. 

Mark H. Butler, PhD
Research Scientist                HP Labs Bristol
mark-h_butler@hp.com
Internet: http://www-uk.hpl.hp.com/people/marbut/ 

Received on Thursday, 23 May 2002 13:00:40 UTC