Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: What's my browser? (whatsmybrowser.org)
121 points by zvanness on Mar 9, 2014 | hide | past | favorite | 79 comments

Looks nice, but please sanitize your input:


Also the site completely breaks if I add rare unicodes at the end of the user agent:


I'm interested in what's happening here. Can you provide a link/more info on what the XSS issue is?

(I honestly don't know and would love to learn about this. Thanks)

From what I can see, the issue is fixed now. But simply, someone put html in their useragent, the site copied it as text, and included it as text in the html. The browser then interpreted it as html, and executed the javascript.

The fix is to parse inputs, and replace < and > with html entities. You can see this fix if you read the source for the page.

Post on Hacker News, expect to get "hacked".

This appears to be fixed, but I did like the alert text in your stored XSS. Probably the first XKCD comic I ever read.

You're asking the user to cut and paste a URL... it's still too hard.

The one we use, when we need to, is this: http://supportdetails.com/

All they have to do is put a recipient email address in the top, and hit "send details", and we receive an email letting us know what they're using.

You can even pre-populate the form:



Making it a single click function.

Although I agree with other comments in this thread, that this is something your app should log, there are scenarios in which this type of tool is really useful. Namely: Registration/Sign-in errors, in which it's going to be extremely difficult to identify from log files which tuple relates to the user having issues.

You're right - every user action / step is hard for support. We tackled this problem with Usersnap (https://usersnap.com ) - devs will get accurate information (Browser + OS version and a screenshot) directly with the bug report!

Have you considered generating a unique URL for the requester (technical support) to share with the client, maybe with their name ini t? Once they visit it, pull their details, store it, and email it to the requester, or add it in their account.

It's not my site.

But it's very useful.

And we use Streak, so when we get such an email it is automatically assigned to the bug and the CRM for that user... for free... using Streak filters.

That site is not responsive :-| (whatsmybrowser.org is)

That would be a nice addition, but isn't essential.

I've never had a single person I've asked for the extra info from, fail to be able to send it.

It's not a blocker.

But... trying to get them to figure out "cut and paste and send email to help@foo.com" is a blocker. Then we're giving support for the support tools.

Love the site, but I would really need to have info on addons (particularly Silverlight) included to have use for it.

It detects Web (Epiphany) as Chrome: http://whatsmybrowser.org/b/ZB74XW4

Midori as Safari: http://whatsmybrowser.org/b/PMWKUJZ

Chromium as chrome: http://whatsmybrowser.org/b/21ULSXJ

And you might want to be more specific on Dooble and Konqueror: http://whatsmybrowser.org/b/W3CJIKO http://whatsmybrowser.org/b/IHEV8VN

Konqueror has been at major version 4 for the past 7 years or so. Also, these operating systems are called "FreeBSD" and "Linux". "amd64" or "x86_64" is the arch they're running on here.

I would imagine anyone using an obscure browser doesn't need a website to tell them what they're using though.

I thought the purpose of the app was to demonstrate an intelligent parsing of the browser signature. After all, the user agent only tells part of the story.

Why would anyone need a website to tell them what browser they are using?

Support. I work Support and Maintenance in an web agency and if I a client client calls up with an issue that I can't reproduce, the first question is what browser they use. There are a lot of inconsistencies between browsers and knowing it gives me one less thing to test with when I'm working on the issue.

I would have asked the same thing before I started reading /r/talesfromtechsupport.

This reminds me, have any of you guys run into the "dark side" of frequent browser updates? Couple months ago I file a support ticket on a website, they come back and say "I see you are using Chrome 33 and Firefox 24, we only support Chrome 27 and Firefox 19, please install those versions".

(Those were not the precise versions, but you get the idea)

Reports my IE11 in modern mode as IE7.

I'm guessing it's because of the "trident" and "7.0" in the user agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; Touch; rv:11.0) like Gecko

I've noticed a ton of sites that misdetect IE in this way. MS's attempt to 'improve' their UA string seems to have done more harm than good.

Here's what we use at StatCounter when compiling Global Stats data:


Can you check if that detects your IE11 correctly?

Yes, statcounter does detect it correctly.

For me it correctly reports it as IE11. I am also using it in modern mode and have the exact same user agent string.

As someone who uses these services in my job, I like the design a lot. A simple url and a simple copy button is great for these things (anyone who has done support will know what I'm talking about).

However, I get more information from whatsmybrowser.com

If someone could do a site that gives as much info as possible, including an Internet speed tests, I think it could become very popular.

IP address and GeoIP is pretty handy from a support perspective, plus anything such as ISP that can be inferred from IP address. The whatismybrowser.com has IP address but not the GeoIP.

More generally an embeddable 'contact us' form for people to use might be useful if it solves problems of having to setup captcha, email and so on that is hard to do correctly. On the back of the contact us form there could be all the useful support gubbins so that whomever is in support dealing with the 'complaint' sent on on the contact us does not have to ask the customer to go to some third party site to find out the browser/IP/screen size and so on.

what the fuck? the help page says

"Google Chrome is generally considered the leader in supporting modern web standards, and can reliably handle most modern websites. It is also one of the fastest and most secure. "

What's your issue with that statement?

I guess it's with "Generally considered" [citation needed]

afaik Opera is the leader in standards.

Opera uses Google's Blink, so that's quite the silly assertion.

For my browser diagnostic needs, I prefer http://ifconfig.me/

Memorable url, shows ip address, shows user agent, and much more. As an added bonus, if you:

    curl ifconfig.me
It responds with just your external ip address.

I use the identical http://icanhazip.com

This is a perfect example of the importance of putting even a marginal amount of effort into ux.

That does not look like a site meant to be used, it looks like a site to be listed on Google.

My eyes are bleeding.

Why? It's not as good.

The PS Vita browser gets detected as Safari, and the URL it gives me is invalid http://www.whatsmybrowser.org/b/GFWPFC0

I have cookies disabled and yet it says "Cookies enabled: Yes". I did verify there was no "Cookie" header sent.

What's with that?

I'm running dwb, version 2013.08.03 (either the maintainer for Fedora is slightly lazy or there hasn't been a new version in a while) on Fedora 20. It reports Safari 538 and OSX as the operating system. I've also got cookies disabled and it reports that I have them enabled, which is strange.

