Maximiliano Firtman's articles, notes and learning experiences for devs-firt.dev

Axis, Opera Mini, pseudo-browsers and alternatives to Safari on iOS

Maximiliano Firtman avatarby Maximiliano Firtman Twitter @firt About Newsletter

About 3 min reading time

Yahoo! has just released the new Axis app for iOS and desktop, promoted on some blogs as a new browser. It’s a good opportunity then to explain how this kind of apps work and why they are NOT browsers. If you are a web developer it’s important for you to know what to expect for this app.

Pseudo-browsers #

I know but at some point it’s a matter of semantics. I like to call this apps pseudo-browsers: they pretend to be browsers.

A pseudo-browser rendering a web page

If you have an iOS or Android device and you’ve used Twitter or Facebook you’ve already deal with the idea. When you open a link on those social networks you get an embedded browser and it’s basically using the UIWebView component on iOS and the WebView on Android (image at the right).

You are right. It’s the same component that is the base of native web apps –such as PhoneGap apps-. It’s not 100% the default browser embedded on an app, but it’s quite similar. Basically, both the default browsers (Safari and Android Browser) uses at some point the same code as the web views. However, browsers and web views have also differences in behavior, such as JavaScript execution engines or other HTML5 APIs.

On iOS –that’s for iPhone and iPad-, Yahoo! Axis, iCab Mobile, Skyfire, Dolphin, Mercury Web Browser, and other dozen of apps on the AppStore are not browsers, just apps using the default web view adding different behaviors on the UI, on the search mechanism or sharing features than the default Safari.

For a web developer or designer, it’s the same as the web view. That means that there is no new or removed API than what you can find using the default rendering engine. They are not really adding fragmentation to the mobile web world.

What about Android browsers? #

On the Android side we do have different real browsers, such as Firefox or Opera Mobile with real different rendering and execution engines. And we have also some other pseudo-browsers available for download.

Why can’t we find real browsers on the AppStore for iOS? #

Because of Apple Review Guidelines saying that any application with web content MUST use the default-rendering engine for HTML, CSS and the default execution engine for JavaScript.

What’s the deal with Opera Mini for iOS? #

A sign at Mobile World Congress from Opera Mini

As you know, Opera has its own rendering engine. Well, Opera Mini, Puffin, iSwifter and other browsers, are cloud-based browsers. That means that your code is not being executed on the device but on a proxy server. There is no rendering or execution engine on the iOS so for Apple, the app is not using a different engine on the device.

Opera Mini had troubles to get accepted at the beginning (look at the joke for Steve Jobs Opera did on Mobile World Congress 2010), but finally Apple flexibilized the rule and accepted it and other cloud-based browsers.

Back again to the problem #

Now you understand why there is no Firefox for iOS.

Now you understand why Axis is not a web browser.

Axis may be a tool to browse the web in a different way, but you are browsing the web with a –let me take a break and say- embedded Safari. If your website is being browsed by Axis it’s the same as in the Twitter, Facebook or Flipboard. You can expect mostly all the API support from Safari with an slower JavaScript engine –no Nitro for web view available- and some different behavior on HTML5 APIs.

Yahoo! Axis in action

Some guys were discussing on Twitter that you can say that Google Chrome is not a browser because it’s based on WebKit. Well, wrong! “Based on” doesn’t mean “using”. Chrome is compiling WebKit with additions and removed features, so for developers it’s really a new browser –it has different behavior, and we know that. You can compile your own WebKit flavor on iOS but you will never be accepted on the AppStore -at least with current rules.

This article was first published in mobilexweb.com blog no longer mantained. Public comments were available at the time, and they were removed when re-published.

Half typewriter, half computer

© Maximiliano Firtman (@firt)

firt.dev contains a collection of writings, thoughts, notes and learning experiences for web and mobile app developers authored by Maximiliano Firtman.

Contact me: hi@firt.dev Personal Website Buy Me A Coffee