52 comments

[ 3.4 ms ] story [ 109 ms ] thread
It's not the browser which is breaking the site; it's the site's developers who are using features which are not universally available.

Guess what? If you use simple, clean HTML and progressively enhance with JavaScript, CSS and HTML5 features then everyone can browse your site. Or you can use the absolute bleeding edge of everything, requiring every user to give your code a full VM on his machine (a JavaScript VM, granted — but it's still a VM), requiring that the user be on the absolute latest and greatest smartphone or highest-end desktop.

It's up to you.

It's not fair to blame web devs for not trying to support a browser that doesn't try to support any standards. We have clients pushing us for cool things that they have seen on other sites, or some interesting (to them) feature that they must have. If we refuse? They go to someone more accommodating.
Then implement them in a way that allows for graceful fall back to just text, etc.
I am curious, how many people would prefer this fallback overr the actual site. I'd do.
Easier said than done. For a trivial combination, it's easy. For most real world requirements it becomes a combinatorial explosion of various strategies that are mutually exclusive in many parts.

Unless you have some new machine learning approach to work out all the platform quirks and arrive at pure fallback nirvana?

Doesn't GWT have something that does pretty much exactly that ?
The users don't want a site. They want an app.

It's like expecting the developers of the latest, greatest PC game to write a progressively enhanced game that the same executable will run on DOS 1.0 all the way to the latest Windows version. They will spend time and resources on making sure it works with DOS 1.0, even though there are next to zero users for it, making it completely uneconomical, basically working for free.

Or you can have them click the download Chrome/Firefox link.

The reason many users are using Opera Mini is to use less data and to load pages faster. An app won't scratch that itch.

-posted using Opera Mini

Chrome on Android offers proxy compression too
Which is absolutely uncomparable. Opera Mini's approach is pretty unique.
Clients/designers want apps. Users want information.

The trend today is that sites are crashing my up-to-date Firefox browser[1] because they need a ton of Javascript to get the layout right.

I don't mind a fancy site but just let me get the information I need.

[1] I own a not so new smart phone that does the job well for everything else.

No, sorry, when I visit the Next Web, for example, I don't want 600 kilobytes of CSS and JS just to look at what's basically a list of photos and some text. That is insane by any measure, and I'm not even counting the photos (as they're necessary and there's not much to do about those). It seems to all be there so the site can be a wonder of mystery meat navigation, with clicks randomly bringing elements in and out of focus and taking me to random sites I didn't ask for.

As a moderately seasoned developer, I've seen this in my friends too (you know who you are). They get excited by the latest and greatest technology (which is great and they should) and they apply it to their business without first asking themselves if it's actually beneficial (which is bad and they shouldn't).

Most of them come around to "build it simple at first and optimize later", or YAGNI, but in the mean time, we get things like The Next Web.

$5 TNW's next iteration is plain HTML and simple CSS with a minimal amount of JS and they make a big thing out of how performant their site is now, loading instantly, etc. Good job, you discovered Web 1.0 again, but this time with better designers.

> It's like expecting the developers of the latest, greatest PC game to write a progressively enhanced game that the same executable will run on DOS 1.0 all the way to the latest Windows version. They will spend time and resources on making sure it works with DOS 1.0, even though there are next to zero users for it, making it completely uneconomical, basically working for free.

Games aren't a fair comparison; very few sites are anything like games, and gaming has always been pushing the boundaries of technology.

A more favourable comparison would be shipping a "content reader app", based on Windows Metro APIs, when a plaintext file would do just fine (and would work on MSDOS 1.0, if it were ASCII).

I strongly disagree. If 1 single browser out of 8-9 in common use doesn't support web standards, and represents a fraction of a percent of my target audience, then I'm not going to spend time crafting workarounds to target that browser.

I already make compact web sites compared to my peers -- no jQuery, optimized images, mostly text-driven. No JS is required to navigate and view the site. A hair over 100 kb for most of sites, including blog and header image. I use global CDNs. So my sites are friendly to users in developing countries, as long as they don't use Opera Mini.

There's nothing "bleeding edge" about supporting JS and CSS that IE8 supports. That's as low as I'm going, and no guilt about it.

By the way, have you actually tested any of your sites on Opera Mini? You may be surprised at just how poorly it renders, unless you're still working with tables.

Agreed - and in my day job, too, where my boss needs to present an experience that will have the highest chance of converting customers with a limited resource (my time) it doesn't make sense to spend 4x as long to make it play on IE6 when the return on that investment simply won't materialize.
And how many commercial marketing clients from Fortune 500 are in your portfolio?
For many many sites it really doesn't matter if they don't support 3rd world countries - what value do we gain from working hard to support people with no money to spend? Advertisers aren't interested in them, we can't sell anything to them. It sounds selfish but society is based on exactly that way of thinking.
If thousands of users are desperately trying to use your site everyday even when it's broken for them then I'd wager the business is missing out on profit.

Our company sell to developing countries too, and there's definitely money to be made.

If you don't want to support people who you automatically assume have no money to spend, go ahead and leave it on the table for us to collect. :)

That's the politically correct way to look at it but I don't think you're right.

With the advent of the $30 smartphone, by the time these countries have disposable income that you can indirectly or directly profit from, its likely that one of their first purchases is a better phone with a capable browser. Until then they're a waste of time and resources.

On Black Friday you could get a Moto E, unlocked and off contract, for $10. This phone has a quad core processor, an LTE radio, a gig of ram, and a 5 megapixel camera. Ten dollars gets you something that can outperform flagships from 2 years ago.

And which magic exactly does that phone perform to reduce the bandwidth prices of their provider?
The same exact "magic" of MITM optimization that Opera performs is available in Chrome for Android. [1]

But even putting that aside, you're ignoring the fact that as these developing nations develop and have money that's worth going after, bandwidth is certainly going to become cheaper as well.

[1]: https://support.google.com/chrome/answer/2392284?hl=en

You really can't compare both.
Um, why not?
I guess Chrome compresses the HTML and maybe recompresses the images. But what Opera Mini delivers to the user's browser has nothing to do with HTML, is completely stripped from any JS, etc
You can compare what Chrome does with Opera Turbo feature from Opera Mobile and desktop Opera, but not Opera Mini. It was definitely inspired by experiences from Opera Mini, but it's absolutely not comparable at all.

Opera Mini doesn't render webpages, it's all done server side. What's sent to the browser is a pile of highly compressed layers containing text and images and some metadata about what's clickable - and that's it. From HTML, JS and CSS point of view Opera Mini is a highly optimized, non-real time remote desktop client.

I've heavily used J2ME Opera Mini on my S40 dumbphones many years ago. Back then it was awesome. Today, when the only way to keep sanity when browsing the web on desktop is using NoScript, I doubt that using it would be as awesome as it was back then, and that's not really Opera Mini fault. After all, when using Opera Mini, you don't expect everything to work and render as it would on desktop browser - as long as content is shown and can be accessed properly, it's fine. However, in a world where crazy people use SPA frameworks for their blogs, it cannot be taken for granted.

A faster smartphone won't reduce traffic. Even if you had the latest and greatest flagship phone you might still want to install opera mini if traffic cost per byte is sufficiently high.
Let's flip the argument around and try: 'by targeting users in more affluent regions, and using state of the art technology to deliver engaging content, you can make more money'. Does it make economic sense to go with a simpler site and accommodate users from poorer regions? How does that affect revenue versus using the latest eye candy and targeting iPhone users?

If a business doesn't care about users in developing countries, that's their call. I don't think either way is wrong but the front-end people should at least raise the issue and then go with what the client needs. So many websites target a relatively small geographic area that they can safely ignore Opera Mini users and continue to thrive.

>If thousands of users are desperately trying to use your site everyday even when it's broken for them then I'd wager the business is missing out on profit.

Not really. They might be perusing your e.g. news site for information, but wouldn't click in any ad anyway (and maybe, because of Opera Mini, they don't even see them).

Opera Mini is also relatively unique in having great text-reflow which is an important feature for people with bad eyesight, even in rich countries.
Thanks. :) I obsessed quite a bit about this about 10 years ago. Yes, it's been 10 years since the important things in Opera Mini transcoding/system design happened. At first it enabled web browsing on new expensive Nokia, Sony Ericsson, etc phones primarily in Europe/Russia, then the focus shifted to Africa and Asia/India.

Back then I figured: when when you are architecturally forced to throw out compliance with lots of fancy newfangled dynamic stuff, why not focus on readability and page navigation usability instead?

(I led the Opera Mini team at Opera until last year.)

Great work!. I remember using it on a nokia long ago - worked well, even with the big limitations of the hardware.

Why haven't anybody managed to copy that feature well?

Opera Mobile also has great text-reflow, which makes it much more usable than other mobile browsers in my mind. The approach taken by other mobile browsers for desktop websites often yield pretty bad results, and some sites (such as hackernews) are consistently broken.
>When you’re building websites, front end developers spend countless hours ensuring they gracefully degrade for older browsers, but what about those in developing nations, where every bit and byte counts?

Well, what about them? Are they realistically going to be your customers?

Not everyone on the web is selling something.
Those that don't usually don't have "front end developers spend[ing] countless hours ensuring [the websites] gracefully degrade for older browsers".
My site has a regular Opera Mini user. I don't even know how well it works in Opera Mini, but since the user keeps coming back, it probably does. Also I got a Coc Coc [1] user today, which is apparently the second most popular browser in Vietnam. Never heard of it before.

[1] https://en.wikipedia.org/wiki/C%E1%BB%91c_C%E1%BB%91c

There is a certain portion of web pundits always banging on about this issue. Progressive enhancement is always the phrase used to beat devs over the head about their use of newfangled technologies.

The truth is, there is always going to be some subset of users/agents that won't be able to use your site. You won't reach everyone, not only for technical reasons but for cultural and linguistic reasons as well. Even if you make your stuff work in Opera Mini, who's to say the user on the other end reads one of the languages your site is available in.

The only thing left is to decide the tradeoff between how many of them, the experience itself, and the amount of work you will spend maximizing the other two. There is something about the web that makes a certain portion of people want to believe that tradeoff doesn't exist, and you're a jerk if your site doesn't work on everyone's toaster in Moldova.

I remember a time when opera was supposed to be the browser that implemented web standards the most accurately and completely. What happened? Are they now lagging, or is it just they chose not to support some standards in opera mini for those perfs goals?
Opera Mini isn't regular Opera, it does most of the work server side and sends a highly compressed representation of the web page to the app on the phone.
'Mini' a totally different beast to a normal browser, in order to minimise data usage.

When you request a page in opera mini, that request is sent to Opera's servers. The webpage is rendered on their server [using their rendering engine], and a totally different (OBML) file is sent to your browser, to represent the end result.

'Mini' never sees HTML, Javascript or CSS -- those are handled on the server. This allows the browser to use dramatically less bandwidth... but creates some major limitations.

Opera still makes 'normal' browsers -- and at least in the iOS version, the 'Mini' mode can be switched off [making it render the same as any webkit browser.]

> When you request a page in opera mini, that request is sent to Opera's servers. The webpage is rendered on their server [using their rendering engine], and a totally different (OBML) file is sent to your browser, to represent the end result.

I Think they either have plans to, or have already transitioned to using webkit/blink as the backend for Mini.

Never mind that they seem to be doing their level best to kill of the presto-era browsers. This December they shut down their bookmark sync service (Opera Link) after having introduced a new one for their webkit/blink based browsers.

It sometimes seems like the web is heading for yet another monoculture. Marginally better than the IE era as this time the engine is open source, but a monoculture non the less.

Others seems to have explained what makes Mini special in the browser world, thought it may help to know that it started out as a J2ME feature phone "app".

Yep, it will provide web access over a crappy EDGE connection using a feature phone.

As for the larger Opera, what happened was Google Chrome. There was no way a small for profit like Opera could keep up. So they caved, and now their desktop and non-mini mobile offerings are Chromium based.

>the browser doesn’t support custom fonts using @font-face

That's a feature and not a bug, as many examples. Opera Mini is is designed to bring you 95% of the web for 20% of the data. This is one trade-off.

So are many other things, like CSS-Animations. Opera Mini only displays "frozen" pages and I love it.

I used to use it when I used iOS because it was the only alternative browser available and had sane zooming and text wrap features, unlike Safari (at the time, haven't used iOS in a while).
Sad times for Opera when Opera Mini is called 'unknown'
I had a POS low powered Android phone until sometime last year and Opera Mini was by far the best browser for that phone. The native browser was slow as molasses where Opera Mini was actually snappy. It also had a much better UI and features, some of which are not even on my current browser. For example it'd send bitmapped fonts over the server so I could read langauges for which there were no fonts on my phone. How they could do that all so fast I have no idea.
"unknown browser"... Always amazed by these bubbled, insulated-firstworld statements. I lived in europe with unlimited mobile bandwidth and regularly used Opera Mini for a combination of leaner/quicker navigation and removal of undesirable trackers/scripts.

Also its offline pages feature is great for travellers and, 3G/4G doesn't cover 100% of any country.

Try to navigate script-heavy sites on these connections and you'll quickly realize that opera mini restrictions are desirable features.

Opera been around before chrome even came into picture... Expert trolls not devs...
I would use Opera Mini on my old Android because it would be the only somewhat usable browser performance-wise. It is a wonderful browser and it works really well for use cases it was designed for - low-end hardware and low bandwidth limits.

What I find useless about it is that they try to give efforts in rendering the designs of the sites and break them instead. I think they should adopt Firefox Reader View's approach, that is ditch the design rendering completely and instead focus on displaying only the content and its graphics to the best of its ability.