iCab Mobile - Web Browser

The Internet Taxi for the iPhone, iPod Touch and iPad

© 2009-2014 Alexander Clauss

iCab Mobile is on

YouTube
Dailymotion

Questions & answers about iCab Mobile 8 (2014/03/22)

iOS 5/6

Will be iCab Mobile 8 available for iOS 5 and 6 as well?
Technically iCab Mobile 8 is fully compatible with iOS 5.1.1, iOS 6.x and iOS 7.x. But a bug in Apple's process in submitting Apps for the AppStore does prevent that the App can currently (March 2014) be made available for iOS 5 and 6. As soon as Apple fixes this bug, I'll make the App available for iOS 5 and 6 again.

The technical background for this issue is the following: When submitting an App to Apple, there's an automated validation of the App, which check technical details of the App, and if the App passes this validation, the App is reviewed by real people and if it passes the review it will be made available in the AppStore. Currently, there's a bug within the automated validation which has the result that all Apps which use a certain iOS 7 framework will be falsely rejected if these Apps are not only targeting iOS 7.x but also iOS 5 and 6. So until Apple fixes this bug, I have to remove support for iOS 5/6.


User Interface

Why is iCab reloading web pages when switching Tabs?
This only happens when the device is running out of free main memory (RAM). When the device is running out of free memory iCab will release as much memory as possible, which includes the web pages within inactive Tabs.

The number of Tabs that can be opened before the device is running out of memory depends on the web pages themselves (more complex web pages with many photos or videos require more memory than simple text-based pages), the device model (currently the built-in memory ranges from 256 MB (iPad 1, iPod Touch 4G) up to 1 GB RAM (iPhone 5s, iPad 3, 4, Air)), the background Apps, the iOS version (as a rule of thumb, the newer the iOS release, the more of the available memory it needs for itself).

In the Settings ("Other" section) you can enable the "Memory savings Mode" (which is enabled by default) to reduce the memory usage for inactive Tabs. Enabling the memory savings mode will slightly slow down switching between Tabs, but on most devices this is hardly noticeable.

It is even possible to configure iCab in the "Other" settings to no longer release the web pages in inactive Tabs when the memory is running out. But it is not recommended to do this in general. If the memory is running out and the iOS is unable to get enough memory to continue, it starts to terminate Apps, even the App in the foreground.

Why are all the Tabs closed after leaving the App and coming back later?
By default iCab keeps all the Tabs open, but you can change this in the settings.

There's and option "Open At Launch" in the "App Start" settings, which tells iCab what to open when it is launched. iCab can either keep or restore the last session (keep all Tabs open), open the homepage, the QuickStarter or an empty page. If the Tabs should be kept open, you have to make sure that the "Session" is selected here.

Another option which affects what exactly is opened when launching the App is the "Private Mode". The private mode is supposed to not store any private data, so the Tabs are not stored forever (they are considered as private data). By default iCab will only keep the Tabs open for a few minutes after leaving the App, so you can at least leave the App for a short time without losing anything. But when leaving iCab for a longer time, the Tabs and other private data will be lost while the private mode is enabled. In the "Privacy"settings of iCab you can configure the details about when and which private data is deleted in private mode.


Web Sites, Networking

Why are there issues uploading files?
As of iOS 6 and later the web engine of the iOS has native support for uploading photos and videos from the photo album. Uploading other files is not supported by the web engine. Under iOS 5, the web engine does not have any support for uploads at all.

In order to upload other files than photos and videos from the photo album, iCab Mobile can provide its own file upload capability by replacing the original file select button (which only allows selecting photos and videos) by its own file select button (which allows to select other files as well). This way iCab is able to upload all kinds of files, in addition to photos. But there are limits. iCab's own file select button can not get access to the JavaScript "file" and "FileReader" API, and therefore upload forms which rely on these APIs do not work in iCab Mobile when uploading other files than photos.

