UAProf
UAProf (anglicky User Agent Profile) je standard, který popisuje funkčnost bezdrátového zařízení (mobilního telefonu), s cílem poskytnout poskytovatelům obsahu informace pro vytváření obsahu v takových formátech, který je dané zařízení schopné interpretovat a prezentovat.
Zdroj a účel
UAProf je založeno na Resource Description Framework (RDF) a souvisí se standardem Composite Capability/Preference Profiles od World Wide Web Consortium.
Soubory s UAProf obvykle mají příponu rdf
nebo xml
a protože vycházejí z XML formátu, jsou obvykle přenášeny s MIME typem application/xml
. RDF formát signalizuje, že schéma dokumentu je rozšiřitelné.
Popis funkcionality mobilního telefonu zahrnuje informace o výrobci, typu, velikosti obrazovky, jeho multimediálních schopnostech, podpoře znakových sad a další. Novější UAProfily také obsahují data odpovídající MMS, PSS5 a PSS6 schématům, v nichž jsou mnohem podrobnější informace o možnostech zařízení pro prezentaci videa, multimédií, pro streaming a MMS.
Mobilní telefon posílá v http požadavku hlavičku obsahující URL příslušného UAProf. Zpravidla je to hlavička X-WAP-Profile:
, ale může být použita hlavička 19-Profile:
, WAP-Profile:
nebo jiná.
Vytvoření UAProf pro zařízení je dobrovolné: UAProf pro GSM zařízení zpravidla dodává jeho výrobce (například Nokia, Samsung, LG) zatímco u zařízení pro CDMA2000, příp. BREW je obvyklejší, že UAProf vytváří telekomunikační společnost.
Systém pro doručování obsahu (například provozovatel MMS centra nebo poskytovatel WAP obsahu) může používat UAProf pro přizpůsobení obsahu možnostem příslušného zařízení a pro rozhodnutí, které položky mají být poskytnuty pro download. Spoléhání na UAProf má však určité nevýhody[1]:
- Pro některá zařízení není UAProf k dispozici (pro mnoho nových zařízení s Windows Mobile, pro telefony iDEN a pro starší mobilní telefony).
- Ne všechny oznámené UAProf jsou dostupné (podle údajů z UAProfile.com asi 20% odkazů, které posílají mobilní telefony, je nefunkčních).
- UAProf může obsahovat chyby, které znemožní jeho analýzu a kvůli kterým může být nepoužitelné.
- Načítání a syntaktická analýza UAProfs v reálném čase jsou pomalé a může podstatně zvyšovat režii všech WWW požadavků: proto je nutné používat Device Description Repository, ve které se UAProf udržují, a je třeba zajistit jejich aktualizaci.
- Neexistuje průmyslový standard kvality pro data v jednotlivých polích UAProf.
- UAProf dokument neobsahuje informace o uživatelských agentech nainstalovaných v zařízení, které mohou ovlivnit jeho schopnosti (Nokia tyto informace uvádí v komentářích).
- UAProf hlavičky může často být naprosto špatné (pro zcela jiné zařízení).
Profily UAProf jsou jedním ze zdrojů informací o funkčnosti zařízení pro WURFL, který převádí UAProfile schéma na vlastní s mnoha jinými položkami a poli ano-ne týkajícími se funkcionalit zařízení pro zpracování značkovacích jazyků, multimédií atd. Tato XML data se vybírají podle hlavičky User-Agent:
ve WWW požadavku.
Dalším přístupem k problému, který používají některé komerčně dostupné systémy, je kombinovat získané informace s komponentovou analýzou, ručně shromážděnými daty a UAProfily pro získání přesnějších informací o skutečné funkcionalitě příslušného zařízení místo idealizované reprezentace, kterou používá UAProf nebo WURFL. Tento přístup umožňuje detekci starých zařízení, zařízení, která uživatel přizpůsobil instalací dodatečných programů, zařízení s Windows Mobile a internetových botů.
Členové W3C MWI (Mobile Web Initiative) a příslušné pracovní skupiny DDWG (Device Description Working Group) si jsou vědomi potíží se získáváním a udržováním informací o profilech zařízení a praktických nevýhodách v implementaci UAProf, ve snaze zlepšit situaci byly vytvořeny standardy pro Device Description Repository v naději, že soustava takových repozitářů odstraní potřebu lokálního udržování informací o zařízeních.
Ukázka UAProf
<?xml version="1.0"?>
<!-- =============================================================================== -->
<!-- -->
<!-- Copyright (c) 2004 Sony Ericsson Mobile Communications AB. All rights reserved. -->
<!-- -->
<!-- The contents of this document are provided "as is". No warranties of any kind, -->
<!-- either express or implied, including, but not limited to, the implied -->
<!-- warranties of merchantability and fitness for a particular purpose, are made -->
<!-- in relation to the accuracy, reliability or contents of this document. -->
<!-- Sony Ericsson reserves the right to revise this document or withdraw it at any -->
<!-- time without prior notice. -->
<!-- -->
<!-- =============================================================================== -->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:mms="http://www.wapforum.org/profiles/MMS/ccppschema-20010111#"
xmlns:prf="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#">
<rdf:Description rdf:ID="Profile">
<prf:component>
<rdf:Description rdf:ID="HardwarePlatform">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#HardwarePlatform"/>
<prf:BitsPerPixel>16</prf:BitsPerPixel>
<prf:ColorCapable>Yes</prf:ColorCapable>
<prf:ScreenSize>128x160</prf:ScreenSize>
<prf:ImageCapable>Yes</prf:ImageCapable>
<prf:InputCharSet>
<rdf:Bag>
<rdf:li>ISO-8859-1</rdf:li>
<rdf:li>US-ASCII</rdf:li>
<rdf:li>UTF-8</rdf:li>
<rdf:li>ISO-10646-UCS-2</rdf:li>
</rdf:Bag>
</prf:InputCharSet>
<prf:Keyboard>PhoneKeypad</prf:Keyboard>
<prf:Model>T630R601</prf:Model>
<prf:NumberOfSoftKeys>2</prf:NumberOfSoftKeys>
<prf:OutputCharSet>
<rdf:Bag>
<rdf:li>ISO-8859-1</rdf:li>
<rdf:li>US-ASCII</rdf:li>
<rdf:li>UTF-8</rdf:li>
<rdf:li>ISO-10646-UCS-2</rdf:li>
</rdf:Bag>
</prf:OutputCharSet>
<prf:PixelAspectRatio>1x1</prf:PixelAspectRatio>
<prf:ScreenSizeChar>15x8</prf:ScreenSizeChar>
<prf:StandardFontProportional>Yes</prf:StandardFontProportional>
<prf:SoundOutputCapable>Yes</prf:SoundOutputCapable>
<prf:TextInputCapable>Yes</prf:TextInputCapable>
<prf:Vendor>Sony Ericsson Mobile Communications</prf:Vendor>
<prf:VoiceInputCapable>Yes</prf:VoiceInputCapable>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="SoftwarePlatform">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#SoftwarePlatform"/>
<prf:AcceptDownloadableSoftware>No</prf:AcceptDownloadableSoftware>
<prf:CcppAccept>
<rdf:Bag>
<rdf:li>image/gif</rdf:li>
<rdf:li>image/jpeg</rdf:li>
<rdf:li>image/vnd.wap.wbmp</rdf:li>
<rdf:li>image/bmp</rdf:li>
<rdf:li>image/png</rdf:li>
<rdf:li>text/x-iMelody</rdf:li>
<rdf:li>text/x-vMel</rdf:li>
<rdf:li>text/x-eMelody</rdf:li>
<rdf:li>audio/amr</rdf:li>
<rdf:li>audio/midi</rdf:li>
<rdf:li>audio/x-midi</rdf:li>
<rdf:li>audio/mid</rdf:li>
<rdf:li>audio/iMelody</rdf:li>
<rdf:li>text/x-vCard</rdf:li>
<rdf:li>text/x-vCalendar</rdf:li>
<rdf:li>text/x-vNote</rdf:li>
<rdf:li>application/java</rdf:li>
<rdf:li>application/java-archive</rdf:li>
<rdf:li>text/vnd.sun.j2me.app-descriptor</rdf:li>
<rdf:li>application/vnd.eri.thm</rdf:li>
<rdf:li>application/vnd.mophun.application</rdf:li>
<rdf:li>application/vnd.mophun.certificate</rdf:li>
<rdf:li>application/xhtml+xml</rdf:li>
<rdf:li>text/css</rdf:li>
<rdf:li>text/html</rdf:li>
<rdf:li>application/vnd.oma.drm.message</rdf:li>
<rdf:li>application/vnd.oma.dd+xml</rdf:li>
<rdf:li>application/vnd.sonyericsson.mms-template</rdf:li>
<rdf:li>application/vnd.wap.wmlc</rdf:li>
<rdf:li>application/vnd.wap.wbxml</rdf:li>
<rdf:li>application/vnd.wap.wmlscriptc</rdf:li>
<rdf:li>application/vnd.wap.multipart.mixed</rdf:li>
<rdf:li>application/vnd.wap.sic</rdf:li>
<rdf:li>application/vnd.wap.slc</rdf:li>
<rdf:li>application/vnd.wap.coc</rdf:li>
<rdf:li>application/vnd.wap.sia</rdf:li>
<rdf:li>application/vnd.wap.wtls-ca-certificate</rdf:li>
<rdf:li>application/vnd.wap.xhtml+xml</rdf:li>
<rdf:li>application/x-wap-prov.browser-settings</rdf:li>
<rdf:li>application/vnd.wap.connectivity-wbxml</rdf:li>
</rdf:Bag>
</prf:CcppAccept>
<prf:CcppAccept-Charset>
<rdf:Bag>
<rdf:li>US-ASCII</rdf:li>
<rdf:li>ISO-8859-1</rdf:li>
<rdf:li>UTF-8</rdf:li>
<rdf:li>ISO-10646-UCS-2</rdf:li>
</rdf:Bag>
</prf:CcppAccept-Charset>
<prf:CcppAccept-Encoding>
<rdf:Bag>
<rdf:li>base64</rdf:li>
</rdf:Bag>
</prf:CcppAccept-Encoding>
<prf:JavaEnabled>Yes</prf:JavaEnabled>
<prf:JavaPlatform>
<rdf:Bag>
<rdf:li>MIDP</rdf:li>
<rdf:li>CLDC</rdf:li>
</rdf:Bag>
</prf:JavaPlatform>
<prf:JavaPackage>
<rdf:Bag>
<rdf:li>jsr-135</rdf:li>
</rdf:Bag>
</prf:JavaPackage>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="NetworkCharacteristics">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#NetworkCharacteristics"/>
<prf:SecuritySupport>
<rdf:Bag>
<rdf:li>WTLS-1</rdf:li>
<rdf:li>WTLS-2</rdf:li>
<rdf:li>WTLS-3</rdf:li>
<rdf:li>signText</rdf:li>
</rdf:Bag>
</prf:SecuritySupport>
<prf:SupportedBearers>
<rdf:Bag>
<rdf:li>GSM_GPRS_IPV4</rdf:li>
<rdf:li>GSM_CSD_IPV4</rdf:li>
</rdf:Bag>
</prf:SupportedBearers>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="BrowserUA">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#BrowserUA"/>
<prf:BrowserName>Sony Ericsson</prf:BrowserName>
<prf:FramesCapable>No</prf:FramesCapable>
<prf:PreferenceForFrames>No</prf:PreferenceForFrames>
<prf:TablesCapable>Yes</prf:TablesCapable>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="WapCharacteristics">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#WapCharacteristics"/>
<prf:WapDeviceClass>C</prf:WapDeviceClass>
<prf:WapVersion>1.2.1</prf:WapVersion>
<prf:WmlDeckSize>10000</prf:WmlDeckSize>
<prf:WmlScriptLibraries>
<rdf:Bag>
<rdf:li>Lang</rdf:li>
<rdf:li>Float</rdf:li>
<rdf:li>String</rdf:li>
<rdf:li>URL</rdf:li>
<rdf:li>WMLBrowser</rdf:li>
<rdf:li>Dialogs</rdf:li>
</rdf:Bag>
</prf:WmlScriptLibraries>
<prf:WmlScriptVersion>
<rdf:Bag>
<rdf:li>1.0</rdf:li>
</rdf:Bag>
</prf:WmlScriptVersion>
<prf:WmlVersion>
<rdf:Bag>
<rdf:li>1.1</rdf:li>
<rdf:li>1.2</rdf:li>
<rdf:li>1.3</rdf:li>
</rdf:Bag>
</prf:WmlVersion>
<prf:WtaiLibraries>
<rdf:Bag>
<rdf:li>WTAPDC</rdf:li>
</rdf:Bag>
</prf:WtaiLibraries>
<prf:DrmClass>
<rdf:Bag>
<rdf:li>ForwardLock</rdf:li>
</rdf:Bag>
</prf:DrmClass>
<prf:OmaDownload>Yes</prf:OmaDownload>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="PushCharacteristics">
<rdf:type rdf:resource="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20030226#PushCharacteristics"/>
<prf:Push-Accept-AppID>
<rdf:Bag>
<rdf:li>x-wap-application:wml.ua</rdf:li>
</rdf:Bag>
</prf:Push-Accept-AppID>
<prf:Push-MsgSize>1500</prf:Push-MsgSize>
<prf:Push-MaxPushReq>1</prf:Push-MaxPushReq>
</rdf:Description>
</prf:component>
<prf:component>
<rdf:Description rdf:ID="MMSCharacteristics">
<rdf:type rdf:resource="http://www.wapforum.org/profiles/MMS/ccppschema-20010111#MmsCharacteristics" />
<mms:MmsMaxMessageSize>261120</mms:MmsMaxMessageSize>
<mms:MmsMaxImageResolution>120x160</mms:MmsMaxImageResolution>
<mms:MmsCcppAccept>
<rdf:Bag>
<rdf:li>image/jpeg</rdf:li>
<rdf:li>image/gif</rdf:li>
<rdf:li>image/vnd.wap.wbmp</rdf:li>
<rdf:li>image/bmp</rdf:li>
<rdf:li>image/png</rdf:li>
<rdf:li>audio/amr</rdf:li>
<rdf:li>audio/x-amr</rdf:li>
<rdf:li>audio/midi</rdf:li>
<rdf:li>audio/x-midi</rdf:li>
<rdf:li>audio/mid</rdf:li>
<rdf:li>text/x-iMelody</rdf:li>
<rdf:li>audio/iMelody</rdf:li>
<rdf:li>text/x-vCard</rdf:li>
<rdf:li>text/x-vCalendar</rdf:li>
<rdf:li>text/x-vNote</rdf:li>
<rdf:li>application/java-archive</rdf:li>
<rdf:li>application/vnd.mophun.application</rdf:li>
<rdf:li>application/vnd.mophun.certificate</rdf:li>
<rdf:li>text/plain</rdf:li>
<rdf:li>application/smil</rdf:li>
<rdf:li>application/x-sms</rdf:li>
<rdf:li>application/vnd.3gpp.sms</rdf:li>
<rdf:li>application/vnd.eri.thm</rdf:li>
<rdf:li>application/vnd.sem.mms.protected</rdf:li>
<rdf:li>application/vnd.wap.mms-message</rdf:li>
<rdf:li>application/vnd.wap.multipart.mixed</rdf:li>
<rdf:li>application/vnd.wap.multipart.alternative</rdf:li>
<rdf:li>application/vnd.wap.multipart.related</rdf:li>
<rdf:li>application/vnd.oma.drm.message</rdf:li>
</rdf:Bag>
</mms:MmsCcppAccept>
<mms:MmsCcppAcceptCharSet>
<rdf:Bag>
<rdf:li>US-ASCII</rdf:li>
<rdf:li>ISO-8859-1</rdf:li>
<rdf:li>ISO-8859-2</rdf:li>
<rdf:li>UTF-7</rdf:li>
<rdf:li>UTF-8</rdf:li>
<rdf:li>UTF-16</rdf:li>
<rdf:li>KOI8-R</rdf:li>
<rdf:li>windows-1251</rdf:li>
<rdf:li>ISO-10646-UCS-2</rdf:li>
</rdf:Bag>
</mms:MmsCcppAcceptCharSet>
<mms:MmsVersion>
<rdf:Bag>
<rdf:li>1.0</rdf:li>
</rdf:Bag>
</mms:MmsVersion>
</rdf:Description>
</prf:component>
</rdf:Description>
</rdf:RDF>
Odkazy
Reference
V tomto článku byl použit překlad textu z článku UAProf na anglické Wikipedii.
- ↑ Glover, T., Davies, J. 2005. Integrating device independence and user profiles on the Web. BT Technology Journal, pp. 239–48. Springer Netherlands
Související články
- WURFL
- Apache Mobile Filter