Opera Mini

Opera Mini is a mobile web browser developed by Opera Software AS. It was primarily designed for the Java ME platform, as a low-end sibling for Opera Mobile, but it is now developed exclusively for Android. It was previously developed for Windows 10 Mobile, Windows Phone 8.1, BlackBerry, Symbian, and Bada. As of 2018, the Android build is the only version still under active development.
Opera Mini was derived from the Opera web browser. Opera Mini requests web pages through Opera Software's compression proxy server. The compression server processes and compresses requested web pages before sending them to the mobile phone. The compression ratio is 90% and the transfer speed is increased by two to three times as a result. The pre-processing increases compatibility with web pages not designed for mobile phones. However, interactive sites which depend upon the device processing JavaScript do not work properly.
In July 2012, Opera Software reported that Opera Mini had 168.8 million users as of March 2012. In February 2013, Opera reported 300 million unique Opera Mini active users and 150 billion page views served during that month. This represented an increase of 25 million users from September 2012.
History.
Origin.
Opera Mini was derived from the Opera web browser for personal computers, which has been publicly available since 1996. Opera Mini was originally intended for use on mobile phones not capable of running a conventional Web browser. It was introduced on 10 August 2005, as a pilot project in cooperation with the Norwegian television station TV 2, and only available to TV 2 customers.
A beta version was made available in Sweden, Denmark, Norway, and Finland on 20 October 2005. After the final version was launched in Germany on 10 November 2005, and quietly released to all countries through the Opera Mini website in December, the browser was officially launched worldwide on 24 January 2006.
On 3 May 2006, Opera Mini 2.0 was released. It included new features such as the ability to download files, new custom skins, more search engine options on the built-in search bar, a speed dial option, new search engines, and improved navigation.
On 1 November 2006, Opera Mini 3 beta introduced secure browsing, RSS feeds, photo uploading and content folding into its list of features and capabilities. Content folding works by folding long lists such as navigation bars into a single line that can be expanded as needed. A second beta was released on 22 November, and on 28 November, the final version of Opera Mini 3 was released.
Opera Mini 4.
On 7 November 2007, Opera Mini 4 was released. According to Johan Schön, technical lead of Opera Mini development, the entire code was rewritten. Opera Mini 4 includes the ability to view web pages similarly to a desktop based browser by introducing Overview and Zoom functions, and a landscape view setting. In Overview mode, the user can scroll a zoomed-out version of certain web pages. Using a built-in pointer, the user can zoom into a portion of the page to provide a clearer view; this is similar to the functionality of Opera's Nintendo-based web browsers. This version also includes the ability to synchronise with Opera on a personal computer.
Prior to Opera Mini 4, the browser was offered in two editions: Opera Mini Advanced for high-memory MIDP 2 phones, and Opera Mini Basic for low-memory MIDP 1 phones. Opera Mini 4 replaced Opera Mini Advanced. Originally, Google was the default search engine on Opera Mini. On 8 January 2007, Opera Software and Yahoo! announced a partnership to make Yahoo! search the default instead. On 27 February 2008, Opera Software announced that Google would henceforth be the default search engine for Opera Mini and Opera Mobile.
A version for the Android operating system was announced on 10 April 2008. Rather than port the code to Android, a wrapper was created to translate Java ME API calls to Android API calls.
Later versions.
On 16 August 2009, Opera Software released Opera Mini 5.0 beta, which included tabbed browsing, a password manager, improved touch screen support, and a new interface, with a visual Speed Dial similar to the one introduced by Opera Software in their desktop browser.
The browser's use of compression and encrypted proxy-based technology to reduce traffic and speed page display has the side effect of allowing it to circumvent several approaches to Internet censorship. Since 20 November 2009, there have been reports from Chinese users that when they use Opera Mini, they are redirected to an error page leading them to download Opera Mini China version. This is almost certainly due to the Chinese government being concerned that users are using Opera Mini to bypass the Great Firewall of China. Opera agreed to route all of their traffic through government servers.
In 2009–10: A press release announcing that Indonesia's Smart Telecom had chosen Opera Mini for their devices said that Opera Mini was the world's most popular mobile browser, and that Russia and Indonesia were the largest users.
An iPhone version was approved for distribution by the Apple App Store on 13 April 2010.
On 3 September 2014, Opera started taking registrations for the beta version of Opera Mini for Windows Phone. Opera Mini was released for Windows Phone six days later, on 9 September 2014, as a public beta. This marked Opera's return to Microsoft's mobile platform since the demise of Windows Mobile.
Functionality.
Opera Mini uses a server to translate HTML, CSS and JavaScript into a more compact format. It can also shrink any images to fit as the handset screen. This step makes Opera Mini fast.
Most Opera Mini versions use only the server-based compression method, with maximal compression but some issues with interactive web apps. Opera Mini can operate in three compression modes: "mini" (or "extreme" on Android versions), "turbo" (or "high" on Android versions) and uncompressed. The turbo and the mini modes reduce the amount of data transferred, and increase speed on the slower connections.
The functionality of the Mini mode is somewhat different from a conventional Web browser, with the amount of data which has to be transferred much reduced, but with some loss to functionality. Unlike straightforward web browsers, Opera Mini fetches all content through a proxy server, renders it using the Presto layout engine, and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called Opera Binary Markup Language (OBML), which Opera Mini can interpret. According to Opera Software, the data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens. The turbo mode was added later and is similar to Mini mode but bypasses compression for interactive functionality, at the expense of less extreme data compression. The turbo and uncompressed modes use the "WebView" on Android and the WebKit layout engine on iOS.
The Java ME and Windows Phone versions only have access to the mini compression mode. Other versions can switch between various modes, gaining functionality at the cost of lower or no compression. Opera Software claims that Opera Mini reduced the amount of data transmitted up to 90% in the mini (extreme) mode; in turbo (high) mode, it reduced amount up to 60%, similar to Google Chrome's Reduced Data mode. 
 When a user browses the web using Opera Mini, the request is sent, via the connectivity available at that moment by the device (Mobile broadband, Wi-Fi or any other option given by the device) to access the Internet, to one of the Opera Software company's proxy servers, which retrieves the web page, processes and compresses it, and sends it back to the client (user's mobile phone).
