iCab Mobile Modules and Apple

Recently I received a phone call from Apple. They asked me to remove the ability to download and install modules from the internet in iCab Mobile. So as of iCab Mobile 4.6, the ability to download and install modules is no longer working.

But the modules feature is not gone. I’ve simply included all modules which could be downloaded before from my server directly in iCab Mobile, so all the modules are automatically available without downloading them before. So for most users nothing serious has changed.

The only problem is with the modules (written by users) which I don’t know of. Users can no longer write and share their own modules themselves. If you know of such a module or if you still want to write a module, please contact me. I can add these modules to the next updates of iCab Mobile and this way the modules can be still shared with all iCab Mobile users.

I really can’t say that I like Apple’s decision, and technically it doesn’t make much sense.Β Β “Modules” for iCab Mobile are simply a more comfortable variation of bookmarklets, and these are still allowed by Apple (and I assume Apple can not forbid that the user will save and use bookmarklets). Maybe if I would have called the modules “smart bookmarks” and would have made installing them much more complicated, Apple would have never asked to remove the ability to download them from the internet. The great user experience of installing modules has probably created a suspicion that these modules are more than just a piece of JavaScript code. From a pure technical point of view, if Apple does not allow to download modules (JavaScript code), Apple would also have to disallow to load web pages in general, because these do also contain JavaScript code.

I think the current solution in shipping all modules together with iCab Mobile should be fine for all users and should not cause much trouble. Hopefully one day Apple will rethink their decision and will allow module downloads and also some other stuff again.

