6 ms·
Re-inventing Android : Ice Cream Sandwich
- _vandy 15y agoOne small thing which I haven't yet understood is Why Google is supporting so many (latest) versions of Android yet again. We have Android 2.3.2, Gingerbread and now we have Ice Cream Sandwich. This is confusing. Isn't it?
- klausa 15y agoGingerbread is 2.3.x branch, perhaps you meant Honeycomb? And while it is a little bit confusing, it kinda makes sense. Gingerbread is latest phone release, Honeycomb was tablet-only thing, and with Ice Cream Sandwich they're merging it into one release.
- Arkid 15y agoWill this not cause fragmentation again in the near future?
- estel 15y agoWhat sort of fragmentation are you concerned about in particular?
- Arkid 15y agoDevelopers have to develop for all three versions. Right??
- estel 15y agoDevelopers can develop for what they want.
- deleted 15y ago[deleted]
- Pewpewarrows 15y ago(Android dev here) No. You release one .apk file (the Android equivalent of .app). Within a manifest inside it, you can specify a "target" release API version and a "minimum" version. No one running a device below the minimum can see or install your apk. The target one is more of a suggestion to the Dalvik VM with how to approach running your application (if it know you're targeting the latest release, it can expect you to use some new features and adjust accordingly, etc). Just like with web sites, you progressively enhance an Android app during development using Java's reflection, and/or gracefully degrade by bundling up back-ported modules and UI components in your apk. If you absolutely can't get around a particular function not being present in an old version of the API, then you just don't have that feature even visible to the end-user. The current recommendation is to set your min level to 7 (which is Android 2.1), and as of a few days ago, to set your target to 14 (Android 4.0, or Ice Cream Sandwich). According to raw statistics of devices active and in the wild, this hits 97% of all potential Android customers. Fragmentation used to be an issue back when supporting the Android 1.x line of APIs was still necessary. Now it's nice and streamlined, and I barely notice writing for compatibility any more. And if you really can't get around some problems, the Market now lets you upload multiple apks for a single "release" of your app, each targeted towards different ranges of API levels.
- tadfisher 15y agoAre there Android devices released with 2.1 that have not received an update to 2.2?
- drivebyacct2 15y agoSome. http://developer.android.com/resources/dashboard/platform-versions.html http://developer.android.com/resources/dashboard/platform-ve...
- deleted 15y ago[deleted]
- shareme 15y agookay let me explain...I am not affiliated with Google..just a small 3d party contributor.. The whole reasoning was to get new stuff out there and once the UI solidified than OEMs would update to latest as they no longer would be using customized UIs ..what you are seeing is the very beginning of that process..the market with new 4.0 devices selling will help get OEMs to that point in 18 months where we will only see 4.x devices. Why? Most if not all dual core and up are GPU based and with Qualcomm reducing costs on the lower end boards you will see dul cores at the bottom end also at the $50 range per handset. As far as developer-wise yes at first it was confusing..backporting certain stuff than writing to 1.6 with a backported set of ui components but its manageable once you step up and start doing it..and there is an Eclipse extra adt-addons plugin to assist in that it analyzes the api to see if it will work per the min and max target api settings in the manifest
- sherkund 15y agoYeah, I think Windows Mango phones are going to be an order of magnitude better (in terms of what a customer can expect buying one) because of the spec requirements. Although Google merely created Android just to force the smartphone market to be more competitive, I just wish that Google stuck it's foot in the mud more. Hopefully they start a "G+ Certified" to tell customers about continued Google maintenance support or something.
- joebadmo 15y agoThe thing that really stands out to me about ICS is the focus on user experience. Duarte seems to have addressed all the little complaints I've always had, and some I never realized I had. * Moving away from long-presses. * More consistent app navigation via swipes. * More usable but still powerful task management/switching. * Better representation of useful data like contacts and calendars. * Order of magnitude better camera app, faster, cleaner, with extremely easy sharing built in. Apparently the UI is finally hardware accelerated as well (though apps have to opt-in), so hopefully it means an end to Android's historically jittery interface.
- briancooley 15y agoThe hardware acceleration opt-in is just one line in the AndroidManifest.xml file, so it should be widely adopted.
- barrkel 15y agoOf course, they would have made it a default if it didn't have some incompatibilities; and looking into it a little more deeply, it does look like there may be: http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html http://android-developers.blogspot.com/2011/03/android-30-ha...
- wccrawford 15y agoWell hopefully once the issues are worked out, future versions will be opt-out instead.
- vetinari 15y agoThe opt-in is basically saying, that either recommended or minimum OS version for your app is Ice Cream Sandwich. You do not switch the acceleration on or off, you say in the manifest, that you are aware of the platform.
- drivebyacct2 15y agoThere's also an override in the Dev menu to force GPU acceleration for all apps. It also strangely makes the emulator significantly smoother.
- rpearl 15y agoIs Android going to be open source again? (Well, I say open source, but what I mean is--will the source code be available, as opposed to development being open. Google doesn't tend to take patches from outside contributors anyway...)
- drivebyacct2 15y agoYou haven't seen the four tongue-in-cheek posts about it over the last three days?
- nextparadigms 15y agoYes, about 2 weeks after Galaxy Nexus is launched I believe, so sometime in December.
- pbz 15y agoAny word on fixing stability issues? In my experience that's by far the number one issue with the OS (keyboard crashes, slowing down after about a day without reboot, the actual phone app acting up, the call not going through, not being able to answer, text messages not being delivered all the time, etc etc)
- darshan 15y agoI've never experienced any of those issues in my 2+ years with Android. I've always used stock Android (on the MyTouch 3G and then the Nexus One) -- I think you must be using a buggy build.
- pbz 15y agoIt's definitely something weird going on, but I can promise you I'm not alone. Starting with 2.1 (Nexus One stock, no tweaks) every version got worse. Tried a reset, wipe, and eventually installed CyanogenMod. CM is actually a bit more stable, but those weird things happen on it as well. A daily restart is a must if I want a functioning phone. I know others that have Eris, Droid, and MyTouch 4G devices (all stock) that experience similar issues. For example, here's a thread about the keyboard issue: http://code.google.com/p/android/issues/detail?id=15311 http://code.google.com/p/android/issues/detail?id=15311 It's very eerie when you click the phone app to make a call and it freezes for a second, then half the app is drawn, you shake it a bit and it sometimes comes back, but then the call doesn't go through. Then you go to send a text and it won't load your messages or the keyboard doesn't show, or it pops up but you can't see any keys, or you see the keys but when you type nothing shows up until you close the keyboard, or it takes two seconds before what you typed shows up. All these are symptoms that you need to restart.
- brettnak 15y agoI haven't had any of these issues. I am an cyannogen mod though.