Opera Mini

Opera Mini is a mobile web browser made by Opera. It was primarily designed for the Java ME platform, as a low-end sibling for Opera Mobile, but only the Android build was still under active development. It had previously been developed for iOS, Windows 10 Mobile, Windows Phone 8.1, BlackBerry, Symbian, and Bada.

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.

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. The 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. 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 had been 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. The browser was released for Windows Phone on 9 September 2014, as a public beta, the first Opera version for Microsoft's mobile platform since the discontinuation 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 mini modes reduce the amount of data transferred, thereby also increasing speed on 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 an interpreted markup language called Opera Binary Markup Language (OBML) supported by Opera Mini. According to Opera Software, the data compression makes transfers about two to three times faster and uses less data, 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 requests a Web page using Opera Mini, the request is sent, via the connectivity used by the device to access the Internet (typically mobile broadband or Wi-Fi), to a proxy server run by the Opera Software company, which retrieves, processes and compresses the full page, and sends the smaller processed page back to the client's device. 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.

When the Opera Software company launched Opera Mini in 2006, they had over 100 Linux-based proxy servers to handle Opera Mini traffic.

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 and 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 only needs to 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  events are fired and all scripts are allowed a maximum of two seconds to execute. The  and   functions are disabled, so scripts designed to wait a certain amount of time before executing will not execute. 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.
 * : Fires when the user navigates away from a page
 * : Fires when a form is submitted
 * : Fires when the value of an input control is changed
 * : Fires when an element is clicked

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. Opera Mini can be configured to choose compression mode automatically.

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 such as 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 is not intercepted by the Opera Mini server so that High and Uncompressed modes do 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". Load times of pages with images 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 supports 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 has an AI-powered news aggregator, serving personalised news, night mode and private browsing. It can save bookmarks, download files, and web pages for offline reading. It supports streaming and remembers the user's browsing history.

Opera synchronization
If signed into an Opera Account, Saved Bookmarks, Speed Dials, Opened Tabs can 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 Opera synchronization.

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 were supplied pre-installed with Opera Mini. Some listed devices only included Opera Mini when bought from certain network operators. While not officially supported on ChromeOS, Vlad Filippov published a guide that teaches how to run Opera Mini inside the Chromium browser.
 * Motorola V980, E2, L7, i1
 * Nokia Nokia Asha series, 2610, 2700 classic, 2730 classic, 3110 classic, 3120 classic, 3500 classic, 3600, 3600 slide, 3710 fold, 3720 classic, 5000, 5070, 5130, 5230, 5310, 5500 Sport, 5610, 6080, 6085, 6103, 6131, 6233, 6288, 6300, 6303 classic, 6600 slide, 7373, 8800 Arte, Nokia C2-01, Nokia C3, E65, N71, N73, N95 and other S40 and S60 phones.
 * Microsoft and HMD Nokia phones with a preinstalled browser and running s30+ all run on the Opera Mini Browser, along with 3310 (2017) that run Smart Feature OS for 3G version.
 * Sony Ericsson K310i, K530i, K550, W200i, W205, W760i, W910i, Z530i, Z550i, Z780i
 * Samsung X160, E570, E420, F480, X510, X650, E900, E250, U700, ZV60, D900i
 * LG K880, KU250, KE970, and KU311
 * SAGEM My411x and P9521
 * BenQ-Siemens EL71 and EF81
 * BenQ E71 fight
 * Orange Rio (ZTE-G X991)