When I tried Opera, it returned Chrome 31.

Sorting out user agents is one of those 'hard problems' but I thought that was the _whole point_ of this site. This is an incredibly basic mistake.

Update: this has now been fixed.

Same browser engine and useragents

No, the Opera user agent contains an additional OPR/XX where XX is the Opera version.

On Linux(Gentoo) it reports the resolution of my secondary monitor. Instead of the one my browser is actually on.

Interesting, because it does the opposite for me, i.e. it reports my primary monitor's resolution, despite the browser running on my secondary monitor!

Is your secondary monitor the first in the display list? I tend to have issues like this often.

If you can add, Websocket and SSL tests would be awesome and are what we need. Great design!

It says that my screen size is 1280 x 720, but it's actually 1920 x 1080.

Same problem here, it says 1547 x 870 whereas my real screen size is 3200 x 1800.

How does it know my Java and Flash versions when I have click to play set?

Probably from JavaScript. See https://developer.mozilla.org/en-US/docs/Web/API/NavigatorPl... and, from there, https://developer.mozilla.org/en-US/docs/Web/API/Plugin. Your browser cannot hide extensions from that list because web sites might use it to decide whether to show you their plugin-based content.


I prefer http://supportdetails.com/ makes it easy for the customer to email me their details.

I realise this is to assist with support, but why would anyone other than the owner of this site use it when they could just pull the user agent from their own logs when/if there's a need?

Every webapp I've ever written logs user agent in the audit trail because that's often useful both in support and detecting unwanted stuff. I'd have to assume that's a fairly common practise.

Barring an obvious use case I'm missing, it feels like a poorly written version of www.mybrowserinfo.com dressed up the theme de jour, minus the detail.

When I'm talking to my clients, it's so much easier to tell them to use to a site like this.

Them: "When I click the button, the menu shows up. But it disappears as soon as I hover over it.

Me: "What browser do you have?"

Them: "Google, I think."

Me: "Let's make sure. Could you go to whatbrowser.org and tell me what it says?"

Much simpler than having to fish through logs.

Them: "When I click the button, the menu shows up. But it disappears as soon as I hover over it"

Me: What's your username?

Them: jdoe@somehost.com

  $ mysql -e "SELECT useragent FROM login_audit WHERE user = 'jdoe@somehost.com'"
  | useragent                                         |
  | Mozilla/1.22 (compatible; MSIE 2.0; Windows 3.1)  |

Me: thumping noises on wood

Them: Yes?

  $ mysql -e "DELETE FROM users WHERE user = 'jdoe@somehost.com'"
Me: Problem resolved, goodbye.

(Admittedly this is probably why they don't let me do support, but the point remains, it's trivial and you should have this info.)

And for someone doing basic support who doesn't or shouldn't have access to the database? These sites make that sort of thing easy.

A great job to give an intern is to get them to write a nice front-end for support techs to use. Then get a manager in training to audit the code.

Or just use the site linked in the OP

Writing SQL over the phone? That sounds like a massive pain. Especially one handed, I don't get a fancy headset. Thinking on the phone is hard enough.

In my own case the clients have multiple users using one account so you can never be sure who's user agent in the logs corresponds to what.

What about someone who can't log in using a browser which is not their usual?

> What about someone who can't log in using a browser which is not their usual?

You're assuming a couple things about our hypothetical login_audit table, neither of which are neccesarily true and both of which would make our audit table functionally as useless (at least to me) as the OP's site

  * That we only store the last useragent
  * Only successful logins are recorded
In the latter case, I probably needn't (but I will) point out that failure to make any entry in the table would imply more serious connectivity issues being afoot.

If your app gets a nontrivial number of visitors this is probably way easier than trying to pull a specific user's request out of logs.

And once you reach a certain size the person doing user-level support very likely doesn't have access to server logs.

I'd argue as your visitors scale, so should the ability to trace individual requests, and as your user-level support team scales, so do the tools you use to support them.

Another nice benefit is that building out a quick internal tool can be a great afternoon hack to clear your mind. It doesn't have to be good, just something to remove some pain.

We're tagging pretty much every request & correlating it with a user, and are able to pull logs pretty quickly. It's not hands-off, but we've built tooling to make it pretty straightforward to dig whats up.

On a retina screen, it reports the wrong resolution. Not sure if you can get density from the browser, but just thought I would let you know!

I noticed this as well. OP can detect it using window.devicePixelRatio on WebKit:


"Color depth: 24 bit"

Ah, now there's your problem!

Seriously, no support person is ever going to need this information.

Oh indeed. Manage to kill off your graphics driver and be unlucky enough that Windows reverts to VESA.

Or, alternately, have some stupid game change to other color depths (I'm looking at you UT), switch via Alt-Tab and kaboom.

It's a very basic service, but the UI is more hip, I guess.

It doesn't detect LightSpark as a Flash version.

It's bootstrap

"Browser size" made me chuckle. I would say "Browser window size" instead :)

This shows "Mobile Firefox Mobile", which is correct but obviously badly phrased.

The website doesn't work with my trusty Mosaic 2.7b5.

Right now.

> Share this now with your support team now!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact