- From: Butler, Mark <Mark_Butler@hplb.hpl.hp.com>
- Date: Thu, 23 May 2002 18:00:03 +0100
- To: "'Stan@rga.com'" <Stan@rga.com>, www-mobile@w3.org
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