Closed Bug 944808 Opened 10 years ago Closed 8 years ago

bhphotovideo.com serves lo-fi mobile site to Firefox for Android and desktop site to Firefox OS

Categories

(Web Compatibility :: Site Reports, defect)

Other
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: deb, Assigned: adamopenweb)

References

()

Details

(Whiteboard: [mobile-compat-form][country-all][serversniff][sitewait])

Site: http://www.bhphotovideo.com/
Site breaks more or less completely in Fennec

:: Steps To Reproduce

There aren't really STR since all you have to do is visit the URL above in any version of Fennec and see that it doesn't work.  I checked in Chrome Beta and it's fine there.


:: Expected Result

Able to buy things!

:: Actual Result

Couldn't buy any things :(

:: Additional Information

Software Version: Nightly, Aurora, Beta, GA
Device Information: Nexus 7
Reporter's User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:28.0) Gecko/20100101 Firefox/28.0
Summary: Site breaks more or less completely in Fennec → bhphotovideo.com breaks more or less completely in Fennec
I'm not sure the site is broken, per se, but we are getting served a less nice experience than Chrome Mobile. In the current lo-fi mobile site, I'm able to search, select items, add them to my cart, and go to checkout. 

Deb, perhaps you can give some more context on how you couldn't buy anything?

This needs a little more investigation, but quickly,

GET / HTTP/1.1
Host: www.bhphotovideo.com
User-Agent: Mozilla/5.0 (Android; Mobile; rv:25.0) Gecko/25.0 Firefox/25.0

HTTP/1.1 302 Moved Temporarily
Location: http://m.bhphotovideo.com/mobile/search?
Pragma: no-cache
Set-Cookie: is_mobile=1;path=/;domain=bhphotovideo.com;

