The user-agent-string.info project ( http://user-agent-string.info/ ) has more compact and optimized database with regular expression support. It detects less features but has capability to detect more browsers and OS. Though I've found some incorrect detections with publicly available user-agent strings (e.g. Nokia Browser), it looks promising.
Some work towards the browscap.ini replacement has been done by Microsoft: http://msdn.microsoft.com/en-us/library/ms228122.aspx - they introduced XML-file with regex and variables support to parse user-agent strings. There is a project that is somehow related to that: http://owenbrady.net/browsercaps/ ; the site has some examples in this format: http://owenbrady.net/browsercaps/OceanAppleWebKit.V4.browser.xml
On Sunday, July 8, 2012 12:13:50 PM UTC+4, John Babak wrote:
> Creating this thread to continue the discussion started at Github https://github.com/GaryKeith/browscap/issues/20#issuecomment-6827124
Have you got access to Owen's database generator? Current version of your browscap.ini could be translated into his structure with some script. No problem with Classic ASP: it will use browscap.ini if the automatic translation is done. And I'm not aware about the usage stats of Classic ASP, is it really so popular today and will it be in the nearest future?
I'd also be interested in user-agent-string.info structure and database, because it seems more opimized by filesize (XML by itself is a heavier structure than related key-value pairs). It has parsers written for most modern server-side technologies. Maybe contact with the author to collaborate on synchronizing the databases and tests?
Have you got access to Owen's database generator?
And I'm not aware about the usage stats of Classic ASP, is it really so popular today and will it be in the nearest future?
I'd also be interested in user-agent-string.info structure and database, because it seems more opimized by filesize
One promising initiative I found was ua-parser (based on earlier work by Steven Souders). It has a pretty efficient format and future proof by not hardcoding each and every version (e.g. not just Opera 11.1 and 11.5 but 11.2-4 would be detected as well instead of falling back to 11.0), as well as future releases the day they come out. So for example unless Google Chrome changes their user-agent pattern (in which case the new pattern will be added in the correct order) Chrome 40, Chrome 60 etc. will all be detected without any work.
More info: https://github.com/tobie/ua-parser
Perhaps our communities can combine efforts? Both seem fairly popular. Browscap has the upperhand in PHP-land (likely due to native support from inside php.ini), but outside PHP it seems ua-parser is one of the more popular frameworks.
-- Krinkle