Last Updated: December 9th, 2012

A few days ago, we were treated to a lovely look at what Tasker, the highly-customizable Android automation app, could look like if it got a nice facelift. Unfortunately, this was done by the Android team and was not representative of any real work being done by the developer. As it turns out, though, the developer behind said application is working on a holo conversion. There are quite a few obstacles to deal with in the meantime:

I started working on a holo conversion about a week ago coincidentally, with half the goal being use of the holo conventions and half replacing under-the-hood deprecated APIs for dialogs etc.

It will probably not be a complete rehash like the video but Honeycomb+ users should feel more at home.

A major difficulty is keeping backwards compatibility, Google's compatibility library has big chunks missing, the main reason I have done nothing with the UI till now. It needs a certain critical mass of 3.0+ users in case I have to abandon new-feature development for pre-ICS users. Still undecided on that one.

Obviously, what this means is that, while we can expect a nice new revamp to the Tasker app, it's going to come with some costs. There is a huge difference between Gingerbread and Ice Cream Sandwich and, as the dev points out, a lot of APIs are going to be removed by Google. At the moment, with the bulk of Android users still on 2.3, it's going to be a big decision to move forward from here on out. Unfortunately, Tasker is a bit more involved than most apps, so updating with a new UI isn't the only thing that needs to be done to ensure compatibility across all versions of Android.

What this also means is that when the new version does come out, Gingerbread users will not be seeing the fruits of this labor. As Pent (the developer) explained:

Sorry pre-ICS people, I've hit a road block and I'm not going to be able to keep pre-ICS backwards compatibility.

The problem relates to support for Google maps, they havn't given complete backwards compatibility. I can show a map but in the same activity (scene edit, location edit) I can't use the backwards-compatibility library for the new style dialogs as well as the 3rd Party backwards-compatibility library for the action bar.

It may be possible with the just-released Google Maps API v2, but then I have to wait for it's (maybe) integration into the 3rd Party compatibility library and spend a good while converting Tasker good to the v2 API, which is dramatically different from the v1 API.

Sorry that I lifted your hopes a few pages back, it seemed back then that everything was doable. I've spent a lot of hours trying to keep backwards compatibility. In the end, if Google had supplied the libraries it would have been possible.

So we're back to the pre-ICS people only getting bugfixes I'm afraid.

This is disappointing for those stuck in Gingerbread-land, but such is the price of progress. Things haven't really changed dramatically for Android since version 4.0 - the platform has remained largely consistent - so hopefully apps like Tasker won't have this problem again. Still, those of you on 4.0 and above will be happy to know that you'll get your update. Even if it doesn't look exactly like the Android team envisioned it.

Source: Google Groups

