Ever since Honeycomb’s release, Android has had two versions out in the wild (well, if you disregard the non-current versions, that is). The next major Android release, Ice Cream Sandwich, is supposed to fix this problem by having one single version of Android for both phones and tablets. Google now has a blog post up which presents some options for developers to prepare their applications for Ice Cream Sandwich.
Right now, several developers have hard-coded their Android tablet applications to certain screen sizes, but when Ice Cream Sandwich arrives, which will run on all screen sizes, developers will have to adapt their applications. Google presents two options: limit your tablet application to certain screen sizes (preventing them from being installed on smartphones), or make sure your application works on all screen sizes (the preferred option, obviously).
The first option is straightforward – it’s the second one that’s interesting. For the action bar currently implemented on Honeycomb, developers should face few problems – provided they used the official implementation, instead of building their own. “As long as you’ve been using the framework’s implementation of ActionBar for your tablet app (rather than building your own), the conversion from tablets to handsets should be painless,” Google explains, “The Android system will do the work for you; all you need to do is ensure that your action bar design is flexible.”
Of course, if you use your own action bar – or don’t use it at all but use some other means of navigating through your application – then you’ll have to do some work yourself. This seems like a pretty good carrot and stick to use the official implementation. In the end, it’s better for users, too.
As far as the actual content of your application goes, there are two ways to adapt Honeycomb tablet applications for smartphone screens. First, “for any screen in which your tablet version displays multiple fragments, use the same activity for handsets, but show only one fragment at a time – swapping the fragments within the activity when necessary”.
The second option is a bit more involving. “Use separate activities to host each fragment on a handset,” Google notes, “For example, when the tablet UI uses two fragments in an activity, use the same activity for handsets, but supply an alternative layout that includes just one fragment. When you need to switch fragments (such as when the user selects an item), start another activity that hosts the other fragment.”
This second option is a lot of words with Android-specific terminology, but the following image puts it in a way we can all understand.
This second option is a bit more work, Google notes, but is the better solution. “It might be a little more up-front work, because each fragment must work well across separate activities, but it usually pays off,” Google notes, “It means that you can use alternative layout files that define different fragment combinations, keep fragment code modular, simplify action bar management, and let the system handle all the back stack work.”
Sadly, the Ice Cream Sandwich SDK hasn’t been released yet, so you can’t test your adapted code just yet. In spite of this, if you have Honeycomb applications out there, be sure to follow Google’s advice and guidelines, since it will only make the lives of your users easier.
It’s also been said that this version will see an open source code release.
About damn time.
They made no secret about the plan. Every version previous to Honeycomb had a code dump. They stated that Honecomb would not be dumped and are continuing to state that Icecream Sandwitch will have a code dump. Nothing new here.
(I’m just not sure what part of all of this is a surprise leading to the “about time” sentiment is all.)
Jabotts
About the suprise sentiment. Below help explains why. It’s not open sourced every time.
Article Techradar 08 Sep 11
http://www.techradar.com/news/mobile-computing/ice-cream-sandwich-e…
Quote “We also know that Google is intending to make Ice Cream Sandwich fully open source. It didn’t do this with Android 3.0 Honeycomb in an attempt to make things more consistent.
“It’s more manageable to start small and get bigger,” says Andy Rubin, senior vice president of Mobile at Google.
“It’s an open invitation; there’s no reason not to have everybody in [The Open Handset Alliance] – but I want to hit the ground running, I don’t want to take a lot of time on building a list of names.”
Seems like they are still on schedual.
– older versions released.
– honeycomb source held back.
– icecream Sandwitch released.
They’ve always said that honeycomb source would not be released where icecream sandwitch will merge the two source trees and be made available for download.
If what I’m missing here is that they are going to release the OSS parts of icecream sandwitch (all but hardware drivers?) then it’s a big fat “meh” as this was always the stated outcome and timeframe.
If what I’m missing is that the entire Anroid stack is going to be delivered under an open license including kernel hardware modules and firmware then yeah, that’s a huge “about time” probably only second to delivering a standardized distribution across devices claiming to be Android branded.
You don’t see apple releasing a open version of iOS and Microsoft releasing a open version of windows. So I’m fine with Google keeping some of there code closed. AT least they support the opensource. Yes i know about Darwin and MS releasing some code but nothing compared to what Google has done for the opensource community.
The thing I like about them open sourcing it is that the 3rd party gui makers are doing excellent work. Cyanogenmod is awesome, but needs the OS to be open source to work. I have already decided I will buy a Transformer 2 IF and ONLY IF the next version of Android is open sourced. Otherwise I will buy something I can load a full Linux distro on. (which may be a transformer, havent looked into that option yet)
You don’t see Apple and MS harping on about how open their OS is and making it a key part of their advertising.
Just release the SDK already!
Honeycomb UI: awesome. Pre-Honeycomb UI: as bad as a Metacity theme. Undoubtedly, it will be a serious pain to convert everything to work in (at least) two different ways, but once the work’s done, it’s done for good, and finally apps on Android phones won’t be the ugly cousins of iOS apps.
Fragments are a great idea, and a great way to manage this. I just wish they’d resolve some of the issues: programatically-defined fragments can’t replace layout-defined ones etc.
I think we’ll be at the point with ICS where nothing about Android is vastly inferior to iOS. Possibly Windows 8 will bring new areas to catch up on, though.
Android is a failure as far as I’m concerned.
To get rid of things like Twitter, Gmail, Facebook etc I have to root the device.
That is enough to make me mark it ‘Must do better’. I’d like to think that with Ice Cream Sandwitch, google will make everything user uninstallable that is not crucial to the basic operation of the device. The question is, will they? Somehow I doubt it.
I have a HTC Sensation and I’m getting rid of it and going back to my trusty old 6310. If there were issues with calls on the iPhone 4 then this sucker must be an awful lot worse.
So endeth my brief foray into the smartphone world.
– Apps you can’t delete
– Incoming calls you can’t hear.
Yes, I am one of those few people who don’t use any Social networking sites. I did once (At the behest of my kids) and after my id was stolen, I refuse to do so again.
Like you i’m not interested in social apps but my experience with Android is great.
I have installed/uninstalled a lot of apps over time and it never posed a problem for me.
I mainly use the Kindle app and Opera mini in which i’ve build a nice collection of bookmarks i browse before i dowse off.
Sometime i use the native browser as well which is pretty good. I’ve used the GPS function also a few times and the pc software for sms/mms and contact syncing. Syncing it to my wifi was also a breeze.
So yeah i love my Android phone. Guess different strokes.
If your phone is coming with social media apps you can’t remove without rooting the device, you need to take that up with the device manufacturer; they still have control over what software is bundled and what they dicide the customer wants.
Now, if we get to the point where vendors are shipping devices with stock Anroid installs instead of one-off customized crapware bundles then I’ll be right beside you yelling at Google’s receptionist.
The issue in the OP’s case is that the apps in question are installed on the OS partition. As a security measure, Android mounts the system partition read-only, with a separate read/write one for apps. As a consequence, the apps which live on said system partition can’t be removed. (Note that poor choice of partitioning scheme is why some android phones also have lackluster amounts of storage available for app installation).
That is interesting as I’ve not looked at how android devices are partitions. Good to hear they are similar to Maemo partitioning though.
I don’t see that this changes anything though. Who put theapps in place? Are these social media client applications that are part of the stock Android distribution or are they post Google additions that the menufacturer has dropped on the device before shipping it to the customer.
If google made social media apps a required components of Android then booo Google! Have at it.
If xyz-phones made social media apps a required component of the mobile phone which happens to also run Android then booo xyz-phones Incororated! You can’t blame Android and Google for what OS curruptions the manufacturer put in place while assembling the device.
In this case, if they OP’s phone had these apps which are imposed by the phone manufacturer not the Android OS then they should have shopped around and baught from a different phone manufactuer; hense, it is an issue to take up with the phone manufacturer not the OS developer.
Trust me, I’m no Android fan but watching any OS get slammed for things outside of the developer’s control doesn’t sit well. Especially when the customer has/had solutions available.
At least some of them are part of the base android install, i.e. Facebook and Twitter are both present in the stock Gingerbread images used on the Nexus devices. I haven’t messed with the alternate builds that Motorola/HTC/Samsung make so I don’t know what others they might bundle.
Hmmm, I uninstalled both Twitter and Facebook from my Nexus S without a problem. Not rooted, stock ROM shipped (and updated through OTA). GApps I haven’t tried, what’s the point? I use them all.
So it will be easier to create an app that sucks as bad on the phone as it does on an Android tablet. Cool.
Apple is getting very scared of some emerging Android tablets to such an extent that it has tried to ban them from getting offered to people.
Here is an article by someone named Davey Winder that perhaps uncovers the real reason why Apple is running scared:
http://www.daniweb.com/hardware-and-software/netbooks-tablets-and-m…
Verdict
The Samsung Galaxy Tab 10.1 is, without any shadow of a doubt, the best Android-powered tablet to date. In fact, it’s even better than the iPad 2. There, we said it. Let’s just hope that all the design and patent silliness gets sorted so that consumers everywhere can discover that there is life outside of Apple when it comes to truly stunning tablet devices.
Not everyone has come to the conclusion that Android tablets suck. In fact, for some devices, the conclusion is quite the opposite.
Apparently, Apple doesn’t want consumers to discover this.
Apple isn’t necessarily scared. YET. They’re just using the patent/trademark/copyright system to avoid competing to the maximum extent possible. They don’t want to repeat what happened when cheap clone PCs ate the Mac’s lunch. But it’s going to happen, regardless of what Apple does. It’s only delaying its fall from grace.
Edited 2011-09-25 18:29 UTC