5

I am having an issue where an image URL that I get from Instagram API isn't showing up the image on Opera Mini browsers and it works perfectly fine on Android Browser or Safari.

Here's the image. I am not sure what the issue is here, but by looking at the URL it seems that the image is hosted using amazons3 and there might be some caching mechanism in it that opera isn't handling well. What are the workaround with these? I simply can't drop opera mini support as 50% of my site's traffic is coming from there. The best way to test this is by downloading Opera Mini on your devices (i was trying the simulator provided at the site here, but it didn't work)

Another example try opening this instagram user profile from opera mini. You can see that most of the images doesn't load up.

adit
  • 32,574
  • 72
  • 229
  • 373
  • 1
    Could you add a list of some images that never work, and some that always work (you said "*most* of the images", not all)? – klugerama Apr 10 '14 at 16:28
  • @klugerama based on my research after some time (say 2-4 days) the link to these URL's started working..which is why it's weird – adit Apr 10 '14 at 23:46
  • Did you confirm that the images worked using a different browser on the same device? Could it have been a DNS issue on the client, maybe? – klugerama Apr 11 '14 at 00:31
  • @klugerama yes I did.. I tried using android browser on same device and it worked just fine. I tried using a different ISP on the same device and it still doesn't work – adit Apr 11 '14 at 07:33
  • There needs to be a reproducible case. I loaded the page (and several pages down) through Fiddler; couldn't find anything amiss. Everything came back 200. However, I do notice that the images come from 2 distinctly different domains (some from `distilleryimage*.s3.amazonaws.com` and some from `origincache-*.fbcdn.net`), which give very different headers. Since Opera Mini [uses a proxy](http://en.wikipedia.org/wiki/Opera_Mini#Functionality) it's possible there was a forwarding or DNS issue at the proxy. – klugerama Apr 11 '14 at 16:21
  • @klugerama so then how do you fix this? also is the link of the image I provided in the first case load? – adit Apr 12 '14 at 00:34
  • @adit Did you solve your problem? If so, how? – Pedro Lobito Apr 18 '14 at 03:02
  • @Tuga still unsolveable, having the same issue as well? – adit Apr 20 '14 at 04:02

4 Answers4

5

Instagram render images using javascript. If you will open console in opera mini:

server:console?post=http://instagram.com/shoptastus

you will get javascript errors. So images aren't loaded because javascript on page is broken.

P.S. You can get all javascript errors using server:console?post=url in opera mini :)

Alex
  • 11,115
  • 12
  • 51
  • 64
2

I've tested the image and it doesn't show up on my phone too, even after changing all available settings on Opera Mini.

Excerpt from the Opera Mini FAQ Page:

Opera Mini uses a transcoder server to translate HTML/CSS/JavaScript into a more compact format. It will also shrink any images to fit the screen of your handset. This translation step makes Opera Mini fast, small, and also very cheap to use.

My guess is that Opera mini fails while trans-coding certain type of images. I've tested other images, such as png, jpg and gif and they all display correctly.

After collecting more info about instagram images I've found out that their JFIF properties is:

JFIF Version    1.01
Resolution  1 pixels/None

If I convert the same image on photoshop Opera mini displays it correctly.
Based on this, I can assume that the problem isn't related with cache or amazonaws, it's in the relation between opera mini and images with JFIF Resolution 1 pixels/None

I'm afraid I don't have a solution for you besides filling a bug report on the Opera Mini bug report page: https://mini.bugs.opera.com/
I'm sure they'll look at it and it's your best chance to get this fixed asap.

You can also try posting on the opera community forum:
http://forums.opera.com/categories/en-opera-mini

Best of luck.

Pedro Lobito
  • 94,083
  • 31
  • 258
  • 268
1

I'm using Opera Mini 7.0.5 and i'm able to see all images on the link you provided. Once check the below settings and make ON if OFF.

Go to Menu > Settings and make sure "load images" is On .
Prime
  • 3,530
  • 5
  • 28
  • 47
  • doesn't really help in solving the issue.. does this image load in your case: http://distilleryimage3.s3.amazonaws.com/442292acb29a11e39b100e842b47932b_6.jpg – adit Apr 12 '14 at 00:37
  • Which version of Opera Using? – Prime Apr 12 '14 at 06:22
1

A workaround for this problem would be to serve the photo yourself.

The instagram API terms let you cache content for a reasonable amount of time. This means that you could do something around this flow:

  • if request for the image comes from Opera Mini
    • request image from server
    • cache it
    • serve an URL that points to the cached image resource
    • delete if after X time
  • else
    • server the URL you get from instagram

This is not that convenient but providing a gracefully degraded service is better than no service at all.

Andrei
  • 3,086
  • 2
  • 19
  • 24
  • what is a reasonable amount of time here – adit Apr 24 '14 at 00:00
  • Not sure. It isn,t mentioned. I think it is for you to decide what it means, as long as you delete it at some point no longer than a week. – Andrei Apr 24 '14 at 07:00