Eric Ravenscraft
Eric is a snarky technophile with a taste for the unusual. When he's not obsessing about Android, you can usually find him obsessing about movies, psychology, or the perfect energy drink. Eric weaves his own special blend of snark, satire, and comedy into all his articles.

  • http://www.dsaif.tk/ Saif

    Google needs to FORCE manufacturers to update their devices withing one month of OS release. They get it with PDK months ago! When developers can release ROMs on day 1, why can't the manufacturers! They have all the resources to get things working.

    Hope we won't see such API Problems in future.

    • system60

      They do seem to be getting the &*() together lately, surprised to see how many phones are already if not pending to get JB.

    • IamTheFij

      Manufacturers have an obligation of support for the release as the users paid for the software. Open Source developers and roms like CyanogenMod do not have this obligation. This allows them to release versions of Android that might not be stable as users know and expect that.

    • McLean Riley

      I have an s3 and did not have 4.2 on day one. I expect that someone will have it functioning 100% very soon, but it was not day 1. That being said they are much faster than the manufacturers. I think once Samsung or other manufs can stand on their own and say, we are updating the phones not you, then we will see something good come of it. That is how Apple gets it done and it is something I'm envious of.

      • Ed Baker

        Samsung? With the tab2/7 the other half the world gets a jb upgrade. The US? They tell us they won't be respond to upgrade rumors and keep us in the dark if we will ever get an upgrade. They are real good at making a 1 month old NEW system purchase feel outdated and unsupported! Like you said, you have 4.2. I am still waiting to see if I will EVER get 4.1.
        Btw, and love Tasker, registered Tasker, glad to see they support the user!

      • http://www.dsaif.tk/ Saif

        Some well documented devices get ROMs on day 1. Samsung didn't bother to provide the resources for developers to create ROM. Maximum it should take 1 month to update the device.

  • http://twitter.com/Codexx Cody Curry

    Realistically, by the time Tasker has any kind of massive new features for Gingerbread users to be envious of, 4.0 and newer will be the majority. All this update will do is fix things up for ICS users and give Gingerbread users some bugfixes. They aren't going to lose anything they currently have, they'll just stop getting regular updates and support until they upgrade their phone.

  • hyperbolic

    These are great news!
    It seems someone have seen the video about changing to new UI...

  • Kris

    Revamped Tasker UI would be a nice Christmas present for us all (or holiday present).

  • AE35

    It's awesome that he's trying to maintain backwards compatibility but I'm thinking the vast majority of Tasker users have a fresher version of Android either through rooting or hardware upgrades.

    Great app. Glad to hear the fugly will be gone.

  • Floss

    ActionBarSherlock does a much better job of providing a backwards compatible library then the default google one.

    • Mungo

      ABS has a completely different purpose than the support library...but yeah, it's pretty awesome. I think someone at the last I/O said they'll add action bar support to the support library, but so far nothing happened and it'd be pretty late anyways.

      • Floss

        They both have the same purpose, one is just a more complete solution then the other.

    • blunden

      ActionBarSherlock is an extention of the official support library so your statement could be considered a bit misleading. I agree however that it does extra functionality that is importent. It has also contained bugfixes for the support library in the past.

      • Floss

        I don't know how you figure that it's misleading. It adds more support then the official one...how does it matter if it's built on top of it or not?

  • Adam

    Forget the people on 2.3. Anyone who knows how to use Tasker can figure out how to update to a ICS or JB ROM.

    • Mungo

      2.x still has about 50% market share and for many phones - even some which are really popular and not that old - there are no fully working 4.x roms...so, as a developer you sadly can't forget about 2.3 yet.

      • cy_n_ic

        Evo lte on cm10 since root and never turned back. I find it to be quite functional and feature packed.

      • okungnyo

        Yes you can. When looking at market share, you have to look at the percentage of people that will buy your app, not just raw %. People who are on 2.x either don't know much about technology (in which case they will find an app like Tasker too complicated) or they are using low-end handsets, which means they don't have money to buy apps anyway. And yes, there will be some who are on 2.x who are tech enthusiasts and willing to pay, but they are such a minority that a dev wouldn't be able to justify the resources spent into supporting them. Thus the best way is to support only 4.x forward. Not only because 4.x will allow the app to be streamlined by not being burdened by messy legacy compatibility code, but also because 4.x devices are mostly high-end, which means it's users are reasonably well-off, which means they will pay for apps.

    • http://www.androidpolice.com/author/eric-ravenscraft/ Eric Ravenscraft

      That doesn't guarantee they have the availability. Not every device has a fully functional ROM out there for it. Heck, when I was on my Epic 4G Touch, I waited months and months for even a beta of CM9. Last I checked (just before I upgraded to my Galaxy Nexus) it still hadn't received even an RC.

      Sometimes "Just root and ROM it" isn't an easy solution.

      • Joseph Cascio

        I'm probably wrong but didn't Google add the feature to have multiple apks for the same app. Isn't there a way to leave the old tasker for 2.3.3 and below but make a new version for 3.0 and up but still have it listed as the same app.

        Actually I just looked it up: https://developer.android.com/google/play/publishing/multiple-apks.html

        So yeah what's the point in keeping one app compatible and making sacrifices.

        • http://www.androidpolice.com/author/eric-ravenscraft/ Eric Ravenscraft

          That's not what multiple apks are designed for. Minor differences in packages (such as having a lower-resolution APK for smaller/cheaper devices in order to save size) is the proper use of this feature. Having one version of the app that has one set of features and a different apk that has an entirely different set of features is not at all what that feature is intended for. Take a look at the page you linked. It lists a set of criteria, but nowhere on there does it describe supporting different feature sets.

          The primary reason for that is because if Tasker puts out a 4.0 version of its app with a whole new UI and set of features, and someone on 2.3 can access that Play Store listing, but when they do they get something entirely different, that both reflects poorly on the developer and on Google. It's false advertising and may even be interpreted as malware. This isn't a thing that can be done in this way. So, for that reason, the Tasker dev is simply preparing for the new 4.0 version and only working on bugfixes for 2.3 and below.

    • http://twitter.com/homncruse Aaron Burke

      I can't update to ICS or JB on my G2x and retain full functionality (due to driver problems). I'd love to, but I can't afford to sacrifice the functionality required to make the upgrade. So yes, while I know *how* to update to a 4.x ROM, there aren't any suitable ones available at this time for my device.

  • Ivailo Stoyanov

    Even though it's a bit expensive, I'd be glad to pay for a nice looking, functional app and support the developer.

  • mgamerz

    I can attest to how much the compatability lib sucks. Nothing you really need like preference fragments are in there, so compatability is a huge hack job.

  • br_hermon

    As long as this doesn't break any functionality or I lose any features. If I were at risk there, I'd actually rather keep Tasker as it looks right now and keep all the features I have now. Sure, it isn't pretty but if you know what you're doing, you don't care. For Tasker it's ALWAYS function over form.

  • Getanewphone

    Easy fix, buy a new phone. If your phone isnt supported or a ics or jb rom dont work correctly, its casue there is no real dev on it, (aka/ your phone sucks)

  • Elias

    In the end, it all boils down to one thing: all phones should be Nexii. Without oems and carriers to fuck things up due to prioritizing, negligence or scheduled obsolescence, everyone would get timely updates for android, thus being always up-to-date and then developers could focus much more efficiently in optimizing for a given platform. I'm more than willing to give up "carrier product experience" and brand identity in order to have a pure android experience and timely updates.
    It's about time consumers should had realized fragmentation is THEIR fault. If you buy crappy phones which will never receive updates or which are totally locked down, you're telling oems and carriers that you accept their behavior. And it's not. After reading considerations from developers about Samsung, I'll never buy another Samsung which isn't a Nexus, and I'm willing to try Sony.
    Speaking of which,it's about time Google starts carrying nexii for the low end market - 1ghz single core or so. Low end buyers end up making a huge user basis but don't have the option for pure androids because of the cost of flagships.

  • blunden

    The Tasker developer should perhaps consider trying the HoloEverywhere lib that backports the Holo UI all the way back to Android 1.6. I have no idea how good it is but there is a demo app on the Play Store to give you a feel for how it looks on older devices.


    Naturally, there are a lot more interesting APIs in 4.0+ that the developer probably would want to use if possible but at least some of the UI related stuff can be solved with libs like the ones mentioned above.

    • blunden

      EDIT: Nvm, it was originally for 1.6 but is now for 2.1 and newer. Still, that should take care of all but a few percent of users.

      • JohnWalker03

        His pre Android 2.1 user base is probably at 0.1% max so theres no need to worry about them.

        And to be fair, i bet his user base consists of 75% or more Android 3.0+ users, and in about a year it will probably be about 90%, so i dont think he should bother with HoloEverywhere. He should just go 3.0+ as standard for the update because it would be much easier as he wont need to switch from holoEverywhere to normal APIs in the future. Most of his users that are on 2.x and have his app probably wont care about the update anyway since they dont seem to care about there Android version much.

        It would be nice if the Tasker dev told us what percentage of his users use which versions, im sure it will be 75%+ for 3.0+ users.

  • https://twitter.com/#!/psycho_maniac_ Jerry Lange

    Who the hack has a phone that still has 1.6 or 2.0 on it and runs tasked? Lol b