This August 10 the service will have been online for 20 years. It's certainly the most long-lived service I ever co-created. I'll probably even feel a bit sad whenever they shut it down.
The version launched in 2005 did simple line breaking in the client. It could only do what we called SSR (small-screen rendering), breaking up the site layout into a vertical strip.
With version 4 in 2007 we moved to a model where font metrics are calculated/checksummed/uploaded if needed and then the layout happens on the servers using the full Presto engine. This enabled a full "iPhone-like view" (mobile-friendly web pages were a rarity back then - and being able too zoom in/out and pan around was exciting stuff). This is basically the protocol that's still running.
Opera Mini appeared at a strange time. This is back around when Apple had done Webkit just for the Mac (derived from KHTML) and Nokia thought it would be cool on S60, and it was.
WAP/WML was a near total flop, although oddly had a second life on interactive TV in the UK where Sky funded creation of a WML browser in OpenTV to enable faster turnaround of new apps. (OpenTV was neither open nor particularly consistent between devices, and the normal mode of delivering content via satellite was difficult logistically).
As someone else mentioned imode was way more popular, at least in Japan. (I happen to have been slightly involved in the relative failure of a rollout in France). NTT went to massive lengths to get Japanese companies up and running on imode, such that by about 2002 huge amounts of ecommerce were being done on it, including B2B. I know of major electronics components vendors doing >70% of their sales (by value) via mobile Internet in Japan by 2005. imode didn't really do well in the 3G transition though, and the increased complexity of the phones led to a lot of bad software on them, which was the opportunity Apple ultimately exploited.
The result of all that is in 2005 J2ME was surprisingly capable, but virtually no one was using it, and so Opera Mini was kind of by itself for a while. The company that does a lot of transport ticketing in the UK had at one point a phenomenal mobile banking prototype (that worked) but was told by the banks they simply weren't ready for it, and the banks didn't think the customers were either, which was actually the truth, and so why they pivoted.
> The result of all that is in 2005 J2ME was surprisingly capable, but virtually no one was using it, and so Opera Mini was kind of by itself for a while.
Compatibility with J2ME was really fragmented and this was the time when there were literally thousands of phone models in the market at the same time, so it took a sizeable effort to ship something that worked well.
With Opera Mini we had about 5-6 people (developers+QA) working on J2ME device compatibility continuously. And a really impressive physical device library. I think it had about 2.5k devices in the end.
Once you got really popular though, most device manufacturers started including compatibility with your app in their shipping criterias, so then it suddenly got really easy.
5 to 6 people managed to make an app compatible across 2,500 different devices models at a time when there was practically no hardware standardization, and you say that was a hard thing?
I will say though, thank you for your work on it. It was an awesome product back in the day, I was incredibly grateful.
By 2005 J2ME fragmentation was nothing like as bad as what Android would become, and remains greatly exaggerated. By that point the 3650 and T610 were getting to be history, and Siemens were on the edge of dropping out.
It was one of those things that was very surmountable if the market pull would have been there to overcome it, but there wasn't demand because the phone form factors of the time sucked for apps and games.
> With Opera Mini we had about 5-6 people (developers+QA) working on J2ME device compatibility continuously.
You realize this is tiny? To cover things like Blackberry and Brew took significantly more effort than that, and this is pre GPU or camera variation being a thing.
Another example of a really well-done J2ME app was Google Maps. It had GPS and street view support at the same time as iPhone only did tower location and Google wouldn't license them Street View.
With a high-end Sony Ericsson feature phone, I could multitask(!) between Opera Mini, a J2ME twitter client, IRC client, train timetable app, Google Maps, etc better than a Symbian S60 smartphone could (and iPhone of course couldn't multitask at all) https://kalleboo.com/linked/se_j2me_multitask.jpg
Not quite, WAP evolved into WAP 2.0 and WML was replaced with xHTML. For a long period of time WAP 2.0 was the only standard while mobile development evolved. Even as HTML support grew in the mobile space, there was a very solid duration of time where WAP 2.0 was the most supported across the majority of devices and browsers (in the mobile space). And FWIW, I wouldn’t consider WML a flop, because that was the only mobile standard supported on most phones before the iPhone.
> As someone else mentioned imode was way more popular, at least in Japan. (I happen to have been slightly involved in the relative failure of a rollout in France).
Do you have any info on what the iMode technical stack was like? The information available on the internet (at least in English) is scarce.
Someone somewhere will have a French copy of the tech specs, because Bouygues paid to have the whole lot translated before any work could commence.
One oddity of the Japanese setup was NTT essentially ran a cloud, of a huge pile of HP-UX servers with Oracle/JVM etc. somewhere in Yokohama which was running all the backend. When I said NTT went to big efforts to get companies on board this is what I mean: they were incredibly proactive about getting integrations into this happening, to the point of entirely hosting it on site if necessary and essentially doing the work themselves for anyone they thought valuable enough. I don't believe any version outside Japan ever replicated this, and it was the magic ingredient along with persistent data connections.
The closest thing the west saw to that in practice was the Sidekick, but that never got the level of third party support.
It's fairly widely understood that i-mode used CHTML but I'm unfamiliar with the lower levels of the networking stack. App wise there was Java but not normal J2ME. All I can remember that was unique was their scratchpad memory area (which was just way too big), and billing APIs!
O2 in Ireland went relatively big into imode and it actually had decent uptick among local stuff. But then GPRS came about and phones started shipping sort of functional J2ME browsers that could do the "real web" and that was that.
Opera Mini also was a big leap up in capabilities compared to the Sony Ericsson built in browse I was using on the k750i. Both in terms of compatibility and also the compressing reverse proxy stuff they did when data was being charged per megabyte.
> I happen to have been slightly involved in the relative failure of a rollout in France
Was it with Bouygues? IIRC they were basically the only provider to advertise i-mode.
Anyway, i-mode might have been a flop, but for a brief moment in time I enjoyed being on the bleeding edge with things like Opera Mini on my Sony Ericsson. Those were the days.
I have very fond memories of using Opera Mini on my N-Gage and on a bunch of later feature phones that only had J2ME support. It felt revolutionary at the time, especially since data plans were still extremely restrictive.
Wifi on phones was also not quite a thing yet, so I had found an application for S60 phones that allowed them to share a computer's connection via Bluetooth. The range was extremely limited, but enough for me to browse the internet from my bed!
I only remember doing the reverse: when the wireless AP at home broke down, I created a Bluetooth PAN to use the cellular Internet connection on my computer. Didn't need to install any J2ME app. (At that time desktop OSes had basically no background process that would use the Internet silently. )
Operators in India and some other countries sell phones where this is pre-installed and websites have to be specially adjusted for keyboard input and low resolution. It's pretty interesting, I want to try it out, they just don't sell those phones here.
> 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.
That was so nice to read! We were a small team and we really cared about making it as nice to use as possible.
To be perfectly honest though, we kind of built it for ourselves. Mobile data was really expensive and we were addicted to the web. I have a vague memory of mobile data pricing being like 2 USD/MB over 2G in Sweden when we started building it (2004). Sounds insane now. That progress bar clearly showing how many kilobytes of data you were using was a conscious design decision. There was real money at stake for the user.
in like 2005, one could get an unlimited data add-on to an AT&T dumb phone for something like $15/mo. If you managed to get a 3G dumb phone, you'd get a 3G-enabled SIM card.
Just take the SIM and pop it in whatever GSM device supporting the right frequencies and boom cheap unlimited data. It seemed like as long as you didn't use a device AT&T sold they never noticed it wasn't your cheap dumb phone.
It was tricky buying Euro phones. They'd mostly work but usually didn't support the more widespread lower frequencies for AT&T (was it 850 or 900MHz? I don't quite remember). Usually the higher frequencies were well supported like 1900MHz and 2100MHz, but those were pretty hit and miss on coverage and would often die once you went inside a big building.
I wrote an article comparing Cloud Phone and Opera Mini. It’s impressive what Opera Mini enabled, given it’s been frozen in time for roughly a decade. You’d think with SSR, more websites could support it. Despite coming preinstalled on hundreds of millions of phones, it doesn’t represent proportional traffic since navigating on these devices is so difficult
I've just started reading that link so I apologize if this is redundant, but would you elaborate some? What sorts of considerations / limitations exist? What would allow an app/site to run better on this platform?
Opera was amazing in the early days of the web, it was one of the few programs that I gladly paid money for.
I used to browse without images and CSS (but only one keyboard shortcut away) when bandwidth was low and web development was amateurish. Opera Mini took another leap forward to move rendering off slow smartphones.
Things have changed a lot in 20 years. My smartphone is probably faster than most computers of that era. And Opera is a zombie company trying to take advantage of its users.
> My smartphone is probably faster than most computers of that era.
That's an understatement. With the usual caveats that benchmarks lie and all that, here's a pretty fast server I had in 2008 or so vs a modern iPhone[0]. The single core scores are 430 and 3427 respectively, and multi-core scores are 745 vs 8494. The phone wipes the floor with the server on normal tasks. On things that use huge amounts of FLOPS like object detection, it's just about 100x faster.
In addition, the entire A18 SoC uses around 10W max, vs the E8400 burning 65W by itself.
If you want to go back to exactly 20 years ago, there's a Pentium 4 vs an iPhone.[1] It had single/multi-core performance of 185/216 at 85W (by itself, not including chipset and RAM), and the phone runs math stuff around 500x faster.
Yes. Your smartphone is many times faster than most computers of that era.
I remember just being new to web development and all the developers were so bougie about only using Opera because it was adopting the HTML5 standards faster than any other company. They were one of the first companies to develop standards for video if I remember correctly. They also were the first browser to offer ad blocking which was getting really intrusive.
I remember using Opera Mini during mobile device testing back in the day. I didn't know (or remember) that it used a technique to render pages on a server before sending them to Mobile. But i remember, that i also used it with an emulator on desktop (for Palm PDAs).
I was very sad when Opera stopped its development with version 12 and shut down all its services, including the dev blog and bookmark service. Opera was my main browser in the 2000s, and I used it for web development, as well as an email client and feed reader. Recently, since they have a working email client, I started using Opera again, now Vivaldi (CEO is also Jon von Tetzchner).
A similar but "data leaky". one was UC browser. These two were constantly compared back in the day, their entire selling point was faster downloads over opera mini. I remember doing speed tests with both on my old nokia and Samsung feature phones on 2g networks. I'm extremely grateful these browsers exist otherwise I wouldn't have been browsing zdnet, old techradar, w3schools, phpeasystep, betanews etc. while I was 12. They got me into the world of tech and now I am working in it.
Opera mini did support video playback on some phones especially on YouTube. It opens the phone's inbuilt video player with an RTSP link to the 3gp version of the video. I guess it stopped working when YouTube removed RTSP? Oh that brings a lot of memories about real player which was also available on j2me as well as pc.
I've used it recently here's my experience: It's incredible that such an old browser still works. Most websites don't load but basic browsing is still possible. Even gmail still worked until a few years ago.
The browser is only really suitable for reading text such as articles etc. A great example is hacker news. Just to prove this point i wrote this comment on my old nokia!
The thing about the browser is that it can only load static elements. That means no ads autoplay or pop ups. Only the necessary text will appear and the page loads relatively fast. This, in my opinion makes opera mini a SUPERIOR browsing experience to a modern smartphone. I realised how much unnecessary junk is usually on the page.
It is totally antiquated, but it's sad how such an obsolete piece of technology can be better (in a limited way) to what is used nowadays.
The version launched in 2005 did simple line breaking in the client. It could only do what we called SSR (small-screen rendering), breaking up the site layout into a vertical strip.
With version 4 in 2007 we moved to a model where font metrics are calculated/checksummed/uploaded if needed and then the layout happens on the servers using the full Presto engine. This enabled a full "iPhone-like view" (mobile-friendly web pages were a rarity back then - and being able too zoom in/out and pan around was exciting stuff). This is basically the protocol that's still running.
Someone reverse-engineered the protocol here:
https://github.com/grawity/obml-parser/blob/master/obml.md
(I left about Opera about a decade ago.)
WAP/WML was a near total flop, although oddly had a second life on interactive TV in the UK where Sky funded creation of a WML browser in OpenTV to enable faster turnaround of new apps. (OpenTV was neither open nor particularly consistent between devices, and the normal mode of delivering content via satellite was difficult logistically).
As someone else mentioned imode was way more popular, at least in Japan. (I happen to have been slightly involved in the relative failure of a rollout in France). NTT went to massive lengths to get Japanese companies up and running on imode, such that by about 2002 huge amounts of ecommerce were being done on it, including B2B. I know of major electronics components vendors doing >70% of their sales (by value) via mobile Internet in Japan by 2005. imode didn't really do well in the 3G transition though, and the increased complexity of the phones led to a lot of bad software on them, which was the opportunity Apple ultimately exploited.
The result of all that is in 2005 J2ME was surprisingly capable, but virtually no one was using it, and so Opera Mini was kind of by itself for a while. The company that does a lot of transport ticketing in the UK had at one point a phenomenal mobile banking prototype (that worked) but was told by the banks they simply weren't ready for it, and the banks didn't think the customers were either, which was actually the truth, and so why they pivoted.
Compatibility with J2ME was really fragmented and this was the time when there were literally thousands of phone models in the market at the same time, so it took a sizeable effort to ship something that worked well.
With Opera Mini we had about 5-6 people (developers+QA) working on J2ME device compatibility continuously. And a really impressive physical device library. I think it had about 2.5k devices in the end.
Once you got really popular though, most device manufacturers started including compatibility with your app in their shipping criterias, so then it suddenly got really easy.
I will say though, thank you for your work on it. It was an awesome product back in the day, I was incredibly grateful.
It was one of those things that was very surmountable if the market pull would have been there to overcome it, but there wasn't demand because the phone form factors of the time sucked for apps and games.
> With Opera Mini we had about 5-6 people (developers+QA) working on J2ME device compatibility continuously.
You realize this is tiny? To cover things like Blackberry and Brew took significantly more effort than that, and this is pre GPU or camera variation being a thing.
With a high-end Sony Ericsson feature phone, I could multitask(!) between Opera Mini, a J2ME twitter client, IRC client, train timetable app, Google Maps, etc better than a Symbian S60 smartphone could (and iPhone of course couldn't multitask at all) https://kalleboo.com/linked/se_j2me_multitask.jpg
Not quite, WAP evolved into WAP 2.0 and WML was replaced with xHTML. For a long period of time WAP 2.0 was the only standard while mobile development evolved. Even as HTML support grew in the mobile space, there was a very solid duration of time where WAP 2.0 was the most supported across the majority of devices and browsers (in the mobile space). And FWIW, I wouldn’t consider WML a flop, because that was the only mobile standard supported on most phones before the iPhone.
Do you have any info on what the iMode technical stack was like? The information available on the internet (at least in English) is scarce.
One oddity of the Japanese setup was NTT essentially ran a cloud, of a huge pile of HP-UX servers with Oracle/JVM etc. somewhere in Yokohama which was running all the backend. When I said NTT went to big efforts to get companies on board this is what I mean: they were incredibly proactive about getting integrations into this happening, to the point of entirely hosting it on site if necessary and essentially doing the work themselves for anyone they thought valuable enough. I don't believe any version outside Japan ever replicated this, and it was the magic ingredient along with persistent data connections.
The closest thing the west saw to that in practice was the Sidekick, but that never got the level of third party support.
It's fairly widely understood that i-mode used CHTML but I'm unfamiliar with the lower levels of the networking stack. App wise there was Java but not normal J2ME. All I can remember that was unique was their scratchpad memory area (which was just way too big), and billing APIs!
https://en.wikipedia.org/wiki/DoJa
Opera Mini also was a big leap up in capabilities compared to the Sony Ericsson built in browse I was using on the k750i. Both in terms of compatibility and also the compressing reverse proxy stuff they did when data was being charged per megabyte.
On the contrary, J2ME was nearly useless without vendor-specific extensions. And the quality of implementations varied quite a bit.
Was it with Bouygues? IIRC they were basically the only provider to advertise i-mode.
Anyway, i-mode might have been a flop, but for a brief moment in time I enjoyed being on the bleeding edge with things like Opera Mini on my Sony Ericsson. Those were the days.
It was. For reasons that now escape me I was doing billing integration work for it.
I would be surprised if they didn't build Webkit with the iPhone in mind.
Wifi on phones was also not quite a thing yet, so I had found an application for S60 phones that allowed them to share a computer's connection via Bluetooth. The range was extremely limited, but enough for me to browse the internet from my bed!
Operators in India and some other countries sell phones where this is pre-installed and websites have to be specially adjusted for keyboard input and low resolution. It's pretty interesting, I want to try it out, they just don't sell those phones here.
That was so nice to read! We were a small team and we really cared about making it as nice to use as possible.
To be perfectly honest though, we kind of built it for ourselves. Mobile data was really expensive and we were addicted to the web. I have a vague memory of mobile data pricing being like 2 USD/MB over 2G in Sweden when we started building it (2004). Sounds insane now. That progress bar clearly showing how many kilobytes of data you were using was a conscious design decision. There was real money at stake for the user.
Just take the SIM and pop it in whatever GSM device supporting the right frequencies and boom cheap unlimited data. It seemed like as long as you didn't use a device AT&T sold they never noticed it wasn't your cheap dumb phone.
It was tricky buying Euro phones. They'd mostly work but usually didn't support the more widespread lower frequencies for AT&T (was it 850 or 900MHz? I don't quite remember). Usually the higher frequencies were well supported like 1900MHz and 2100MHz, but those were pretty hit and miss on coverage and would often die once you went inside a big building.
https://developer.cloudfone.com/blog/cloud-phone-vs.-opera-m...
Disclaimer: I work at CloudMosa, the company that makes Cloud Phone
I used to browse without images and CSS (but only one keyboard shortcut away) when bandwidth was low and web development was amateurish. Opera Mini took another leap forward to move rendering off slow smartphones.
Things have changed a lot in 20 years. My smartphone is probably faster than most computers of that era. And Opera is a zombie company trying to take advantage of its users.
That's an understatement. With the usual caveats that benchmarks lie and all that, here's a pretty fast server I had in 2008 or so vs a modern iPhone[0]. The single core scores are 430 and 3427 respectively, and multi-core scores are 745 vs 8494. The phone wipes the floor with the server on normal tasks. On things that use huge amounts of FLOPS like object detection, it's just about 100x faster.
In addition, the entire A18 SoC uses around 10W max, vs the E8400 burning 65W by itself.
If you want to go back to exactly 20 years ago, there's a Pentium 4 vs an iPhone.[1] It had single/multi-core performance of 185/216 at 85W (by itself, not including chipset and RAM), and the phone runs math stuff around 500x faster.
Yes. Your smartphone is many times faster than most computers of that era.
[0] https://browser.geekbench.com/v6/cpu/compare/12190780?baseli...
[1]
I was very sad when Opera stopped its development with version 12 and shut down all its services, including the dev blog and bookmark service. Opera was my main browser in the 2000s, and I used it for web development, as well as an email client and feed reader. Recently, since they have a working email client, I started using Opera again, now Vivaldi (CEO is also Jon von Tetzchner).
Opera mini did support video playback on some phones especially on YouTube. It opens the phone's inbuilt video player with an RTSP link to the 3gp version of the video. I guess it stopped working when YouTube removed RTSP? Oh that brings a lot of memories about real player which was also available on j2me as well as pc.
The browser is only really suitable for reading text such as articles etc. A great example is hacker news. Just to prove this point i wrote this comment on my old nokia!
The thing about the browser is that it can only load static elements. That means no ads autoplay or pop ups. Only the necessary text will appear and the page loads relatively fast. This, in my opinion makes opera mini a SUPERIOR browsing experience to a modern smartphone. I realised how much unnecessary junk is usually on the page.
It is totally antiquated, but it's sad how such an obsolete piece of technology can be better (in a limited way) to what is used nowadays.