Toon posts:

Browserdetectie, WURFL / Tera-WURFL

Pagina: 1
Acties:

Onderwerpen


  • SvMp
  • Registratie: september 2000
  • Niet online
Voor een project waarbij ik mobiele browsers wil ondersteunen, ben op zoek gegaan naar geschikte detectie. Topics over dit onderwerp zijn niet talrijk en al wat ouder. Ik ben erg benieuwd naar de ervaringen met Wurfl.

Tweakers.net maakt ook gebruik van Wurfl.

Mijn ervaringen:
Een XML-bestand van 15 MB lijkt mij erg zwaar, dus ik was benieuwd naar de performance. De Wurfl-website ( http://wurfl.sourceforge.net/ ) vind ik een puinhoop, ik kan er geen touw aan vast knopen. Wel een PHP-API gevonden daar. Testen was een drama, allemaal foutmeldingen. Ik kon het niet aan de gang krijgen.

Vervolgens Tera-WURFL bekeken: http://www.tera-wurfl.com
Die biedt de mogelijkheid om het XML-bestand met device-info in een database op te slaan, en uit te lezen. Overzichtelijke website, fatsoenlijke documentatie en draait als een zonnetje. Performance is goed.

Ik ben wel benieuwd hoe Tweakers.net en andere developers het doen: Wordt vooral Tera-WURFL gebruikt, de API van Wurfl zelf of heb je zelf iets ontwikkeld dat met de Wurfl-data werkt?

Ook heb ik nog de nodige vragen bij het trekken van conclusies. Je krijgt een enorme array met informatie over je device. Sommige dingen vind ik dubbel. Bijvoorbeeld html-ondersteuning. Perferred markup is op mijn Nokia E52 (moderne telefoon) HTML4, maar ook wordt aangegeven dat XHTML maximaal wordt ondersteund. Wordt HTML4 gezien als XHTML?
Verder het detecteren of het nou een mobiel apparaat is of niet. Is dat echt een kwestie van uitsluitend naar "is_wireless_device" kijken? De documentatie zegt dat laptops en PC's niet als wireless_device worden gezien, maar hoe zit het met bijvoorbeeld tablets?

  • kwaakvaak_v2
  • Registratie: juni 2009
  • Laatst online: 22-09 16:49
Het hangt er ook vanaf wat je wilt ondersteunen, soms kan een media query ook al voldoende zijn als je enkel op CSS nivo dingen wilt afvangen.

En voor een ander project waarbij ik een simpele detectie nodig had om enkel vast te stellen of iets een iphone/android ding was, heb ik http://detectmobilebrowsers.mobi/ gebruikt. Om eigenlijk dezelfde reden als jij ook al geeft. De documentatie van wurfl is echt om te huilen zo ondoorzichtig.\

Driving a cadillac in a fool's parade.


  • Akathos
  • Registratie: juni 2006
  • Laatst online: 11-11-2014
Ik weet niet of je beschikking hebt over PHP maar daarin kan je toch gewoon de User Agent opvragen (ergo: browser)?

Programming is a lot like sex. One mistake and you're providing support for a lifetime.


  • mithras
  • Registratie: maart 2003
  • Niet online
De nieuwe versie van het Zend_Framework (v.a. 1.11.0) heeft UserAgent ondersteuning met WURFL, DeviceAtlas en TeraWurfl. Het is een mooiere api dan die van Wurlf zelf.

Voor meer informatie, check de documentatie: http://framework.zend.com...tp.user-agent-device.html

  • YopY
  • Registratie: september 2003
  • Laatst online: 23-09 10:10
Akathos schreef op maandag 15 november 2010 @ 13:39:
Ik weet niet of je beschikking hebt over PHP maar daarin kan je toch gewoon de User Agent opvragen (ergo: browser)?
Dat kan, maar dan zul je alsnog zelf aan de hand van de user agent een lijst moeten maken met wat voor resolutie die browser heeft, welke (X)HTML en CSS die ondersteunt, etcetera. Vandaar Wurfl, daarmee hoef je dat zelf niet te doen en kun je eenvoudig(er) opvragen welke mogelijkheden de huidige bezoeker zijn browser heeft.

  • SvMp
  • Registratie: september 2000
  • Niet online
Inderdaad, als je bijvoorbeeld alleen maar iPad's wilt detecteren, dan ga je simpelweg je user-agent string uitlezen. Maar om in brede zin mobiele apparatuur te ondersteunen moet je zaken zoals resolutie en html-support weten.

  • crisp
  • Registratie: februari 2000
  • Nu online

crisp

Devver

Pixelated

Wij gebruiken gewoon de PHP API van WURFL zelf, en daarvan de MySQL Persistence Provider - oftewel: de WURFL XML file wordt ingelezen en opgeslagen in een MySQL database. Daarbovenop hebben we een eigen MemCached implementatie gemaakt die specifieke device-informatie (enkel die informatie die we nodig hebben) cached op device-id basis.

Nu hebben we wel aardig wat zelf geknutseld aan de PHP API zelf, maar bijna al die wijzigingen en verbeteringen zijn voor zover ik kan zien al grotendeels in de nieuwste versie van de API verwerkt.

Voor het specifiek detecteren van een mobile device kijken we inderdaad in eerste instantie naar 'is_wireless_device'. Om te kijken of een useragent ook (goede) HTML support heeft kijken we naar 'xhtml_support_level' (minimaal 3 - zie http://wurfl.sourceforge.net/help_doc.php)

Intentionally left blank


  • Freeaqingme
  • Registratie: april 2006
  • Laatst online: 21:26
Iemand heeft al ZF gespammed, dus dat hoef ik niet meer te doen :(.

Waar ik wel benieuwd naar ben - hoewel lichtelijk offtopic - is wat jullie van de bruikbaarheid vinden van 't ZF gedeelte wat dit betreft, zeker gelet op grotere websites (crisp, lees je dit? :D).

Wat 't antwoord voor de TS betreft: Ik heb hier een paar dagen terug nog naar gekeken, en hierbij lijkt WURFL inderdaad marktleider te zijn - met reden. Dat je dit zou gebruiken lijkt me daarom buiten kijf te staan.

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


  • crisp
  • Registratie: februari 2000
  • Nu online

crisp

Devver

Pixelated

Freeaqingme schreef op dinsdag 16 november 2010 @ 23:15:
Iemand heeft al ZF gespammed, dus dat hoef ik niet meer te doen :(.

Waar ik wel benieuwd naar ben - hoewel lichtelijk offtopic - is wat jullie van de bruikbaarheid vinden van 't ZF gedeelte wat dit betreft, zeker gelet op grotere websites (crisp, lees je dit? :D).
Ja, ik lees mee :P

Voor zover ik kan beoordelen doet Zend eigenlijk precies hetzelfde als wij doen; ook zij hebben een laag bovenop de WURFL PHP API gebouwd (maar ondersteunen daarnaast ook de TeraWurfl API of DeviceAtlas API).
Wat 't antwoord voor de TS betreft: Ik heb hier een paar dagen terug nog naar gekeken, en hierbij lijkt WURFL inderdaad marktleider te zijn - met reden. Dat je dit zou gebruiken lijkt me daarom buiten kijf te staan.
WURFL is inderdaad de meest uitgebreide database, maar zaligmakend is het zeker niet. Zo zitten er veel inconsistenties in de database zelf waar rebranded devices nogal eens als 'root' worden aangemerkt, en is de matching vaak nog verre van perfect: versieverschillen door een Android update leiden vaak tot een foute match en ook verschillen in locale-strings in de UA behoeven vaak extra manuele patches (zeker voor nl-localised devices - gezien het feit dat Nederland een klein land is zitten specifieke nl-versies vaak niet in de database - komt dat vaak voor). Ook is veel data 'redundant' in de WURFL database zelf (op 'child'-niveau wordt vaak data expliciet herhaals die al op 'parent'-niveau is gedefinieerd - een 'cleanup' van de XML op die basis zou al 30% in filesize schelen).

Nu hebben wij al veel patches aangeleverd voor de API zelf, en het doet me goed te zien dat daar ook wel wat mee gedaan wordt, maar toch lijkt de doorontwikkeling van de API erg langzaam te gaan. Ook met het oog op de snelle ontwikkeling van mobiele devices, os'en en browsers zijn er denk ik op korte termijn toch slimmere heuristics noodzakelijk om te voorkomen dat de WURFL database zelf niet uit z'n voegen barst en meer (onbelangrijke) _subs gaat bevatten dan daadwerkelijke devices.

[Voor 5% gewijzigd door crisp op 16-11-2010 23:47]

Intentionally left blank

Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee