Closed Bug 969470 Opened 9 years ago Closed 8 years ago

Device identification and Firefox Version Number at a permanent URI (machine processable)

Categories

(Web Compatibility :: Mobile, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: karlcow, Unassigned)

References

()

Details

(This is open to comments. It's a proposal and not a commitment. Food for thoughts)

The Mobile detection frameworks often wants to get information about the evolution of the User Agent strings and release devices. We currently have the 

Gecko User Agent string Reference (for humans)
https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference

It would be very practical to have a unique URI that people can access for getting a machine readable format of devices capabilities for Firefox OS (at least).

So instead of us having to coordinate with all frameworks all the time. This URI would be the definite reference for them to fetch and parse so they can have an up to date information. Data Model should have at least:

* LastUpdate           YYYYMMDDTHH:MM:SSZ
* Description          String
* Device+:
  * LastUpdate         YYYYMMDDTHH:MM:SSZ
  * Name               String
  * GeckoVersion       Number
  * UAString           String
  * FirefoxOSVersion   Number


Cons: 
* It encourages UA detection through HTTP User Agent string.
* It opens a pandora box on having more information about device capabilities.

Pros: 
* It saves us time, because we already have to coordinate with Frameworks. 
* It makes it easier for frameworks owner to be up to date and so we have less chances to have sites breaking on version number upgrades.
Given that we are working with multiple UA detection frameworks, I think this is a reasonable proposal. It would be great to reduce our workload and reduce the number of errors in the frameworks by pushing good information to one source.

Karl - Have you spoken with any of the UA detection frameworks about this idea any whether they are willing to pull this information?
Karl - Ping for my question above.

Thinking about this further, if we are to do this we will need to find a way to maintain the list as the number of Firefox OS devices continues to grow. (phones, tablets, tvs) We don't want to build our own UA detection framework specific for Firefox OS.
Flags: needinfo?(kdubost)
So I tweeted about it http://twitter.com/MozWebCompat/status/443938822338772993
We will see if there is feedback or not.

(Below thinking out loud)

About maintenance, yes it is is exactly the issues with main UA detection frameworks, aka maintenance and being up to date, which leads to the conclusion as much as possible don't do UA sniffing first, but you may use it as a fallback.
The issue is that as it is used first with incomplete libraries or outdated lists, new users or smaller players get blocked or redirected to the wrong sites.


The ecosystem is tough. There are 
* The OS maker (here Mozilla)
* The device maker (ZTE, LG, etc.)
* The OEM (local phone companies)

We try to keep the things sane by asking device makers/OEM to not introduce their own strings in there. The benefit is that it "forces" Web site designers to do features detection. The drawback is that many sites do not rely on features detection (legacy and habits).

Maintaining what we do I think is ok. Maintaining what operators do is not ok. Too much non paid work with the same issues about freshness. It's just that we are closer to the source. Or it is becoming the responsibility of each operator to maintain it. Manual work. Release. etc.

Opera is doing something quite cool with feature support docs, but it is not really machine processable unfortunately.
http://www.opera.com/docs/specs/
Flags: needinfo?(kdubost)
Getting more information from Mozilla is always useful. Could you clarify a couple of points for us;

Will you be altering the user agent string to include the following?

•	The devices hardware information?
•	The devices software information?
•	The devices browser information?

Or is the proposal a web based database containing all or some of the information above that will be able to be accessed via a URI you will add somewhere into the existing user agents?

Below are two user agent strings from Firefox OS devices, as you can see the first one includes the device id token which makes it easy for us to collate the correct information about the device. The second includes no identifying information about the device itself and makes it difficult to accurately use in a detection framework. Can you provide examples to how both of these user agents would look if you implemented your proposal?

Mozilla/5.0 (Mobile; ALCATEL ONE TOUCH 4012A; rv:18.1) Gecko/18.1 Firefox/18.1
Mozilla/5.0 (Mobile; rv:18.1) Gecko/18.1 Firefox/18.1


We’re always looking to support the web community and we would consider maintaining this publicly available database proposal to help reduce your workload if you decide to go this route.
Edward - Thank you for your feedback and questions.

This is not a proposal to modify the UA string but rather about maintaining a list of Firefox OS UAs along with some information as described in comment 0. The idea is that UA detection frameworks would be able to query this db for the current Firefox OS related information in order to help you keep your db up-to-date.
Thank you for the additional information. Just to clarify our understanding.

We would query a Firefox OS user agent in your publicly available database and the information detailed in the original post would be returned to us?

Additionally, does Name mean the device ID token of the device? If so then I assume this would only be returned if the manufacturer had included a device ID token?
Karl, you made the proposal. Can you address the questions in comment 6?
Flags: needinfo?(kdubost)
(In reply to edward from comment #6)
> We would query a Firefox OS user agent in your publicly available database
> and the information detailed in the original post would be returned to us?

Understood, I'm trying first to understand how useful it would be and what would be the consequences. 

> Additionally, does Name mean the device ID token of the device? If so then I
> assume this would only be returned if the manufacturer had included a device
> ID token?

By name, I meant only the model we know have been released, but we can't give what would be the device ID in the UA string for two reasons:
* we discourage device vendor/OEM to include a device id string because we noticed that it creates more issues than solve issues in the case of firefox os.
* we do not know what would be this string in advance, so we would recreate the same issue than other db being after the fact than before the fact.
Flags: needinfo?(kdubost)
I'm closing this for now.
The benefits are not obvious and it seems that there is no strong push for something like this.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.