By default, Opera Mini opens one connection to the proxy servers, which it keeps open and re-uses as required. This improves transfer speed and enables the servers to quickly synchronize changes to bookmarks stored in Opera Mini server. 
The Opera Software company maintains over 100 proxy servers to handle Opera Mini traffic. They run Linux and are massively parallel and massively redundant."
Standard support.
From 16 March 2015, Opera Mini's extreme compression mode uses an upgraded version of the Presto layout engine that is included in Opera 12. Consequently, Opera Mini supports most of the web standards supported in Opera 12. Presto's development has continued for Opera Mini and further support was added for HTML5 input types, CSS Flexbox model, CSS rem units and ECMAScript 5. However, unlike the desktop edition of Opera, frames are flattened because of client limitations, and dotted or dashed borders are displayed as solid borders due to bandwidth and memory issues. As Opera Mini reformats web pages, it does not pass the Acid2 standards compliance test. Opera Mini supports bi-directional text, meaning that it can correctly display right-to-left scripts such as Arabic and Hebrew in addition to languages written left-to-right. However, it will not display right-to-left text if the font size is set to "small" or "very small". Indic and Chinese scripts are supported only if an appropriate font is installed on the device as the default system font.
Small-Screen Rendering.
For devices with screens 128 pixels wide or smaller, the default rendering mode is Small-Screen Rendering (SSR). In this mode, the page is reformatted into a single vertical column so that it need only be scrolled vertically. Long lists and navigation bars are automatically collapsed (hiding most of the list or bar) by a feature known as "content folding". A plus (+) sign is displayed next to the collapsed content; when clicked, it toggles content folding. Web developers can turn on SSR on the desktop edition of Opera to see how their websites will be displayed on mobile editions of Opera. In SSR mode images are scaled down to no more than 70% of the screen size in either direction.
Complex script rendering.
Opera Mini can send content in bitmap image form if a font required is not available on the device, which is useful for indic scripts. Hindi, Bengali and a few other non-Latin character sets are supported.
JavaScript support.
When browsing the Web in Opera Mini mode, JavaScript is "processed" by the proxy server, and is merely "rendered" on the device. This limits interactivity. Scripts cannot be run in the background on the device. If a script is paused (on the server), the browser must communicate with the server to unpause it. JavaScript will only run for a couple of seconds on the Mini server before pausing, due to resource constraints. On Opera Mini, before the page is sent to the mobile device, its codice_1 events are fired and all scripts are allowed a maximum of two seconds to execute. The codice_2 and codice_3 functions are disabled, so scripts designed to wait a certain amount of time before executing will not execute at all. After the scripts have finished or the timeout is reached, all scripts are stopped and the page is compressed and sent to the mobile device. Once on the device, only a handful of events are allowed to trigger scripts:
When one of these events is triggered, it sends a request to the proxy server to process the event. The proxy server then executes the JavaScript and returns the revised page to the mobile device. Pop-ups, if not blocked by the JavaScript restrictions, replace the web page being viewed. Opera has published Web content authoring guidelines to assist authors.
Opera Mini can run in Turbo and Uncompressed modes, in addition to Mini mode. In Turbo mode, the amount of data transferred is still much reduced by compression, but, unlike Mini mode, JavaScript is not intercepted by the server and works properly.
Privacy and security.
Opera Mini encrypts the connection between the mobile device and the Opera proxy server for security. The encryption key is obtained on the first start by requesting random keys a certain number of times. Opera Mini supports most advanced version of Transport Layer Security (TLS) protocol
it also supports modern secure ciphers like AES-GCM and ECC. 
However, Opera Mini's Extreme mode does not offer true end-to-end security when visiting HTTPS encrypted websites only for data saving purpose. With "Extreme/Mini mode" when visiting an encrypted web page, first the Opera Mini's servers decrypt the page, compress it for data saving then re-encrypt it themselves and finally forward it to the destination phone.
While browsing a secured site with "High/Turbo mode" or "Uncompressed mode" the connection isn't intercepted by the Opera Mini server. That means High mode or Uncompressed mode does not break end-to-end integrity.
Features.
Opera Mini uses cloud acceleration and data compression technology. Opera Mini servers act as a proxy which compresses and renders the data of web pages before sending it to users. This process helps to load web content faster.
The display may be toggled between portrait and landscape mode by keystrokes, or will switch automatically on phones with orientation sensors. The default orientation can be changed.
The image quality may be set to "Low", "Medium", or "High". Page load times are affected by the chosen image quality setting.
Opera Mini supports only one font, which can be set to "Small", "Medium", or "Large" size. If a web page uses Courier or a generic monospaced font, the one font is still used, but the characters are spaced out so that each character takes up the same amount of space.
Browsing tools.
Opera Mini's address bar is capable of using several pre-configured search engines. The user can add more search engines. The default search engines are Google and Wikipedia.
Opera Mini features an ad blocker. When activated, Opera Mini servers try to filter out advertisement before rendering the page and sending it to the client phone.
Opera Mini features an AI-powered news aggregator, serving personalised news, night mode and private browsing. And can save bookmarks, download files, streaming, save web pages for offline reading, and it remembers the user's browsing history.
Opera synchronization.
By signed into an Opera Account; Saved Bookmarks, Speed Dials, Opened Tabs could be backed-up and synchronized between different phones or with the Opera browser on computers, using the "Opera Sync" service. And can be accessed through web interface at https://sync.opera.com/web/
Market adoption.
The overall share of the Opera family in the mobile Web browser market was about 5.01% in June 2018.
Data centers.
Opera Mini relies on data centers processing the Web page before sending it back to the phone in a compressed binary form. Opera Software operates data centers in the United States, Norway, China, Korea, Poland and Iceland.
Network operators.
Several mobile network companies pre-install Opera Mini on their mobile phones, including Telenor, AT&T, Vodafone, T-Mobile, KDDI, Omnitel, Pannon GSM, Telefónica Móviles de España and TMN.
Devices.
The following devices came pre-installed with Opera Mini . Some listed devices only included Opera Mini when bought from certain network operators.
While not officially supported on Chrome OS, Vlad Filippov published a guide that teaches how to run Opera Mini inside the Chromium browser.