Organizational Research By

Surprising Reserch Topic

Question:Any suggestions on how to improve this mobile user agent check?



asked Sep 13, 2013 in Java Interview Questions by rajesh
edited Sep 12, 2013
0 votes
16 views



Related Hot Questions

2 Answers

0 votes

I've been using the following user agent Regular Expression to detect mobile devices, but I recently came across a few resources that listed a whole host of mobile user agents that I had not heard of before.

Whilst my agent check is only the first step in the detection process - I also have some JavaScript as a fallback - I would like for it to contain the majority of currently undisputed mobile "keywords" so as to optimise the user experience for those handsets. I would also like to keep things as future-proof as possible, but this can only ever be argued with good reasoning and not set-in-stone.

The core of the regexp follows - please note the user agent string has had it's white-space removed. The check is also specifically case dependent. please ignore the newlines, they are for formatting only

/i[Pp]hone|[Mm]obile[Ss]afari|[Ww]indowsCE|[Ww]indows[Pp]hone|
 IE[Mm]obile|[Oo]pera[Mm]ini|[Oo]pera[Mm]obi|[Bb]lack[Bb]erry|
 [^A-Z]RIM[^A-Z]|[Ss]ony[Ee]ricsson|[Nn]okia|[^A-Z]MIB[^A-Z]/

These are the extra edge-case agents that I've found out about:

/[Ss]kyfire|[Tt]ea[Ss]hark|[Nn]et[Ff]ront|[Mm]inimo|
 [Ii]ris|[Ff]ennec|[Dd]oris|[Ss]eries60|BOLT|[Bb]lazer/

My question is, does anyone have any further suggestions, or possible keywords to remove that could cause false positives. For example I do not include Samsung or Android for the precise reasons that they are not unique to mobile agents. I'd rather let agents through to the JavaScript that I'm unsure about.

As a second note, many user-agents report as Like Something - i.e. Like Mobile Safari - should I filter these out of the equation, or if something is reporting this; is it also likely to be a mobile device.

answered Sep 13, 2013 by anonymous
edited Sep 12, 2013
0 votes

I've been using the following user agent Regular Expression to detect mobile devices, but I recently came across a few resources that listed a whole host of mobile user agents that I had not heard of before.

Whilst my agent check is only the first step in the detection process - I also have some JavaScript as a fallback - I would like for it to contain the majority of currently undisputed mobile "keywords" so as to optimise the user experience for those handsets. I would also like to keep things as future-proof as possible, but this can only ever be argued with good reasoning and not set-in-stone.

The core of the regexp follows - please note the user agent string has had it's white-space removed. The check is also specifically case dependent. please ignore the newlines, they are for formatting only

/i[Pp]hone|[Mm]obile[Ss]afari|[Ww]indowsCE|[Ww]indows[Pp]hone|
 IE[Mm]obile|[Oo]pera[Mm]ini|[Oo]pera[Mm]obi|[Bb]lack[Bb]erry|
 [^A-Z]RIM[^A-Z]|[Ss]ony[Ee]ricsson|[Nn]okia|[^A-Z]MIB[^A-Z]/

These are the extra edge-case agents that I've found out about:

/[Ss]kyfire|[Tt]ea[Ss]hark|[Nn]et[Ff]ront|[Mm]inimo|
 [Ii]ris|[Ff]ennec|[Dd]oris|[Ss]eries60|BOLT|[Bb]lazer/

My question is, does anyone have any further suggestions, or possible keywords to remove that could cause false positives. For example I do not include Samsung or Android for the precise reasons that they are not unique to mobile agents. I'd rather let agents through to the JavaScript that I'm unsure about.

As a second note, many user-agents report as Like Something - i.e. Like Mobile Safari - should I filter these out of the equation, or if something is reporting this; is it also likely to be a mobile device.

answered Sep 13, 2013 by anonymous
edited Sep 12, 2013

...