Why do you not integrate fully with my Samsung device?
Samsung made changes to the Stock browser on the 2.x Android devices. They customised it by adding their own, undocumented, folder support.
- Unfortunately Samsung will not release the details of what changes they made. Without the changes, I do not know how to correctly implement their folder functionality - early attempts made the browser crash constantly on startup. Should I mention that the Android source code is LGPL so Samsung should release the source of their modifications to it...?
- Some people have assumed this is an easy task as they have used their root access to copy the db from their Samsung device and browsed it externally or through a special sqlite browser app. Unfortunately normal apps cannot use that root access to gain full visibility and control of the database. Apps are restricted to what the Browser's ContentProvider will allow and respond and *that's* the missing glue that my app has no chance but to communicate through.
- Samsung folder functionality is incompatible with stock Honeycomb/ICS Browser's folder functionality. Samsung owners will *not* be able to upgrade their device to Ice Cream Sandwich without losing their bookmarks or using some conversion app. This makes the effort of integrating a time limited opportunity - once most Samsung devices are on ICS there is no point doing this effort.
- There are indications that each new Samsung device has a slightly tweaked Browser. Given there are currently 213 different Samsung devices (source: Android developers console, Jan 2012), this means (worst case scenario) 213 subtle tweaks that my app has to be aware of. This is beyond maintainable - especially since Samsung won't release emulator images for us to test the changes. (*)
(*) Officially, you can register on their innovator website and use a Samsung device "remotely". But the registration process always returns an error and Samsung will not respond to any emails sent to them by angry developers, myself included. Once up and running, the emulators are clumsy, non responding and would require significant changes to each app to "upload" the test data required. I don't believe it's worth the huge amount of effort.