64 thoughts on “iCab Mobile Modules and Apple

  1. This is very sad news. Seems that Apple is constantly extending its restrictions for the AppStore. This behaviour can just be interpreted as a way to try to punish developers for user friendly features. I’m a developer myself and I always feel threatened by the review process. Did they tell you why you need to remove the feature? I really hope other platforms catch up so the pressure on Apple to open up a little more is growing.

    I wonder if you could replace the downloading by imprting via an URL scheme e.g. build a page of you modules and to install put the data in a custom URL like ‘icab-module:data…’. Would be interesting if Apple judges this technology also as ‘delinquency’.

  2. Ohhhhhhhhhh, nooo!! πŸ™

    I need these module: icabmodule://dl.dropbox.com/u/2192830/youkioske.module.txt

    Hopefully in the future I can use it. Thanks!

  3. This is sad, but hardly surprising, since it’s perfectly in line with so many of Apple’s latest moves indicating a slow shift in its main business activity, from building universally programmable machines (also known as computers) to consuming-only, nicely designed, and expensive, devices for self-imprisonment (since you don’t need to buy them).

  4. @Dirk
    Downloading and installing the modules was already done by a custom URL scheme. So this is not a solution for the problem…

    Apple didn’t tell me why this feature has to be removed. It seems that the guy at the phone was only allowed to tell me that I have to remove the feature, but not why. And it seems that he didn’t really knew the reasons. I tried to get some information, but there was nothing real.
    The only real thing was the remainder, that “I’ve agreed that Apple can change the rules any time” πŸ˜‰

  5. @Max
    I know of the “youKioske” module, but I don’t know how to contact the author of the module. Before I include third party stuff in iCab Mobile, I need to know if this is OK.

    BTW: The new version of iCab does not delete any existing modules. So if you update normally (without deleting the App from the device), you’ll not loose any of the modules which were installed before. Which means if the youKioske was installed before the update, it is still available after the update. Just do not delete it.

  6. @Max
    Thanks. I’ve already got so far, but I haven’t found any email address yet.
    Also there seems some legal issues with youkioske itself. Which means, if there are legal issues, I can’t ship the module with iCab.

  7. @Alexander Oh, sorry I didn’t know about the feature πŸ˜‰

    I had a similar situation with a little project that was kind of a PhoneGap browser http://www.big5apps.com/ They removed my app from sale and then after a while they called me. In my case they argued that I had a fixed link to the Apple WebApps page in my app. I then left the app removed from the AppStore because I was already feed up by having troubles with the review process http://www.heise.de/newsticker/meldung/Programmierer-kritisieren-Apples-App-Store-205628.html

    Anyway, in another app I was also planning to add Javascript macros and after your experience I see no reason to spend my time on features that might not make it into the AppStore. This is a general problem if you are writing for Apple AppStore: if you sepnd money and time on developing an app and Apple decides to change their mind you might be ruined. The worst case is when they like your idea and want to build an app like this of their own and kick out the competition πŸ˜‰

  8. Found this module for downloading youtube videos by keywenty

    //startconfig
    //id=net.iphoops.youtubedownload
    //icon=iVBORw0KGgoAAAANSUhEUgAAACwAAAAkCAYAAADy19hsAAAWnGlDQ1BJQ0MgUHJ…

  9. @Magnusmoodmaker
    The module should no longer be necessary at all. You can just use the standard “download” feature here, tap-and-hold the finger on the video and select “download” in the contextual menu.

  10. Ok, thanks a lot, was getting a bit worried πŸ™‚
    those who doesn’t know iCab jailbreak’s to get the YouTube download feature!

    Another cool ting iCab users should know! : πŸ™‚
    If you open downloaded YouTube music videos in TwistedWave you can send the audio to both iTunes and e-mail in several formats, and of course edit them if you want. For example cutting out cheering and crowd noise in the start and end of a World Idol Clip.

  11. @Bill French
    The Modules feature is still available in iCab Mobile. But because I’m no longer allowed to let iCab download and install Modules from the Internet, testing modules is a little bit difficult.

    For testing you could first convert the code of the module as Bookmarklet. This can be installed by yourself and tested. If the code works as bookmarklet, you can format it as Module and send it to me so I can add it to the next iCab Mobile release.

    I know that this is very complicated. But unfortunately there seems to be no other way.

  12. Hi,
    I really need the video download module. That was very very useful. Can we have it again? Please responce…

  13. @Pooya
    You don’t need this module. Just use the standard download capability of iCab Mobile. Tap-and-hold your finger on the object you want to download and select “Download” from the contextual menu.

  14. Bit of a big ask, but I don’t suppose there’s a module for adding references to Mendeley coming out in the foreseeable future? They have a bookmarklet but I can’t get it to work on the iPad…. It’d be a massive plus for me and other students/ academics who are trying to use the iPad as a study/ research tool!

    Thanks,

    Archy

  15. @Archy de Berker
    Where can I find this bookmarklet? In case this bookmarklet can be made functional on the iPad, this could be also used as the core of a module.

  16. You killed the performance with the last update! Please fix it, please!!!

  17. As long as I am not able to install modules the program is no longer useful for me!

  18. Actually the only way out of this is obey what apple says. Also you could implement an app for cydia, free one, that installs the modules (and only did that) the same way Icab 4.6 did. I mean Icab only need to reads all the modules in its modules directory then an cydia app could download any file into that directory (i think that could be really easy to create). That way Icab mobile could keep been usefull, otherwise i could turn into skyfire or similar.

  19. This is a beautiful! Apple are probably annoyed you have created a better iPad browser than they have!!. A 1password module would be amazing… And make browsing as good as on a desktop… You should approach them and see if they would be willing to work together to create this… I’d lov to not have to keep flipping between apps to log into a website…
    Dan

  20. The Readability and Evernote modules have made me a faithful iCab convert. I’ve been searching far and wide for a way to easily capture a complete Web page to Evernote from my iPad/iPhone and iCab is the only thing I’ve found. And it works brilliantly. Keep up the great work!

  21. New to the thread — and the browser….wondering if there is or will be a way to “bookmark all tabs” — this is my iphone browsing holy grail. Thanks.

  22. @spelz
    What exactly should this “bookmark all” feature do? Should it create an individual bookmark for each Tab or one single bookmark for the whole group of Tabs?

  23. Also, I too would be grateful for a Springpad module. I have very little understanding of programming. That said, if modules are a “variation of bookmarklets,” why can’t they be synced to the browser? This may be an idiotic question, but again. I have no understanding of programing.

  24. @Sigil
    It is planned to implement the modules feature in Desktop iCab as well, though it is not that important here.

    What do you mean by “Springpad” module? What should this module do?

    Modules use the same underlying technique that is used by bookmarklets: JavaScript. But because bookmarklets are not that easy to handle on a small screen like the iPad, I’ve implemented the modules, for much a much more comfortable way to use them.

    Before it was possible to load the modules you need from the internet , but Apple didn’t like this and forced me to remove the ability to let the user download and install the plugins. So I have to include all the modules within iCab. And therefore “syncing” the modules is not longer needed, all users do already have all the modules.

  25. Alex, icabmobile is great ………Few months before.
    I am now facing performance issues with it (lagging, slow response), so now switch to opera mini which give me very good browsing experience but less functionality.
    Hope icabmobile can improve its performance in the near future or any tricks to fine tune the performance? Thx a lots your work.
    Mwyc

  26. Also, is it possible to locate the netvigation buttons (especially the back button) at the bottom of the ip4?
    Mwyc

  27. @mwyc
    You can configure the toolbars yourself in the current version of iCab Mobile. So you can
    move the back button to the lower toolbar. Check out the “Toolbar icons” option within the in-app settings.

    The jerky scrolling is the “normal” behavior of the UIWebView with large or complex web pages. This is an issue from the beginning and Apple has never fixed it. And therefore developers started to fix this issue themselves by using a special private system call. But now Apple seems to look for the usage of this special system call and forces the developers to no longer use it. Therefore you’ll notice that many Apps started to have a jerky scrolling recently… So we can only hope that Apple fixes this issue in the iOS or at least makes this private call public in the future. Otherwise we have to live with the jerky scrolling if Apple wants it this way.

  28. Hi Alex

    Is it possible to add FTP client to your app? I’d like to copy downloaded files to FTP server.

    Very appreciated

  29. Do NOT purchase icab mobile app for iPhone . It doesn’t work and support email does not work.

  30. @John Krick
    Of course iCab Mobile works and the email works as well. But please note: the world is big and has different time zones and where I live it was just a few hours after midnight when your mail arrived (and the new year has just begun). You can’t really expect that I can answer within a few minutes to your mail. And when I look at the time stamp of this comment and the timestamp of your email, you certainly wasted not much time before posting warnings and complains.

    Also if you are the only one with this problem, you should assume that something went wrong while downloading and installing the App or there’s a hick-up within the iOS itself. To fix this, re-install the App (fixes a damaged/broken App) and maybe also reboot the device (fixes “hick-ups” of the iOS, which can be normal when the device is running for months).

  31. Hi
    Downloading YouTube videos doesn’t work anymore. Is there a way to get this feature back? Tried to hold finger on video and press download this file but I get : “error loading this video”
    I still have the feature on my iPad and I don’t dare updating the app out of fear it will disappear.
    So, will it disappear when updating? And is there a way to get it back for the IPhone?

  32. Hi Alexander,

    I like your blog wicht I only just discovered after searching something about UIWebView. Keep up the good work with iCab!!!!
    I wandered if you know that Apple has reversed its position with regards to interpreted languages. I think (but am not entirely sure about the timing) that at the time you received this phone call, interpreted languages were not allowed at all, period. But now, the rule is: interpreted languages are allowed as long as the content is never downloaded, and if the content is downloaded, it has to be JavaScript running in an UIWebView. I don’t know if Apple would allow downloaded JavaScript if your UIwebview has a mechanism that allows you to communicate to the objective C layer. But it seems to me that you are pretty safe if you’d added a text input area for JavaScript. So, maybe that is an idea for you.

Leave a Reply

Your email address will not be published. Required fields are marked *