In the Settings of iCab Mobile ("Network" settings) you can configure if iCab should use the upload capabilities of the iOS or the one from iCab Mobile.

Using the upload capabilities of the iOS will work on almost all web pages but is limited to photos and videos from the photo album and is only working under iOS 6 and later. Using iCab's own upload capability will allow to upload all file types, even under iOS 5, but it can not work on all web sites.

How can I let iCab Mobile fill out forms automatically?
For standard login forms, iCab behaves a little bit different than other browsers to get more flexibility and also more security and privacy.

First of all, you have to save the forms manually by using the "Save forms" item from the "Action" menu. Saving the form manually has the big advantage, that you can control what exactly will be saved. You fill out the form with all the data that should be saved, then you use the "Save forms" item. The forms in it's current state will then be saved. This way you can explicitly exclude certain form fields to be saved.

Switch on the option "Auto fill out forms" in the settings (Web sites > Save & Fill out forms) if iCab should automatically fill out the forms which were saved before.

Is it possible to switch off JavaScript?
No, this is not possible. The iOS doesn't support switching off JavaScript for third-party Apps.

Is it possible use iCab Mobile as default web browser on the device?
No, the iOS will always use Safari as default browser. It's not possible to change the default browser.

But if you install a certain bookmarklet in Safari, you can easily open the page that is currently displayed in Safari in iCab Mobile. See the blog post in the iCab Blog for more information about this.

Can I force iCab to load the Desktop version of a site instead of the mobile version?
Yes, most of the time this is possible.

Most web pages which provide a "normal" and a "mobile" version will determine which version they deliver based on the "Browser ID" (UserAgent) setting of the browser. This setting can be found in the "network" settings of iCab Mobile.

Selecting an ID of a Desktop browser (like "Safari (Mac)") will usually have the result that web sites deliver the "full" version of a page that is meant for desktop browsers.

Please note that if web pages determine mobile devices by their screen size and the touch gestures support, using a certain "Browser ID" might not work.

Also note that some web sites which assume that the browser is a desktop browser do rely on features which are only available on desktop browsers (like relying on a computer mouse or a physical keyboard, or relying on the Flash Plugin) which are not available on the iOS platform. So the desktop version of these pages might no longer fully work.

It is possible to define the Browser ID based on the URL of web pages. This makes it possible to keep the standard Browser ID ("Safari (iPad)" or "Safari (iPhone)") for most web sites and only use a special ID for those pages which do not work with the standard ID.

Why doesn't it work when I click on links at Google?
There's no problem at all with google pages in iCab Mobile, unless you change the "Browser ID" to certain IDs from Desktop browsers. The reason is that the google page provides different versions of their site for different browsers and platforms. And if google assumes you're suing a desktop browser, then it also assumes that you're using a computer mouse and the site will then rely on certain actions you can do with a mouse but which can not be done with a touch screen.

For example the site uses so called "hover events" to trigger certain actions on the web page just by moving the mouse cursor over a link, without clicking. On a touch-based device this is impossible, triggering an action always require a touch (click). Apple tries to solve this issue within the iOS by simulating the "hover event" by a "touch" as well, which then requires a second touch to actually trigger the "click" event. Therefore if you really want to use the google page with a "Browser ID" of a desktop browser, you may need to click twice to open certain links. The first of these clicks will trigger the hover event, the second triggers the click event and actually opens the link.

In general it is highly recommended not to use a Desktop Browser ID für the google web site (and also some other web sites). You get the best experience when you stick with the Browser IDs "Safari (iPad)" and "Safari (iPhone)". These will be recognized by most web sites as "iPad" or "iPhone" platform and then these sites won't use features anymore which can not fully supported (or not supported at all) by the iOS platform.


Services

Where can I find the sync key for Firefox Sync?
To login in your Firefox Sync account you need the login name (which is usually your email address), the password and the sync key. With all these data, you should be able to login at firefox sync within iCab Mobile.

