Closed Bug 547810 Opened 14 years ago Closed 11 years ago

Mobile: Support multiple devices / platforms

Categories

(www.mozilla.org :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: abuchanan, Assigned: abuchanan)

Details

(Whiteboard: [mobile])

Currently, we support only one platform for Firefox Mobile (Nokia Maemo for N810, N900)

Moving forward, we need a way to support a wide range of devices platforms (Windows Mobile, Android, whatever)

We also need a way to tell users their device / platform is *not* supported.

1) Implement device detection

2) Figure out how this fits into our current design and implement that

(these could each use their own bug)
Here are the platforms and device requirements we support currently:

Firefox for Maemo
Latest Version: 1.0
Optimized for: Nokia N900 (also available on Nokia N810 and N800 Internet Tablets, but not recommended)
OS Requirements: Maemo 5 (51-1)
System Requirements: Nokia Maemo 5 

Latest Version: Alpha 4
Optimized for: Samsung Omnia II, AT&T Touch Fuze, HTC Touch Pro
OS Requirements: Windows Mobile 6.0 and above
System Requirements: 128Mb RAM, 32Mb available storage 

Firefox for Android: N/A

Check back here for updates to this list: https://wiki.mozilla.org/Mobile/Platforms

Open Source device detection site: http://wurfl.sourceforge.net/

Alex and Mike - Would love your opinion on a resource for this project. I'm getting the sense that there are people/firms that do these types of projects for a living. Don't want Alex to spend time on this if outsourcing device detection scripts is an alternative solution.
Assignee: nobody → buchanae
I was hoping I'd have a demo to share by now, but it's not quite ready for trunk (should be tonight).  So here's an update instead:

I'm trying out the WURFL project (http://wurfl.sourceforge.net/)

It's main advantages:
* Open source, with community to help keep mobile device data updated
* We avoid reinventing a very complicated wheel
* includes caching backends (memcache and file)

The demo I'm setting up is the bare basics:  a page that will detect your mobile phone, tell you what was detected, with a "hey! you got it wrong" button.

Once that is up, I'll ask a bunch of people to test it out, to see how accurate it is.  From my initial tests, it seems to work fairly well, but I'd like to have people test with actual devices.

I'll be recommending some changes to our unsupported / unknown device page. I'd like to gracefully handle the cases where we might get detection wrong.  For example, we detect the device incorrectly, and tell the user their phone is unknown or not supported (it could be some new model, with a new UA string we don't know about yet)  We should give the user a chance to download anyway and / or tell us our detection is wrong.

One problem I haven't figured out yet, is how to work around our caching infrastructure.  WURFL is server-side, so I may have to use a different URL per device, or something.
I've put up this page as a temporary demo / testing ground:

http://www-trunk.stage.mozilla.com/en-US/m/detection

Still to do:

* code clean up
* design / copy clean up
* implement form submission on bad_detection.html ("let us know" link)
* implement memcache
Cool, thanks. Lets talk through the scripts and different scenarios. For instance, how would user know if "this is incorrect?"
(In reply to comment #4)
> Cool, thanks. Lets talk through the scripts and different scenarios. For
> instance, how would user know if "this is incorrect?"

Yes, I could use some help figuring out the design & copy for this.

Example scenarios:

User A has a Nokia N900, They get a download button and a message saying "We've detected you have a Nokia N900".  Everything is good.

User B has a Motorola Razor.  We detect it incorrectly as a Nokia N900.  They think we support their Motorola Razor.  Hopefully they see the "We've detected you have a Nokia N900" text and tell us that we've detected their phone incorrectly.

User C has a Nokia N900.  We detect it incorrectly as a Motorola Razor.  They get "Your device is unsupported".  They think we don't support their N900.  Hopefully they see the "We've detected you have a Motorola" text and tell us that we've detected their phone incorrectly.

User D has a Blackberry.  We detect it correctly as a Blackberry.  They get "Your device is unsupported".  Everything is good.

Alternative:

On the other hand, I'm starting to feel that the extra "Tell us we're incorrect" requirement might be too complicated, confusing and/or unhelpful for the end-user.

Another option would be to ditch this extra requirement, and do nothing special to highlight incorrect detection.  We would need to be confident that we've tested a wide variety of devices, and that we can keep up-to-date with new devices throughout the future.  I think we can do that, and it would be simpler.

What do you think?
Talked to morgamic, he agrees the extra requirement of giving the user a feedback loop isn't necessary.  Going to ditch that for now and finish this up.
Sounds good. This day was crazy. I'm putting some time on the cal for us tomorrow. Thanks for all your great work.
Caitlin,

currently I've used some placeholder text for unsupported devices,
"Your device is not supported."

Would you like to replace that with different copy?
So they would receive this if not an Android or N900, yes? Could it read: "Your device is not supported. Go to Firefox.com/mobile/platforms to see our supported platforms and devices."  (This URL will change once platforms and meamo page merge into one mobile/download page).
(In reply to comment #9)
> So they would receive this if not an Android or N900, yes? Could it read: "Your
> device is not supported. Go to Firefox.com/mobile/platforms to see our
> supported platforms and devices."  

1) I think the link should be /m/platforms, since they're in the /m/pages already, we don't want to send them to a desktop page

2) Can we remove the "Go to Firefox.com/m.." and just say "See our supported platforms and devices" ?
Sure. And just embed m/platforms. That's fine. Thanks!
r66442 adds device detection to the /m/index and /m/platforms pages on trunk.

Pascal, we're adding new strings here.

Specifically, 

1) "Your device is not supported"
2) "See our supported platforms and devices"
I have updated files for localizers with these strings, reopened their bugs and notified them.
I've tested the following:

* n810 - "Download Now" on /m, and "Download Beta" on /m/beta
* n900 - "Download Now" on /m, and "Download Beta" on /m/beta
* Nexus One with both the default Android (WebKit) browser, and Fennec - "Your device is not supported"
* iPhone (Safari) - "Your device is not supported"
* Palm WebOS - "Your device is not supported"

I also tested doctype validation and broken links, as well as /m/platforms
r67320 on production enables device detection

http://www.mozilla.com/en-US/m/?awefawef

Note:  The current setup only decides whether or not a device is supported.  In the future when other platforms are supported (e.g. Android) we'll need a way to switch the download URL depending on the platform.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Reopening; the removal of the desktop support (or something else in http://viewvc.svn.mozilla.org/vc?revision=67320&view=revision) seems to have regressed detection of the n810 device; my n900 was detected correctly, though.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
looks like comment 17 was just a combo of n810+1.1b1, with this user-agent:

Mozilla/5.0 (X11; U; Linux armvv61; en-US; rv: 1.9.3a5pre) Gecko/20100414 Namoroka/3.7a5pre Fennec/1.1z2pre
Mozilla/5.0 (X11; U; Linux armv61; en-US; rv: 1.9.3a5pre) Gecko/20100414 Namoroka/3.7a5pre Fennec/1.1z2pre

^^^ Sorry, this is the right one; the previous one had "armvv61", which is one v too many.
Whiteboard: [mobile]
Component: www.mozilla.org/firefox → www.mozilla.org
Component: www.mozilla.org → General
Product: Websites → www.mozilla.org
The Maemo version has gone, Android is here.
Status: REOPENED → RESOLVED
Closed: 14 years ago11 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.