Giter Site home page Giter Site logo

Comments (13)

donatj avatar donatj commented on June 18, 2024 1

I guess EdgiOS and FxiOS should also be included in that array?

See, that's the question. You're completely right, the inconsistency sucks. I don't know how or why I did that.

My gut says this means I need to add iOS Firefox and Edge, but my heart says I should drop Chrome πŸ˜†

from phpuseragent.

donatj avatar donatj commented on June 18, 2024

I've gone back and forth and back and forth on how to handle iOS browsers. It's a complex issue with no right answer.

As you've seen, thus far I've just landed on just not handling them to and letting them be parsed as Safari.

I've got two groups of people who use this

a. people who use it for deploying features by browser
b. people who use it for stats/analytics

I suspect for the majority of users, not parsing them is in their best interest -

If I called CriOS "Chrome", someone offering up a feature only available on Chrome could be burned because CriOS isn't actually Chrome and doesn't behave like Chrome.

On the other hand people using it for analytics might be burned because they get inflated states for Chrome use, despite it actually being Safari, so they invest more time in optimizing for Chrome and not enough time optimizing for Safari that people are actually running.

As for the specific advantages of detecting them, there are certainly going to be people specifically targeting features towards specific Safari wrapping pseudo-browsers - I imagine propper feature detection is more optimal in these cases.

As for the stats people, I don't know why you'd actually care what Safari wrapper they're running, it doesn't really affect you?

Please push back though, this is just the state of my thinking currently. I'm more than happy to hear you out.

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

If I called CriOS "Chrome", someone offering up a feature only available on Chrome could be burned because CriOS isn't actually Chrome and doesn't behave like Chrome.
This makes total sense. It would definitely be misleading.

And indeed... not sure how useful it is to know what browser the person uses, if in the end the actual data is "how to support our users".

That all said.......... I'm really reporting a bug in this topic πŸ˜… CriOS is reported as iPhone Chrome, while the others go as Safari, as it would make more sense.

from phpuseragent.

donatj avatar donatj commented on June 18, 2024

I'm really reporting a bug in this topic πŸ˜… CriOS is reported as iPhone Chrome, while the others go as Safari, as it would make more sense.

HAH - I need to work on my reading comprehension πŸ˜† I feel like a dork now. I didn't realize that was the case… let me get back to you…

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

There's a translation happening here.

I guess EdgiOS and FxiOS should also be included in that array?

Seems I just copy-pasted without reading lol nvm

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

I'm not exactly sure what's going on, I didn't took the time to fully grasp the codebase. Anyhow, I would guess by the time you coded the CriOS override, FxiOS and EdgiOS weren't available yet, so we could guess it's just outdated?

Another idea, as to cater to that duality you face, is adding an option to the class instance (or parse() call, so it feeds directly to the procedural function), like parse($keepSimilars = false). Go with the default behavior the library currently has (if I understood it righ) - which is to translate all "similar browsers" to their original counterparts (e.g. IceWeasel to Firefox, CriOS to Chrome, and add EdgiOS/FxiOS to the bucket), and then allow the user to request that all similar browsers are kept as-is, so the library can better serve their statistical purposes.
Does that make any sense?

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

Fun fact: a while after the discovery of your fake clone, I stumbled upon this dependency on the project and realized I was kinda talking to you here as if you were really working with us (re: "yep you know for which project" in the description and all) πŸ€¦β€β™‚οΈ

Anyhow, at least I didn't include this because of the other guy, it was just a coincidence. I guess I should've asked him for help, instead of formally opening this issue lol

from phpuseragent.

donatj avatar donatj commented on June 18, 2024

a while after the discovery of your fake clone, I stumbled upon this dependency

My fake clone?

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

from phpuseragent.

donatj avatar donatj commented on June 18, 2024

Oh, I see. You worked with the person who stole my identity! Did you work for one of the two companies that have already reached out to me - or is there a third I’m just learning about now?

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

from phpuseragent.

donatj avatar donatj commented on June 18, 2024

Thanks for the heads up. I contacted GitHub and their account is already gone. It was really quick.

from phpuseragent.

igorsantos07 avatar igorsantos07 commented on June 18, 2024

from phpuseragent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.