You can find the Sync key within the preferences dialog of the Firefox browser. In Firefox please open the "Preferences" dialog and then the "Sync" panel. Here click on the link "connect device" and then on the link "I don't have the device with me". This will open a dialog box with the Sync key.

Usually this key is in the following format:

x-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Fragen & Antworten zu iCab Mobile 8 (22.03.2014)

iOS 5/6

Wird iCab Mobile 8 auch für iOS 5/6 verfügbar sein?
Aus technischer Sicht ist iCab Mobile voll kompatibel mit iOS 5, 6 und 7. Aber leider gibt es derzeit (März 2014) einen Bug bei Apple, der es verhindert, dass man Apps in den AppStore stellen kann, die ein bestimmtes iOS 7-Framework verwenden, wenn die App auch noch unter iOS 5 und 6 laufen soll. Daher ist die App derzeit nur ab iOS 7.0 lauffähig. Die Unterstützung von iOS 5 und 6 wird nachgeliefert, sobald Apple diesen Bug behoben hat.

User-Interface

Warum werden Webseiten beim Tab-Wechsel neu geladen?
Die passiert nur dann, wenn dem Gerät der freie Hauptspeicher (RAM) ausgeht. In diesem Fall gibt iCab die Webseiten in inaktiven Tabs frei, um deren Speicher anderweitig nutzen zu können. Wechselt man zu den freigegebenen Tabs, müssen diese dann erneut geladen werden.

Die Anzahl der Tabs die man öffnen kann, bevor der Speicher ausgeht, hängt ab von den Webseiten selbst (einfache Seiten benötigen wenig Speicher, komplexe Seiten mit vielen Bilder können sehr viel Speicher benötigen), dem Geräte-Model (der eingebaute Hauptspeicher reicht von 256 MB (z.B. iPad 1, iPod Touch 4G) bis hin zu 1 GB (z.B. iPhone 5s, iPad Air)), den anderen Apps, die im Hintergrund laufen, der iOS-Version (je neuer die iOS-Version, je mehr Speicher benötigt diese für sich selbst und desto weniger bleibt für die Apps übrig)).

In den Einstellungen kann man unter "Sonstiges" lässt sich ein "Speichersparmodus" aktivieren, der den Speicherverbrauch von Tabs im Hintergrund reduziert. Diese Modus verlangsamt den Tab-Wechsel etwas, was aber auf neueren Geräten kaum spürbar sein sollte.

Es ist in den Einstellungen auch möglich, das Freigeben der Webseiten in inaktiven Tabs bei Speichermangel zu verhindern. Das ist allerdings im Allgemeinen nicht sehr empfehlenswert, denn wenn das iOS nicht mehr genügend Speicher zum Arbeiten hat, wird es dann die App beenden.

Wenn man die App verlässt und später wieder startet, sind alle Tabs geschlossen. Warum?
Normalerweise schliesst iCab keine Tabs, wenn man die App verlässt, d.h. alle Tabs bleiben normalerweise erhalten. Aber das kann man in den Einstellungen ändern.

Es gibt hierfür die Option "Beim Start öffnen" in den "App-Start"-Einstellungen, über die man einstellen kann, was iCab beim Start öffnen soll. Wählen Sie "Sitzung (Alle Tabs)" um alle Tabs offen zu halten.

Aber auch der Privat-Modus beeinflusst, ob beim App-Start die Tabs erhalten bleiben. Ist der Privat-Modus aktiviert, soll iCab keine privaten Daten mehr dauerhaft speichern, und da die Tabs zu den privaten Daten gezählt werden, werden diese im Privat-Modus daher auch nicht dauerhaft gespeichert. Standardmäßig behält iCab nach dem Verlassen des Apps nur noch einige Minuten die private Daten und vergisst diese dann. Startet man iCab rechtzeitig vor Ablauf der Zeit erneut, sind alle private Daten und die Tabs noch vorhanden, kommt man später wieder, sind die Daten weg. Die Zeit, die sich iCab die privaten Daten nach dem Verlassen des Apps noch merkt, lässt sich in den Einstellungen zum Privat-Modus festlegen.


