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.[37] A page is compressed, then delivered to the phone in an interpreted markup language called Opera Binary Markup Language (OBML) supported by Opera Mini.[38] According to Opera Software, the data compression makes transfers about two to three times faster[21] and uses less data, and the pre-processing improves the display of web pages not designed for small screens.[39] 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.[40] Other versions can switch between various modes, gaining functionality at the cost of lower or no compression.[41] 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.[42][43][44] 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.[16]
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.[45] 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.[45] 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.[46][47] Opera Mini supports