Mobile Device Detection: WURFL and UAProf
NoneIf you do any kind of development for mobile devices, you'll soon stagger into the minefield of browser and device detection.
Now, this is quite a different sort of challenge to that faced on the desktop web. On the desktop we have maybe one browser worth using, plus a whole lot of people using Internet Explorer, along with a handful of computer programmers who, bewilderingly, persist in using Firefox.
Ok, light-hearted browser snobbery and a few CSS hacks aside, the point is that these days, you basically know where you stand with desktop browsers.
By contrast, when we turn to mobile development, we find we're up against quite literally thousands of subtly and not-so-subtly different devices, and countless combinations of device, firmware and operating system versions. How can we get around this staggering complexity in order to find out the user's screen size? What markup can they handle? What ringtone formats can they accept? How about Java applications and games?
This is where WURFL comes in. WURFL is a free, open-source database of mobile devices and their specifications and capabilities. It is as close to a "standard" solution to this problem as currently exists.
WURFL
The WURFL database is essentially a large (just over 6 Megabytes at the time of writing) XML file. The data is hierarchical and is ultimately keyed by user agent string (as typically supplied in an HTTP request's User-Agent header). The key is mapped to a specific device, and to one or more families of devices, via the "fall_back" mechanism. This allows us, with a bit of work, to build up a list of the device's "capabilities".
If it helps, you can think of this in OO terms as a big stack of classes extending other classes, overriding fields as they go.
Let's try a concrete example. Imagine we come across an agent which identifies itself as "SEC-SGHE950/1.0 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1". Querying WURFL, we find:
This tells us...well, nothing! Nothing, beyond the fact that this user agent string is known to WURFL, and thanks to the crucial "fall_back" attribute, we know that it's one of an unspecified number of user agent strings which identify a device or family of devices known internally to WURFL as "samsung_sgh_e950_ver1". So we need to query WURFL again to find the details of this item. Here it is:
This is more like it. We've identified the device (actual_device_root="true"), we have its model number (E950) and its screen size (240 x 320), and we've learned that, ideally, it would like to be served web pages as XHTML-MP. Cool. But there's more: the device falls back further, to "sec_e900_ver1":
Jackpot! We've found out a lot about the device now, in particular the content types it supports. (Note that the model name here is specified as "E900". We can disregard that, as we know it to be overridden one step further down the hierarchy). We can keep going in this manner, successively falling back to "netfront_ver3", "generic_xhtml", "generic" and finally "root". At each stage we pick up a little more information about the device (and at each stage we'll need to disregard a whole bunch of default information too).
Now, I'm sure you're as excited by all of this as I am, but before we get carried away, let's bear in mind that WURFL itself currently weighs in at roughly 127,000 lines of XML. Evidently, recursively querying WURFL directly, in real time, is not a practical option. We'll most likely want to import the data into a relational database, and schedule regular updates. This is going to be a non-trivial task, and is perhaps a topic for a further article.
Alternatives to WURFL
So WURFL's pretty awesome, but it's going to involve some effort on our part to press it into service. Since we're professionals, we'll want to consider whether there are any alternatives which provide better value-for-effort. Well, it turns out that there are alternatives, but they're few and far between. Perhaps the most notable of these few is a mechanism known as "UAProf".
UAProf
UAProf is a W3C initiative, the idea behind which is as follows: the user agent supplies a specific HTTP request header (of which, more in a moment). This header contains the URL of an XML file which describes the capabilities and specifications of the device. The developer programmatically retrieves the XML file, parses it and responds appropriately, typically caching the derived data somehow.
This approach is considered to be attractive, for reasons including:
- We don't need to do a lot of work up front. When an unfamiliar handset hits our site we simply retrieve the UAProf reactively. Theoretically, maintenance is minimal.
- UAProf data is supposed to be supplied by the handset manufacturer, thus ensuring it to be correct and up-to-date.
The reality is a little different. I'll loosely quote from Wikipedia here:
- Not all devices have UAProfs (including many new Windows Mobile devices, iDen handsets, or legacy handsets)
- Not all advertised UAProfs are available (about 20% of links supplied by handsets are dead or unavailable, according to figures from UAProfile.com)
- UAProf can contain schema or data errors which can cause parsing to fail
- Retrieving and parsing UAProfs in real-time is slow and can add substantial overhead to a web request
- There is no industry-wide data quality standard for the data within each field in a UAProf
- UAProf headers can often be plain wrong (i.e. for a completely different device)
Add to this that even the name of the HTTP header itself is not clearly defined. Typically, it is "x-wap-profile", but there are several alternatives in the wild right now.
In any case, there's little motivation for manufacturers to provide accurate data. To quote Michael Kaye on the wmlprogramming Yahoo tech group:
We cannot rely on the manufacturers to provide correct information: no company I know of would provide an accurate list of their bugs and misfeatures for the entire world to see.
Quite. All in all, UAProf is considered neither mature nor stable enough to be relied upon in production systems. Moreover, since UAProf is merely one of the sources of data integrated into WURFL in the first place, there's little benefit in developers reinventing the wheel by working with the UAProf mechanism directly.
Other Alternatives
There's a certain amount of talk about how nice it would be if there were an official, centralised, open "Device Description Repository". To this end, the W3C's Mobile Web Initiative has spawned a Device Description Working Group to continue talking - albeit in a more focused manner - about just how nice it would be.
There are commercial offerings too, many of which either layer a Web Services API over WURFL, or attempt to maintain their own database of mobile devices. Inexplicably, dotMobi themselves have hired one of WURFL's original developers and taken the first steps towards setting up their own competing device database.
There's also some activity around automated adaptive rendering technologies. For the .NET developer there's ASP.NET Mobile Controls, but I don't hear a lot of happy noises coming from that direction. For Java and - allegedly - PHP, there's WALL, a tag library somewhat based on WURFL. These may approach some of the minor issues around fragmentation of markup standards.
I have little to no experience with these so I won't be commenting (and I'd be interested to hear from developers with experience of any of the above). Suffice to say, your mileage may vary, and for the time being, WURFL remains a powerful tool in many cases.
inetryconydot
Order Cheapest Lasix High Quality!
Order cheap Lasix online without a prescription! !
http://rebizsearch.com/dfiles/6.gif
* Secure ordering!
* Free Shipping Worldwide
* Lowest price guaranteed!
* Fully licensed pharmacy
* NO PRESCRIPTION REQUIRED
* Superior customer service 24/7 @ Very easy to get Lasix online!
* 100% Satisfaction Guaranteed
* We accept: VISA, MasterCard, E-check, AMEX and more.
>>> Buy Lasix Right Now <<<
http://rebizsearch.com/thumbs/262_big.jpg
Lasix (Furosemide) is a diuretic that is used to treat fluid accumulation, caused by heart failure, cirrhosis, chronic kidney failure, and nephrotic syndrome.
http://rebizsearch.com/1/e_9.gif
© 2008-2017, Top Pharmacy List! * Medication Without A Prescription! * You Can Find: The Best Quality Pills, Special Discount Medication, Full Information, Best Price Pill Or Capsules, Fast Delivery, Alternative Tablets, Fda Approved Brand & Generic Drugs Without Prescription! No Hidden Costs Or Membership Fees, Easy Ordering Process!
Frequently Asked Questions
- What is the difference between EMS tracking number and Airmail tracking number?
- What does Generic stand for?
- Are your products approved by FDA?
Related search:
Lasix 500 Mg
Lasix 40 Mg Side Effects
Buy Lasix In Usa & Canada
Lasix Cost
Genuine Lasix I Uk Without Prescription
Lasix Brand Name
Buy Lasix Levitra No Prescription Lasix Texas
Purchase Lasix
Buy Insulin U.S. Pharmacy Online
Lasix Mail Order
Lasix Overinght Nottingham
Lasix Tablets
Low Price Lasix Fibromyalgia In Internet Rx Priority Mail South Africa
Suppliers Of Lasix In Uk
Lasix (Furosemide)
Lasix Order
Buylasix 40 Mg
Lasix Mail Order
Acheter,Kaufen,Acquistare Lasix Sale Lasix In Manchester No Prescription
Lasix Online In Canada
Buy Lasix Now Online In Concord
Generic Lasix
Buy Lasix Tablet
Lasix Shipped From Canada
Lasix Cost
Besterzog
ПодÑкажите, что и где ? -Ð´Ð»Ñ ÑŽÐ±Ð¸Ð»ÐµÐ¹Ð½Ñ‹Ñ… 10 альбом нумизмата
CosterGace
ПодÑкажите, где найти интÑкуцию на коптер DJI,кроме вот Ñтого Ñайта? - http://24concord.ru/
Tell me where to find instruction on Copter DJI, except here this site?
Posterzog
ПодÑкажите, где найти инÑтрукцию на коптер DJI-MAVIC,кроме вот Ñтого Ñайта? - http://camera7.ru
Tell me where to find instruction on Copter DJI, except here this site?
Mosterzog
ПодÑкажите, где найти инÑтрукцию на коптер DJI-MAVIC,кроме вот Ñтого Ñайта? - http://marinaturs.ru
Tell me where to find instruction on Copter DJI, except here this site?
Prosterzog
ПодÑкажите, где найти инÑтрукцию на коптер DJI-MAVIC,кроме вот Ñтого Ñайта? - http://www.open-bridge.ru
Tell me where to find instruction on Copter DJI, except here this site? http://open-bridge.ru
Mosterzog
ПодÑкажите, где найти инÑтрукцию на коптер DJI-MAVIC,кроме вот Ñтого Ñайта? - http://xerpook.ru
Tell me where to find instruction on Copter DJI, except here this site?
vitriimpam
ПилатеÑ: ÑффективноÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ð¾Ñ…ÑƒÐ´ÐµÐ½Ð¸Ñ, польза, противопоказаниÑ. Ð£Ð¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð¸Ð· пилатеÑа + оÑобенноÑти занÑтий.
ГрÑзные методы пикапа
ПилатеÑ: ÑффективноÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ð¾Ñ…ÑƒÐ´ÐµÐ½Ð¸Ñ, польза, противопоказаниÑ. Ð£Ð¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð¸Ð· пилатеÑа + оÑобенноÑти занÑтий.
Методы Ñъема и пикапа Ð´Ð»Ñ Ð¼ÑƒÐ¶Ñ‡Ð¸Ð½, которые позволÑÑ‚ легко укладывать девушек в поÑтель. Как общатьÑÑ Ñ Ñ†Ñ‹Ð¿Ð¾Ñ‡ÐºÐ°Ð¼Ð¸, делать их уÑзвимыми, а потом пользоватьÑÑ Ð¸Ñ… ÑлабоÑÑ‚Ñми? ГрÑзные методы пикапа девушек. Она будет проÑить пощады в ÑротичеÑком кружевном нижнем белье.
ПилатеÑ: ÑффективноÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ð¾Ñ…ÑƒÐ´ÐµÐ½Ð¸Ñ, польза, противопоказаниÑ. Ð£Ð¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð¸Ð· пилатеÑа + оÑобенноÑти занÑтий.
ГрÑзные методы пикапа. Ð”Ð»Ñ ÑƒÐ´Ð°Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð¿Ñ€ÐµÐºÑ€Ð°Ñным полом Ñледует иногда пользоватьÑÑ Ð¼ÐµÑ‚Ð¾Ð´Ð°Ð¼, которые в народе именуют пикаперÑкими. Ðто грÑзные приемчики, но они работают. Тебе будет гораздо легче Ñломать женÑкое Ñопротивление, еÑли Ñ‚Ñ‹ будешь к ним прибегать. Можно играть в отношениÑÑ… Ñ Ð¶ÐµÐ½Ñ‰Ð¸Ð½Ð°Ð¼Ð¸ чеÑтно и проигрывать. Рможно играть грÑзно, но побеждать. Что Ñ‚Ñ‹ выберешь? ГрÑзные методы пикапа. Подорвать уверенноÑÑ‚ÑŒ девушки. Многие девушки излишне задирают Ð½Ð¾Ñ Ð¿ÐµÑ€ÐµÐ´ мужчинами. Она принцеÑÑа, которой доÑтоин только краÑавчик миллионер. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¼Ñ‹ опуÑтим ее на грешную землю. Ð”Ð»Ñ Ñтого пригодитÑÑ Ñледующий метод пикапа. Ðужно заронить зерно ÑÐ¾Ð¼Ð½ÐµÐ½Ð¸Ñ Ð² ее краÑоте и качеÑтвах. ИÑпользуй подколы, шутки и Ñомнительные комплименты. Скажи, что уже видел похожую юбку ÑегоднÑ, ее заколка похожа украшение твоей бабушки, а ее блузка забавнаÑ. Ð›ÐµÐ³ÐºÐ°Ñ Ð¸Ñ€Ð¾Ð½Ð¸Ñ Ð¸ она уже не так уверена в Ñвоей привлекательноÑти. Можно задеть ее личные качеÑтва, интеллект или характер. Делать Ñто Ñледует Ñ ÑŽÐ¼Ð¾Ñ€Ð¾Ð¼ и непринужденно. Теперь девушка не наÑтолько хороша и уже не чувÑтвует ÑÐµÐ±Ñ Ð¿Ñ€Ð¸Ð½Ñ†ÐµÑÑой. Следовательно, более уÑзвима и доÑтупна. Ðто грÑзный метод пикапа, но он работает на ура. ЗаÑтавь конкурировать девушку Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸. Другим хорошим ÑпоÑобом заинтереÑовать девушку ÑвлÑетÑÑ ÐºÐ¾Ð½ÐºÑƒÑ€ÐµÐ½Ñ†Ð¸Ñ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ предÑтавительницами прекраÑного пола. Даже еÑли Ñто будут воображаемые девушки. Упоминай непринужденно других знакомых девушек, получай от них ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² ÑоцÑетÑÑ… и звонки. Ð”Ð»Ñ Ñтого попроÑи Ñвоих знакомых девушек или друзей. ПуÑÑ‚ÑŒ девушка знает, что Ñ‚Ñ‹ воÑтребован, даже еÑли Ñто не ÑовÑем правда. ПуÑÑ‚ÑŒ девушка включаетÑÑ Ð² конкурентную борьбу Ñ Ð¼Ð¸Ñ„Ð¸Ñ‡ÐµÑкими врагами. Так будет легче Ñломить ее Ñопротивление и починить Ñебе. Говори про чувÑтва и программируй девушку на Ñимпатию. Ðтот грÑзный пикап метод ÑвлÑетÑÑ Ð½Ð°Ð²Ñзыванием Ñмоций и программированием девушки. Женщины чувÑтвительные, поÑтому раÑÑкажи ей о любви к животным, путешеÑтвиÑм или хобби. Когда человек чем-то ÑтраÑтно увлекаетÑÑ, Ñто заразительно. Девушка невольно предÑтавлÑет ÑÐµÐ±Ñ Ð½Ð° меÑте Ñтого увлечениÑ. СпроÑи, в шутку, не влюбилаÑÑŒ ли в тебе девушка? Ðе думает ли она о тебе перед Ñном? Больше разговоров об отношениÑÑ…, Ñмоциональных темах и чувÑтвах. ПрикаÑайÑÑ Ðº девушке. Ðто один из оÑновных и главных приемом пикаперов. Как можно раньше и чаще прикаÑайÑÑ Ðº девушке. ПуÑÑ‚ÑŒ привыкает к твоим рукам и ÑтановитÑÑ Ð¼ÐµÐ½ÐµÐµ пугливой. Подавай ей руку, дотрагивайÑÑ Ð´Ð¾ разных чаÑтей ее тела, ÑоприкаÑайÑÑ Ð½Ð¾Ð³Ð°Ð¼Ð¸ или плечами. ПрикаÑайÑÑ Ðº девушке, и она быÑтрей тебе даÑÑ‚. РаÑшатай нервы девушки. ЕÑли играть грÑзно, то до конца. Девушки очень Ñмоциональные, что тебе на руку. Очень Ñффектным методом Ð´Ð»Ñ Ð¿Ð¸ÐºÐ°Ð¿Ð° ÑвлÑетÑÑ Ñ€Ð°Ñкачка нервов и Ñмоций девушки. Разозли или обидь девушку, но не Ñильно. Ртеперь извиниÑÑŒ и уÑпокой ее. Будь добр и нежен. Такие Ñмоциональные качели Ñделают девушку Ñлабее и уÑзвимее. ЗаÑтавлÑй девушку периодичеÑки Ñтрадать, и она будет твоей. Раз Ñ‚Ñ‹ дочитал до Ñюда, значит Ñ‚Ñ‹ готов играть грÑзно. Ð’ девушками чеÑтные приемы не работают, а хорошие парни ÑпÑÑ‚ в одиночеÑтве. Так что играй грÑзно и побеждай Ñамых краÑивых цыпочек, плохой парень.
ПилатеÑ: ÑффективноÑÑ‚ÑŒ Ð´Ð»Ñ Ð¿Ð¾Ñ…ÑƒÐ´ÐµÐ½Ð¸Ñ, польза, противопоказаниÑ. Ð£Ð¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð¸Ð· пилатеÑа + оÑобенноÑти занÑтий.
Leroyhoals
锘縱mate is one of several large software massively contacted simply by untold numbers of folks world-wide. this method instance furnishes complete amusement in direction of the user each and every relationship of the users whether from the saddest mood or the climate of total dejection. at times users may well attain the peruse involved with connection to the internet to watch the presentations cyberspace indoors a relaxation vibe. the idea vmate application is give up beneficial to view the instructional videos high street even if you user isn't really acquire the bond of an internet. and, because of regarding iphone app a person could well copy all the required training videos in the immediate access on google android smart phone with troubles. the key reasons why subscribers definite necessity attain the access from this application happens because vmate is fashionable fully accessed with regard to transfering video clips, Songs and as well films makes possible the operator to watch these kind of people hardly any disorders other and / or trouble in the middle.
my application has acknowledge that there are ability to saving it utmost involving unlimited movies and gives the log onto of 200 tv on pc avenues to all you free of charge of priced. this is an app simply important for every google android handsets whereby this tool scholarships free use of a person just for looking for, reviewing and as a result data through several other 100鈥檚 of websites like YouTube facebook. com. the very construtor of these instance also has certain this as large definition 鈥淔astest downloader of video lessons.鈥?accordingly the vmate APK real hdtv occurs over time highly properly plus a more stable strategy. most probably, there are numerous film downloaders appropriate looking, and at present the modern world exceedingly avid together with app nearly due to really good variables. this valuable software seemingly among the better you can get especially sustained with plenty impressive of showcases specific features and can never which learned be all other recently. in so doing, your way through this kind of device the user is going to successfully monitor all the actual movement pictures and video purposes on their own mobile unit, IOS phone vmate or simply on their personal pc. hopefully, sooner than helps see the parts for this software package, when in motion some other with the operation of searching online for.
traits:
designated below are the extreme options that come with this app, look at these businesses
so many a number classes is available every bit of with a single situation with out disturbances.
anyone could endowed that transfer movie films got with various types of types with them
a user ought to highly save movie clips after YouTube, Vimeo as well as DailMotion by a simple faucet
without having affect an individual have the ability to effectively look at just live comfortably television shows
With the greatest harley-davidson the user is going to downloads all newest the movies presentations
genuinely is multi functional activity software package really designated to any or all targeted prospects.
The most astounding interface is probably the greatest positive point to draw a persons
this excellent iphone app is totally free of cost without charging a single dime and thus fully an friends and guests to all slimmers along with no problems.
vmate application best free download in vmate hold
as of today, vmate is one of vmate the best option software package to the media downloading it no various other wonderful continues to some replacement for as yet it. just in case incase a computer owner is hunting for a wonderful app due to grabbing, maybe not a thing any better then this in turn vmate software, Do try out has a tendency to prescribed important features and attain the copy of the software package upon put away hardly any of vmate APK complications and luxuriate in fully span it is rather as exempt from amount.
MarvinKex
Buy Antibiotics No RX Online - Dr Deepak Agrawal. Most reliable supplier of http://www.drdeepakagrawal.com/wp-content/wc/buyantibiotics/ buy antibiotics online without prescription.
No prescription needed. FREE delivery! Fast and Safe order, Discounts.
bubShece
причины указанные при разводе
ЗдравÑтвуйте, уважаемые родители, бабушки и дедушки! ВопроÑ, который интереÑует вÑех и вÑегда, — Ñколько веÑит ваш карапуз и вообще, ÐºÐ°ÐºÐ°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть норма веÑа новорожденного?
По большому Ñчёту, именно поколение бабушек и дедушек Ñчитают Ð²ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ здоровьÑ. И думают, чем больше Ð²ÐµÑ Ð½Ð¾Ð²Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð½Ð¾Ð³Ð¾, тем крепче его здоровье.
Ð¿ÐµÑ€Ð²Ð°Ñ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð° развода
Ð’ то времÑ, как молодые мамы и папы ÑклонÑÑŽÑ‚ÑÑ Ðº «ÑтройноÑти» Ñвоих малышей. Кто прав? И те, и другие. Оптимальный Ð²ÐµÑ Ð½Ð¾Ð²Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð½Ñ‹Ñ… где-то поÑередине.
причины Ð´Ð»Ñ Ñ€Ð°Ð·Ð²Ð¾Ð´Ð° Ñ Ð¼ÑƒÐ¶ÐµÐ¼
Какой должен быть нормальный Ð²ÐµÑ Ð½Ð¾Ð²Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð½Ð¾Ð³Ð¾? ^
https://bubblemom.ru - БеременноÑÑ‚ÑŒ, роды, мама и дети. Календарь беременноÑти по неделÑм
Средний Ð²ÐµÑ Ð½Ð¾Ð²Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð½Ð¾Ð³Ð¾, родившегоÑÑ Ð² Ñрок, ÑоÑтавлÑет 2600-4500 грамм. Ðо Ñтоит учитывать, что Ñто веÑ, который измерÑÑŽÑ‚ Ñразу поÑле рождениÑ. Ð’ первые неÑколько дней малыш потерÑет примерно 5-10% от Ñтого веÑа. Почему так проиÑходит?
ZacharyProof
http://pillsgen.site manuscript , bitmap , nested
Brianelump
For decades, Wunsiedel, a German town near the Czech border, has struggled with a parade of unwanted visitors.
It is the birthplace of one of Adolf Hitler’s deputies, a man named Rudolf Hess. And every year, to residents’ chagrin, neo-Nazis marched to his grave site there.