Webseiten, Netzwerk

Warum funktioniert der Datei-Upload nicht überall?
Ab iOS 6 kann die Web-Engine des iOS Dateien zu Webseiten hoch laden, allerdings ist diese iOS-eigene Upload-Funktion beschränkt auf Fotos und Videos aus dem Fotoalbum. Unter iOS 5 gibt es gar keine Unterstützung der Web-Engine für Datei-Uploads.

Damit iCab Mobile auch beliebige andere Dateien zu Webseiten hoch laden kann, bietet iCab zusätzlich auch noch eine eigene Datei-Upload-Funktion an. Diese erlaubt nicht nur das Hochladen von Fotos und Videos, sondern auch das Hochladen beliebiger andere Dateien. Allerdings gibt es Einschränkungen, die iCab-eigene Upload-Funktion funktioniert zwar auf vielen Webseite, kann aber leider nicht auf allen Seiten funktionieren, weil das iOS den Apps nicht auf alle hierfür nötigen Komponenten der Web-Engine Zugriff erlaubt. So funktioniert der Upload nicht auf Webseiten, die die "file" oder "FileReader"-API von JavaScript verwenden.

In den Netzwerk-Einstellungen kann man daher festlegen, ob iCab die Upload-Funktion des iOS oder die von iCab Mobile nutzen soll.

Die Upload-Funktion des iOS funktioniert nahezu überall, ist aber beschränkt auf Fotos und Videos (und funktioniert nur ab iOS 6), die Upload-Funktion von iCab Mobile unterstützte beliebige Dateien und unterstützt auch iOS 5, funktioniert aber nicht auf jeder Webseite.

Wie kann iCab Mobile Web-Formulare automatisch ausfüllen?
Um Web-Formulare automatisch ausfüllen zu lassen, muss man diese einmalig manuell ausfüllen und dann über den Menüpunkt "Formular speichern" aus dem "Aktionsmenü" speichern. Auf diese Weise hat man volle Kontrolle, was genau gespeichert und später automatisch ausgefüllt wird.

Schalten Sie die Option "Formulare automatisch ausfüllen" in den "Web-Seiten"-Einstellungen ein, damit iCab automatisch alle zuvor gespeicherten Formulare ausfüllt.

Ist es möglich, JavaScript abzuschalten?
Nein, das ist nicht möglich. Das iOS erlaubt es nicht, JavaScript abzuschalten.

Ist es möglich, iCab Mobile als Standardbrowser auf dem iPhone anzumelden?
Nein, das iOS wird grundsätzlich den Safari als Standard-Browser verwenden. Es gibt zur Zeit keine Möglichkeit, dieses zu ändern.

Aber Sie können ein spezielles Bookmarklet in den Lesezeichen von Safari speichern. Immer wenn Sie dieses Bookmarklet aus den Lesezeichen von Safari öffnen, wird die aktuell in Safari angezeigte Seite dann an iCab Mobile übergeben und dort geöffnet.

Mehr informationen hierfür finden Sie im iCab Blog.

Kann ich iCab dazu bringen, die Desktop-Version einer Webseite zu laden, anstelle der mobilen Version?
Ja, in der Regel ist das möglich.

Die meisten Webseiten die zwischen einer normalen und einer mobilen Version der Seite unterscheiden, prüfen die Browser ID (auch "UserAgent" genannt), um zu erfahren, welchen Browser Sie nutzen. Diese Browser ID kann man in iCab Mobile frei einstellen (in den Netzwerk-Einstellungen), um somit der Webseite vorzutäuschen, dass iCab ein anderer Browser wäre.

