Re:Re-inventing Android : Ice Cream Sandwich
by joebadmo on Friday October 21, 2011 @12:20PM
(#3140466)
The 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.
Re:Re-inventing Android : Ice Cream Sandwich
by ZeroGravitas on Saturday October 22, 2011 @03:56AM
(#3143120)
You're currently downvoted, but you're correct. Apps targetting older sdks will need to opt-in to make use of the acceleration, even on ICS. But it's an easy switch to flip, assuming it doesn't cause visual glitches, which it can in some cases.
Re:Re-inventing Android : Ice Cream Sandwich
by barrkel on Friday October 21, 2011 @12:43PM
(#3140569)
Of 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:
Re:Re-inventing Android : Ice Cream Sandwich
by vetinari on Friday October 21, 2011 @01:51PM
(#3140854)
The 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.
Re:Re-inventing Android : Ice Cream Sandwich
by nextparadigms on Friday October 21, 2011 @02:12PM
(#3140939)
It's a huge improvement and I'm very excited for it. One issue I have with it, though, is that I was hoping they'd make the virtual buttons appear "on demand" somehow, so you can take advantage of the "full" screen in all situations. But even better, they should've done something like in Meego Harmatan, where you go "back" or to the home page by sliding the screen to the side.
That could create an issue in games perhaps, if not done right, but they could've probably found a way to do it right. Matias himself says gestures are better than buttons, so he should've tried to get rid of those buttons completely, too. Then you could enjoy the full screen in all situations, and you could use the full "HD" resolution. Oh well, maybe they can implement it for Android 5.0 (right, Matias? - if you're reading this).
Re:Re-inventing Android : Ice Cream Sandwich
by ZeroGravitas on Saturday October 22, 2011 @03:53AM
(#3143113)
I believe this happens for video playback at least in the default setup. I'd imagine CyanogenMod etc. could make it happen for any other app (since they don't have the screen size hardcoded).
Re:Re-inventing Android : Ice Cream Sandwich
by pbz on Friday October 21, 2011 @03:15PM
(#3141214)
Any 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)
Re:Re-inventing Android : Ice Cream Sandwich
by darshan on Friday October 21, 2011 @04:14PM
(#3141464)
I'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.
Re:Re-inventing Android : Ice Cream Sandwich
by pbz on Friday October 21, 2011 @04:32PM
(#3141540)
It'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
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.
Re:Re-inventing Android : Ice Cream Sandwich
by rpearl on Friday October 21, 2011 @02:38PM
(#3141065)
Is 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...)
Re:Re-inventing Android : Ice Cream Sandwich
by _vandy on Friday October 21, 2011 @11:59AM
(#3140350)
One 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?
Re:Re-inventing Android : Ice Cream Sandwich
by klausa on Friday October 21, 2011 @12:12PM
(#3140420)
Gingerbread 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.
Re:Re-inventing Android : Ice Cream Sandwich
by Pewpewarrows on Friday October 21, 2011 @01:10PM
(#3140694)
(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.
Re:Re-inventing Android : Ice Cream Sandwich
by sherkund on Friday October 21, 2011 @12:28PM
(#3140509)
Yeah, 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.
Re:Re-inventing Android : Ice Cream Sandwich
by shareme on Friday October 21, 2011 @12:23PM
(#3140480)
okay 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
* 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.
http://android-developers.blogspot.com/2011/03/android-30-ha...
That could create an issue in games perhaps, if not done right, but they could've probably found a way to do it right. Matias himself says gestures are better than buttons, so he should've tried to get rid of those buttons completely, too. Then you could enjoy the full screen in all situations, and you could use the full "HD" resolution. Oh well, maybe they can implement it for Android 5.0 (right, Matias? - if you're reading this).
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.
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.
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.
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.
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