GET / HTTP/1.1
Accept: */*
Host: www.bhphotovideo.com
User-Agent: Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19

HTTP/1.1 200 OK
Set-Cookie: is_mobile=1;path=/;domain=bhphotovideo.com;
7af976c302bf6a58dae29c0f128b8; path=/
Vary: User-Agent
X-Akamai-Transformed: c - 0 -


So Fennec gets 302'd to an m-dot site, while Chrome Mobile gets 200OK and is served different mobile assets. Looking closer to see if we can learn some more, perhaps there is a framework in use.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [mobile-compat-form] → [mobile-compat-form][country-all][serversniff]
OK, this appears to be purely a serverside issue. 

$ http --print=Hh GET http://www.bhphotovideo.com User-Agent:"Mozilla/5.0 (Mobile; rv:25.0) Gecko/26.0 Firefox/25.0" | grep HTTP/1.1\ 
HTTP/1.1 200 OK

So we get the "same" site as Chrome mobile. But FxOS is presented with the desktop site.

$ http --print=Hh GET http://www.bhphotovideo.com User-Agent:"Mozilla/5.0 (Android; Mobile; rv:25.0) Gecko/26.0 Firefox/25.0" | grep HTTP/1.1\ 
HTTP/1.1 302 Moved Temporarily

We need to reach out to them and ask them to serve the same site to Firefox OS and Firefox for Android that they serve to Chrome Mobile.

A quick glance at their CSS shows that they're including all prefixes and unprefixed props.
Summary: bhphotovideo.com breaks more or less completely in Fennec → bhphotovideo.com serves lo-fi mobile site to Firefox for Android and desktop site to Firefox OS
Whiteboard: [mobile-compat-form][country-all][serversniff] → [mobile-compat-form][country-all][serversniff][contactready]
Spoofing the UA on Firefox Android shows the enhanced site, works pretty good too.
Contacted via the Website Comments & Support form.
Assignee: nobody → astevenson
Status: NEW → ASSIGNED
Whiteboard: [mobile-compat-form][country-all][serversniff][contactready] → [mobile-compat-form][country-all][serversniff][sitewait]
Support passed the email to the Mobile Development Team.
Response:

In the later stages of testing the site before we went live we noticed some issues in the FF browser that prevented us from serving the new site for FF users.

On some pages like Product list, Checkout, the browser will freeze up and a Unresponsive Script alert will appear. it seems to be caused by scroll event listeners,  multiple ajax requests etc.  the browser seems to have a hard time dealing with'em.

while looking into those issues we noticed that Walmart is also not serving their reg. mobile site on FF, they serve a hybrid of old mobile and desktop site (on detail pages), same goes for Amazon - as they serve old Product List page and from other pages they've removed some features, typeahead in main search for example.

What would be your recommendation on how to approach pinpointing and more importantly fixing these issues we are experiencing.
Thanks for the info Adam. I'll try to spend some time on their site this afternoon (or Monday) and see if I can reproduce these issues. I'm also curious when they did this testing. Recently? A year ago?
This was tested last week
Thanks Eli. I'm a little stumped. I just went through a couple of categories and browsed quite a bit, added and removed items from the cart, etc.--never getting a single Unresponsive Script alert (or frozen browser).

I tried in both Firefox or Android beta and stable. The only noticeable "problem" I had is with one of the selects on category pages: https://cloudup.com/c4EfABLInjy

But that's fixable by tweaking some of the CSS: https://cloudup.com/cau1GRAjAtE

Apparently -moz-appearance: none isn't enough to make the select dropdown disappear, but adding

-moz-appearance: none;
text-indent: 0.01px;
text-overflow: '';

to .sort-by select {} and #sub-header select {} (which appears on different pages but has the same issue) fixes it. If you remove the height and tweak some other position values in .sort-by:after it'll look the same as WebKit browsers. Probably a good idea to prefix that with .gecko (or whatever class gets added to Firefox browsers) so not to mess up what's working elsewhere.

But I digress. I'm testing on an HTC One running 4.2.2 and have just tested again on a Nexus 7 running 4.3 without problems.
try scrolling on the listing page, after a few swipes it stops rendering.
(In reply to Shloime Pfeiffer from comment #10)
> try scrolling on the listing page, after a few swipes it stops rendering.

Is this an example of a listing page? http://www.bhphotovideo.com/c/buy/Camcorders-Housings/ci/11585/N/4185679680

I can't reproduce any freezing. :/

@Karl, can you try to reproduce? You'll need to spoof as Android or iOS to get to the right place.
s/Karl/Hallvord/ :P
yes that is a good example
.
We tested on HTC one and on Nexus 5
OK, so you're testing on modern hardware too. Here's a video of me on my HTC One, https://www.dropbox.com/s/4q64mjniqgd3vtv/2014-01-15%2022.30.26.mp4 (just so we can rule out me being insane). But Adam is able to reproduce what you're describing, so I'll keep trying.
* Firefox Android. Just tested on Android with Firefox 26. Receiving a smooth version of the site.
* Firefox OS is still receiving the desktop version.
* Safari on iOS (iPod) is receiving a version which is slightly different with light graphics icons.
* Opera Presto Android receives the same version than Safari/iOS
* UCWeb receives the same version than Safari/iOS
Shloime or Eli,

One possibility is that this only reproduces in Firefox for Android stable. Could you check again in Firefox for Android Beta (what I've been testing on), or Aurora? http://www.mozilla.org/en-US/firefox/channel/#aurora
Hmm.. No, can't find the problem. 

Tested on HTC One in Firefox 23 (standard) and 27 (beta). Enabled a rule in Fiddler to send the iPhone UA string, loaded bhphotovideo.com and scrolled through heavy category listings like computers / laptops / notebooks. I tested both thumbnail grid and detailed listing views, in both portrait and landscape (did less testing in landscape though). I used the "load more" buttons to get through all 10ish pages of Notebooks. Unfortunately, at this point it's really hard to say what the issue might be.

Does the site have a "log in" feature and change layout/markup if you're logged in? Maybe you're seeing some problem that only happens to registered users and we can't reproduce because we don't log in?
Flags: needinfo?(hsteen)
Another theory: are you guys seeing these Unresponsive script errors in the regular-joe production site? Or perhaps in something like a dev env that might have additional logging turned on (that isn't "visible" to the general public)?
In version 28 of Firefox for Android:

Spoofed iPhone UA String: The unresponsive script error doesn't appear anymore
Normal UA String: Getting the desktop site

Shloime - do you mind testing again on your end?
Flags: needinfo?(shloimep)
Status:

Firefox OS is receiving the desktop site.
Firefox Android is receiving the desktop site.

Regression?


When faking Chrome Mobile UA on Gecko desktop we are receiving the mobile version.
And it seems everything is working quite well.
Flags: needinfo?(eliweiss)
This is working now. (a bit slow from Japan at least)
The site is quite heavy (20 Mo including 13 Mo of JS) and without significant caching.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(shloimep)
Flags: needinfo?(eliweiss)
Resolution: --- → FIXED
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.