Wählt man eine Browser ID eines Desktop-Browsers (wie z.B. "Safari (Mac)") werden viele Webseiten annehmen, iCab wäre dieser Browser der auf einem Desktop-Computer läuft und dann auch die normale "Desktop"-Version der Webseite ausliefern.

Bitte beachten Sie, dass das nicht immer funktioniert. Ganz wenige Webseiten ermitteln die Platform anhand Bildschirmauflösung, die Unterstützung für Multitouch-Gesten usw.

Außerdem gehen viele Webseiten einfach davon aus, dass bestimmte Hardware (Maus, Tastatur) oder Software (Flash-Plugin usw.) vorhanden ist, wenn diese glauben, der Browser wäre ein Desktop-Browser. Sind diese Komponenten auf einem iOS-Gerät nicht verfügbar funktionieren diese Seiten u.U. nicht mehr vollständig.

Es is möglich, die BrowserID individuell auch für bestimmte Webseiten zu definieren. Damit ist es möglich, die Standard-Browser ID ("Safari (iPad)" oder "Safari (iPhone)") für die meisten Seiten beizubehalten, und nur für die Webseiten, bei denen es nötig ist, andere IDs zu nutzen.

Warum funktionieren Links auf Google nicht mehr?
Es gibt keinerlei Probleme mit der Google-Seite, außer Sie verändern die Einstellung der "Browser ID" auf die IDs bestimmter Desktop-Browser. Google liefert nämlich unterschiedliche Versionen der Seite an unterschiedliche Browser aus, und wenn Google annimmt, man würde bestimmte Desktop-Browser verwenden, dann verlässt sich die Seite darauf, bestimmte Ereignisse einer Computer-Maus zu erhalten, die auf einem Touch-Screen aber niemals erzeugt werden können. Und dadurch funktioniert die Seite dann zwangsläufig nicht mehr wie gewohnt.

Beispielsweise betrifft das die sogenannten "Hover-Events", über die man nur durch Zeigen des Maus-Cursors und ohne zu Klicken bestimmte Aktionen auslösen kann. Auch einem Touchscreen kann man Ereignisse aber niemals ohne Bildschirmberührungen (ohne Klicken) auslösen. Alle hat dieses Problem im iOS so gelöst, dass das Hover-Event ebenfalls durch einen Klick simuliert wird, was dann bedeutet, dass für das "Klick-Ereignis" dann ein zweiter Klick nötig wird (der erste löst nur das Hover-Ereignis aus). Im Falle von Google und einer Desktop-Browser ID bedeutet das, dass man dann zwei mal auf einen Link klicken muss, um ihn zu öffnen.

Aus diesem Grunde ist es empfehlenswert, soweit wie möglich die voreingestellten Browser IDs "Safari (iPad)" bzw. "Safari (iPhone)" beizubehalten. Die meisten Web-Seiten erkennen dann, das sie auf einem iOS-Gerät laufen und berücksichtigen die speziellen Erfordernisse (keine Maus, Touchscreen, kein Flash, kein Java usw.).


Services

Wo kann ich den "Sync-Key" für Firefox Sync finden?
Um sich bei Firefox Sync einzuloggen, benötigt man den Nutzernamen (was in der Regel Ihre Email-Adresse ist), ein Passwort und den Sync-Key (Wiederherstellungsschlüssel).

Den Sync-Key erfährt man normalerweise beim Anlegen eines Firefox-Snyc-Kontos, kann diesen aber auch jederzeit im Firefox-Browser erfahren. Dazu öffnent man in dessen Einstellungs-Dialogs das "Sync"-Panel und klickt dort auf den Link "Gerät verbinden" und dann auf den Link "Ich habe das Gerät nicht bei mir". Dies öffnet eine Dialogbox mit dem Sync-Key (Wiederherstellungsschlüssel). Dieser liegt normalerweise in folgendem Format vor:

x-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx