Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maple (Samsung Smart TV) browser not detected #235

Closed
summercms opened this issue Apr 10, 2020 · 3 comments
Closed

Maple (Samsung Smart TV) browser not detected #235

summercms opened this issue Apr 10, 2020 · 3 comments

Comments

@summercms
Copy link
Contributor

summercms commented Apr 10, 2020

Maple browser is a proprietary browser from Samsung. Maple stands for MArkup engine PLatform for Embedded Systems.

Link: https://www.samsung.com/

Regex:

/(\sMaple)(\s)?(\d+[\.\d]+)/

Added a \s at the beginning to avoid conflicts as short name.

Example UA's:

Mozilla/4.0 (compatible; Gecko/20041115) Maple 5.0.0 Navi

Mozilla/5.0 (Windows; U; en-US; rv:1.8.1.11; Gecko/20071129; Firefox/2.5.0) Maple 6.0.00077

Add to [type] => television.

Link to: #212 discussion.

@summercms
Copy link
Contributor Author

@NielsLeenheer

Take for example the Maple browser on Samsung television devices. I'm conflicted on how to detect this. Maple is an internal code name for the browser, not a consumer facing name. It was always labeled as "Web Browser". To me that is a big distinction. What also not helps it that Samsung sometimes refers to Maple as a development platform (for HTML based smart tv apps) and apps build using that development platform sometimes also use the token Maple in the UA string. So far I've not shown the name here, but used Maple as an identifier that we are dealing with a Samsung television device.

Taking this Example UA:

Mozilla/5.0 (Windows; U; en-US; rv:1.8.1.11; Gecko/20071129; Firefox/2.5.0) Maple 6.0.00077

I get the following results:

Lsxiao\UserAgent\UserAgent Object
(
    [browser] => WhichBrowser\Model\Browser Object
        (
            [using] => 
            [family] => WhichBrowser\Model\Family Object
                (
                    [name] => Firefox
                    [alias] => 
                    [version] => WhichBrowser\Model\Version Object
                        (
                            [value] => 2.5.0
                            [hidden] => 
                            [nickname] => 
                            [alias] => 
                            [details] => 
                            [builds] => 
                        )

                )

            [channel] => 
            [stock] => 
            [hidden] => 
            [mode] => 
            [type] => browser
            [alias] => 
        )

    [engine] => WhichBrowser\Model\Engine Object
        (
            [name] => Gecko
            [alias] => 
            [version] => WhichBrowser\Model\Version Object
                (
                    [value] => 1.8.1.11
                    [hidden] => 
                    [nickname] => 
                    [alias] => 
                    [details] => 3
                    [builds] => 
                )

        )

    [os] => WhichBrowser\Model\Os Object
        (
            [hidden] => 
        )

    [device] => WhichBrowser\Model\Device Object
        (
            [manufacturer] => Samsung
            [model] => 
            [series] => Smart TV 2011
            [carrier] => 
            [identifier] => 
            [flag] => 
            [type] => television
            [subtype] => 
            [identified] => 4
            [generic] => 1
            [hidden] => 
        )

    [camouflage] => 
    [features] => Array
        (
        )

    [cache:WhichBrowser\Parser:private] => 
    [expires:WhichBrowser\Parser:private] => 
    [cached] => 
)

I can't see the word Maple in the above results ?

I was thinking and have a suggestion.

Any UA that contains the word Maple and gives the result of:

[manufacturer] => Samsung
[type] => television

Then create the results:

Browser Name: Samsung Internet
Browser Version: 6.0.00077

Which I took from the UA of Maple 6.0.00077

@NielsLeenheer
Copy link
Member

About: Mozilla/5.0 (Windows; U; en-US; rv:1.8.1.11; Gecko/20071129; Firefox/2.5.0) Maple 6.0.00077

Any UA that contains the word Maple and gives the result of:
[manufacturer] => Samsung
[type] => television

That is what the word Maple currently does.

Then create the results:
Browser Name: Samsung Internet
Browser Version: 6.0.00077

Samsung Internet is the name for the browser of the Tizen based Smart TV's from Samsung. The "Maple" browser did not have a name, so calling it Samsung Internet would not be correct. It might even lead to problems, because version number implies capabilities. And "Samsung Internet 6" on a 2011 Smart TV is way less capable than "Samsung Internet 1.5" on a Galaxy S5 from 2014.

The problem with that is there is no browser called Maple. It is just an internal codename for the rendering engine that underlies both the browser and app development platform.

The UA string above is from the 2011/2012 era. The consumer facing name for the browser was "Web Browser". And any app that was created using the Samsung Smart TV SDK 3.0 was using a UA string with the name "Maple 6.0".

So at most we could treat Maple as a platform and populate the "using" property in our result set. Similar to how we handle Adobe AIR or Electron at the moment.

@summercms
Copy link
Contributor Author

~I'm closing issue that I have created a pr for - just to keep things tidy as I've opened around 300 issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants