A love letter to Opera Mini
There's one somewhat forgotten piece of technology that has a special place in my heart. It is Opera Mini. I don't use anymore, and I haven't been using it for a long time, because I don't have to - but it used to be a necessity for me, and it was a little miracle at that time.
I remember getting my first real phone with a colored display - that was a big deal. It was Sony Ericsson K618, if I remember correctly. My friends already had these, so I was happy to join. Finally, I could play all the cool Java games.
I didn't have internet at first, it was really expensive, but got it after some time, when the plans got cheaper. It was a bit of a problem, though - browsing the internet on this thing was really slow and data hungry. Also, this was the beginning of mobile web, so most pages were not really working properly on mobile. It was a lot of zooming and sliding, not quite fun - you have to remember that this wasn't touch screen, so you had to do this all with arrow buttons. Practically speaking, it was basically unusable.
We were totally consumed by this new technology and all these new options, I tried all sorts of things, always looking up new Java apps (J2ME) to install and try out. Naturally at some point, I came across Opera Mini.
For those who are not familiar, Opera Mini is sort of a weird browser. Instead of going directly to a webpage, it requests the page from a proxy server, which loads the page on the server, compresses and optimizes the content in various ways, and then send the response to the user.
In practice, this meant that Opera was insanely fast compared to the built-in browser. It was also really well-built for this suboptimal situation. Loading bar showed how much data you're downloading, so you could always cancel the request if you saw it's too much for your data plan.
Pages were often slightly restyled do make them well viewable on mobile, so you didn't have to zoom and scroll left and right in many cases. But even when the webpage wasn't optimized like that, the zoom and slide experience was really well done and polished. After some time, you got used to it and browsing pages pretty fast this way.
Obviously, this system had a bunch of problems. JavaScript didn't really work on the client, only on the server, so some pages didn't work properly, you only had a snapshot of the page from the server which wasn't properly interactive. This became a bigger problem later, when client side JS became popular. We got used to all sorts of weird quirks of this system and learned how to go around them or when to give up and open the page in the real browser.
But even with all these problems, Opera Mini was still worth using, because it was just so much better, so much faster than the default. Even when I got my first Android phone (Samsung Galaxy S2), I still used Opera Mini on it because it was much faster.
Actually, you might not know this if you live in developed country, but Opera Mini days are not over. Many people in the world are on cheap phones with data plan and bad internet access and this browser is practically the only way for them to use the internet on phone. I was one of those people, too, and I'm so grateful that this technology existed at that time.
I sometimes recall these days and think about how the web evolved and I feel a bit sad about how wasteful the whole system is now. When you look at what Opera Mini was doing - it was clearly possible for the web to be much more lightweight. Opera Mini didn't save just a few percent, it regularly made pages many times smaller and faster, and often much more usable than its "native" competitors. If it was possible to deliver comparable experience for such a lower cost in bandwidth and processing power, why don't we just do it by default?
The answer is, of course, complicated. In some ways, we actually do. I suspect Opera Mini gained a lot just by compression, which early websites often didn't do well by default.
They definitely went a lot further, though. As far as I know, Opera did the whole layout on the server and only sent simple data in an optimized binary format to the client. This is very different from sending textual HTML with CSS, which requires a lot more processing to do the layout properly.
Either way, it's definitely food for thought and motivation to do better. Today I'm glad I don't have to use Opera Mini anymore, and as a programmer, I hope that my software will at some point have such a strong positive impact on somebody's live as Opera Mini had on mine.