Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Android Compatibility and Fragmentation

kdawson posted more than 4 years ago | from the don't-frag-me-bro dept.

Google 211

tbray writes "Here are the details on the Android Compatibility Program — which combines the source, a formal compatibility spec, an open-source test suite, and access to the Android Market as reward for good behavior (program page). People like to rant about the subject of fragmentation, so here's TFM that they should be R'ing first."

cancel ×

211 comments

Sorry! There are no comments related to the filter you selected.

Fragmentation is mostly FUD (4, Informative)

h4rr4r (612664) | more than 4 years ago | (#32424570)

Fragmentation is mostly FUD, there are only a few screen sizes and the OS changes are pretty minimal.

Re:Fragmentation is mostly FUD (4, Informative)

WrongSizeGlass (838941) | more than 4 years ago | (#32424848)

From the Android developer blog [blogspot.com]

Because it means everything, it actually means nothing, so the term is useless. Stories on “fragmentation” are dramatic and they drive traffic to pundits’ blogs, but they have little to do with reality. “Fragmentation” is a bogeyman, a red herring, a story you tell to frighten junior developers. Yawn.

And in any mobile device (3, Insightful)

Sycraft-fu (314770) | more than 4 years ago | (#32424894)

You will have either fragmentation, or stagnation as the device gets older. Even something totally controlled like the iPhone. As time goes on, one of three things will happen:

1) Apple will introduce new iPhones with features the old ones do not, and cannot, have such as higher rez screens, faster CPUs, etc. Software for these new phones will not run properly, if at all on the old ones. The phones will fragment along the lines of new and old.

2) Apple will refuse to introduce any features that would break compatibility with older phones. They maintain total compatibility through keeping various things at one spec. This leads to stagnation of increasing proportions as time goes on, such that new iPhones are literally years behind competing products.

3) Apple discontinues all support for older iPhones. They have the service providers remotely kill the hardware so you are required to purchase new hardware.

There's just no way around it. If you want new devices to have new capabilities, well it will lead to fragmentation. There are plenty of things you can do to help, particularly in making sure newer devices can seamlessly run older software, but you can't have all sorts of new stuff and have everything work just like it did before.

Re:And in any mobile device (4, Insightful)

hitmark (640295) | more than 4 years ago | (#32424946)

3b) apple makes sure to plan for a "incompatible" hardware upgrade when most of the early adopter contracts about to expire, and therefor they will be looking around for a replacement anyways.

planned obsolescence is a "wonderful" thing.

Re:And in any mobile device (1)

Sycraft-fu (314770) | more than 4 years ago | (#32425570)

For sure, but that doesn't prevent fragmentation. People will refuse to upgrade. Just how it goes. Won't be the majority I suspect, most people who get smart phones like new gadgets and get new ones often. However there will be a non-trivial amount that won't. So as I said: You get fragmentation or stagnation.

Re:And in any mobile device (1)

peragrin (659227) | more than 4 years ago | (#32426696)

And that is where the non user replaceable battery comes in. You see after 2 years my Iphone 3g is running about 70% of it's battery life than when i first got it. In 6 months my phone will be almost 2.5 years old and I will be ready for the next phone anyways.

The real question is will I find a decent android phone with a decent UI that can easily surf the web, and you know make calls, or will i have to upgrade to an Iphone HD that comes out in 6 weeks?

Droids always come off as half finished to me, with no polish and poor craftsmanship in the hardware.

Re:And in any mobile device (1)

LaRainette (1739938) | more than 4 years ago | (#32426160)

It's been Apple's obvious marketing strategy over the past few years, the switch coinciding with the beginning of my boycott. Apple has surfed on its tech-savvy, high quality, time resilient hardware image just long enough to have enough users to switch their strategy to a 2 years lifespan-hardware, hype-based strategy that makes me sick. Now they seem stuck into a "virtuous" cycle of endless hype that brings them millions of new customers every years that is actually derived from the fact that they already have millions of customer. Some sort of "it's cool because everybody gets it because it's cool" paradigm that I can neither understand nor bear.

Re:And in any mobile device (2, Insightful)

ekhben (628371) | more than 4 years ago | (#32426186)

1) 3GS has better processor, graphics, and more memory than 3G. iPhone has better location and a camera, iPod Touch does not. These differences exist, they just don't currently impact more than a few niches of applications.

2) Clearly not happening.

3) If you ignore the hyperbolic nonsense about remotely killing devices, this is happening. The original iPhone and iPod Touch devices are not supported by iPhone OS 4.0. The iPhone 3G is no longer available for sale, on the same trajectory as the original iPhone was a year ago. Apple have shown that they won't hang on to old hardware forever - OS X 10.6 doesn't support PPC, for example.

One thing is highly in Apple's favour right now: all devices can upgrade to the most recent OS without the carrier being involved. There's very limited OS-level fragmentation in the App Store; users who never sync very rarely purchase, and users too cheap to spend $10 on their iPod Touch are generally too cheap to buy many apps. Developers can target the most recent OS version quite happily. When the original iPhone is no longer supported by the current OS, there will be a lost market segment for people still happy with their device but unable to keep up.

A higher resolution on the new iPhone will probably increase fragmentation, though many apps should not need any work at all, if they followed the UI guidelines and used auto-resizing and system fonts. Unless they specifically need to use the higher resolution, new apps going forward should have very little trouble targeting the whole family (less the two out of support originals).

Re:And in any mobile device (0)

Anonymous Coward | more than 4 years ago | (#32427536)

if you read your own post - point 1 applies to android just the same. the version differences only impact a few niches of applications.

Re:And in any mobile device (2, Insightful)

Mr2001 (90979) | more than 4 years ago | (#32428214)

if you read your own post - point 1 applies to android just the same. the version differences only impact a few niches of applications.

Same with the screen resolution issue. "If [the developer] followed the UI guidelines and used auto-resizing and system fonts", an Android app will fit whatever size screen it's running on.

Re:And in any mobile device (1)

SoupIsGoodFood_42 (521389) | more than 4 years ago | (#32427314)

Software for these new phones will not run properly, if at all on the old ones.

What makes you say that? You don't think Apple has built iPhone OS APIs to take such things into account?

Re:Fragmentation is mostly FUD (5, Informative)

Fnkmaster (89084) | more than 4 years ago | (#32424956)

Agreed on screen changes. But there's a major psychological issue with people shelling out hundreds of dollars for what they perceive as the "latest, greatest" phone, and then 6 months later being told they are stuck on version 1.6 when we've already gone through 2.0, 2.01, 2.1 and are about to see 2.2.

If you think this isn't real, go see the thread on Engadget right now on this topic. People are angry about it. Frankly, I'd be pretty angry if my phone was still running 1.5 (apparently a third of Android phones out there are still stuck on this old-ass version as of a few weeks ago, and a third or so were still on 1.6, with another third on 2.1).

Mind you, almost every phone has at least an *unofficial* community-produced ROM that will get them the 2.1 features and apps. Even the klunky G1 which was the first Android phone can get there - it's just not officially supported, presumably because Google, HTC and T-Mobile don't want to push down an update that replaces the SPL - I guess they think the support costs from doing that would be higher than the PR costs of not doing it.

So yeah, the issue is a bit overdone - or rather, it's not so much fragmentation of hardware specs that's the issue - I think allowing some hardware diversity is a good thing, it encourages innovation. The real issue is lack of hardware support from manufacturers and telcos after the point of sale. Google has up-to-now done basically nothing to force guaranteed support periods and guaranteed maximum release delays on a newly released OS version. I saw nothing in the article to address this.

*That* is the real issue that gets people riled up. *That* is what the users at Engadget are seething over. They want 2.1. They don't want to be told "we can't support 2.1 on your 8 month old handset, eat a dick" by HTC or Sprint or Verizon or whoever. Google is letting the carriers and hardware manufacturers release products, pimp them, then drop support 3 months later. They need to force some structure on customer support - I don't think every piece of hardware should be supported forever, but I think a year of official support for the latest version releases after the last date you sold the product is a minimum, and I think that a 2-3 month lag from Google's release of a new version to an officially supported ROM from the hardware vendor and carrier is a maximum. If a vendor falls outside of those parameters, every handset of their should be banned from the market, effective instantly.

That's the stick they need to support their customers. If Google doesn't man up and do this, I'm afraid it will do a significant amount of harm to the rapidly developing Android market.

Re:Fragmentation is mostly FUD (4, Insightful)

WrongSizeGlass (838941) | more than 4 years ago | (#32425202)

I don't think every piece of hardware should be supported forever, but I think a year of official support for the latest version releases after the last date you sold the product is a minimum

If the contract period is 2 years, and the early termination fee is based on the contract period, they better support the phones for 2 years.

Re:Fragmentation is mostly FUD (0)

Anonymous Coward | more than 4 years ago | (#32425366)

I don't think every piece of hardware should be supported forever, but I think a year of official support for the latest version releases after the last date you sold the product is a minimum

If the contract period is 2 years, and the early termination fee is based on the contract period, they better support the phones for 2 years.

Supporting the phone as it was sold is not the same as offering free upgrades to the OS, Apps, etc. You bought it for the features it had. Live with them, or buy a new model with new features.

Re:Fragmentation is mostly FUD (1)

LaRainette (1739938) | more than 4 years ago | (#32426196)

It depends. When you're number one selling point is that your product will evolve with time to continue to be relevant for a certain time (which is the case of any smartphone maker since the smartphone market just changes so fast) I think it is VERY MUCH the same thing.
Nobody ever bough the iPhone or any Android or WebOS device to use it as it comes. You expect your $700 device to be able to keep up to date (at least on the software side) for at least as long as you're paying for it which is 24 months if you bought it on contract.
If you're not expecting this just buy a Samsung feature phone, they can do pretty much the same things, cost twice as less and they get obsolete in 6 months.

Re:Fragmentation is mostly FUD (1)

Sancho (17056) | more than 4 years ago | (#32425384)

There's support and then there are upgrades. There's really no requirement, explicit or otherwise, for Sprint to offer a 2.1 upgrade for the HTC Hero.

Re:Fragmentation is mostly FUD (0)

Anonymous Coward | more than 4 years ago | (#32427338)

contracts are for suckers. I am on T-mobile, no contract, and my bill is much much cheaper for it.

Re:Fragmentation is mostly FUD (1)

adolf (21054) | more than 4 years ago | (#32428180)

Feh.

I'm on Verizon, no contract, and I still want updates.

Re:Fragmentation is mostly FUD (1)

dave562 (969951) | more than 4 years ago | (#32425222)

That's the stick they need to support their customers. If Google doesn't man up and do this, I'm afraid it will do a significant amount of harm to the rapidly developing Android market.

Don't hold your breath waiting for good customer support from Google. Google has been great about bringing technologies to market. They have proven themselves nearly incompetent when it comes to end user support for those technologies. They really need to open up their hundred billion plus dollar bank accounts and fund a decent customer service / marketing department. Google is great if you're a coder and are comfortable working with half done APIs. They aren't so great if you're in the market for something that just works.

Re:Fragmentation is mostly FUD (3, Insightful)

ducomputergeek (595742) | more than 4 years ago | (#32425292)

Android Market makes sure your app is only visible to those devices where it will run correctly, by filtering your app from devices which don't have the features you listed.

I've seen this a lot with friends who have different android phones. Friend A with HTC: "Hey try this really cool app". Friend B with Motorola: "What App? I can't find it anywhere in the market place." My understanding is that the app doesn't even show up if their phone is not compatible, it's invisible. I guess they don't want a bunch of apps that when you bring up the page says, "Sorry your phone is not compatible".

I also know from the QA side of the house that you can have the same phone hardware with 2 different OSs depending on the carrier. Usually we don't have major problems, but there can be glitches and bugs that are introduced. And then there is the speed of the upgrades. With the iPhone we looked at one major update per year. When we started working with Android last year it was 1.5 (which had been our for a while on the G1) and 1.6. Then suddenly it was 2.0, then 2.1, now 2.2 all the last 9 months or so. Apple has generally release a new OS every year with a minor .1 release shortly there after. Same with blackberry.

Re:Fragmentation is mostly FUD (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32425432)

Yar

i has a dev shop and we cahrge 8 TIMES what we charge iphone to make a app. We kind of stoopid but we cant program gooder so we charg more. He he. my frend in mozambique is still stuck on 0.8 android. he he.

BTW, fuck you still, troll. Yes, ^^ is what you sound like.

Re:Fragmentation is mostly FUD (1)

ickpoo (454860) | more than 4 years ago | (#32425420)

I'm not sure Google needs to do anything about it. Instead carriers need to. I personally am a bit pissed that my G1 is stuck at 1.6. When I replace it (fairly soon), one of the requirements will be that it is on the current Android release and that it follows the current releases for at least awhile (G1 followed for 4 months?) If the carrier cannot do this I'll just go to a different one.

I suspect that most people will feel the same way, so, it is only a matter of time before it becomes the standard (hoping).

Re:Fragmentation is mostly FUD (1, Insightful)

Anonymous Coward | more than 4 years ago | (#32427312)

Engadget has been stoking the FUD fire for a long time. Do you own research and find out which devices are slated for upgrade. Practically the only one not slated for upgrade is the G1.

Engadget is toeing that sycophant line dutifully. I think I have seen 3 articles with them calling Android horribly hopelessly fragmented in just the past two or three months. It's ridiculous. They are sensationalizing and anger mongering.

Re:Fragmentation is mostly FUD (1)

cheater512 (783349) | more than 4 years ago | (#32427710)

Thats why I'm going for a N900 rather than a Android or iPhone.

The future has turned out to be Meego and there will be very well supported versions of it for the N900 (if not official).
So its a phone which will continue to get upgrades.

That plus you can tinker with it completely. :)
Want a new kernel? Sure.

Re:Fragmentation is mostly FUD (1)

luther349 (645380) | more than 4 years ago | (#32428006)

yea i herd of that and its frigging sad. 2.2 had major speed changes and would get the old clunky g1 to preform well. not even apple is like that with there older phones, all iphones and ipods will get 4.0 firmware but non 3gs and 3g ipods will not get the multitasking feature being the hardware cant handle it. but at least apple is still supporting them. even the new arcos 5 it tablet running 1.6 isn't getting a 2.2 upgrade. and drooping support for a phone that's still under contract should not ever be done. sense most contracts run for 2 years i say that's how long any device you buy from a provider should be supported.

Re:Fragmentation is mostly FUD (1)

Pastis (145655) | more than 4 years ago | (#32428092)

If the customers really want free supported OS upgrades over other criteria, the first manufacturer that promises and implements it will get customers. Market forces will solve this issue. No need for Google to intervene

Re:Fragmentation is mostly FUD (4, Insightful)

sortius_nod (1080919) | more than 4 years ago | (#32425108)

It's funny, I saw this article on my RSS and knew that the first post would be this. You don't give any reason as to why the fragmentation stories are FUD.

I am personally very hesitant to look at any android device due to the fragmentation. Hell, you have 1.6 devices being released alongside 2.1 devices. If this isn't fragmentation then what is?

As has been posted, read some comments from users about how pissed they are that their 1.6 device won't run certain apps or is lacking features that could be implemented by a 2.x release but their carrier won't deploy any updates.

While the fragmentation can't be squarely put at Google's feet, there's a shared responsibility between the hardware manufacturers, the carriers and Google to ensure that this doesn't happen. Unfortunately this hasn't happened and Android is headed squarely toward a cluster fuck.

Re:Fragmentation is mostly FUD (4, Insightful)

Sancho (17056) | more than 4 years ago | (#32425412)

The stories just say that fragmentation is killing Android, but they provide no evidence. They are making the claims, here. I have found no evidence that there's a fragmentation problem. There are apps that don't work for all devices, but iPhone OS has that issue, too, and it's only going to get worse.

Re:Fragmentation is mostly FUD (3, Insightful)

sortius_nod (1080919) | more than 4 years ago | (#32425550)

Agreed, however the killing of the platform has started in minor ways, unless there's collaboration between carrier/manufacturer/Google it will end up as a platform that users don't want a bar of.

Let's face it, we're not talking about techies who can handle that some apps don't work, we're talking about users. They don't know the difference between a 1.6 & 2.1 device, they just see a phone with Android across the box. If it doesn't work they'll never buy another Android phone.

Sometimes it is difficult to step back and ask "What would a user do in this situation?". It's something that the IT industry seems to forget, that the users are what matters for a consumer device.

Re:Fragmentation is mostly FUD (1)

salesgeek (263995) | more than 4 years ago | (#32427084)

Got to agree with you. The "fragmentation" issue is a non starter, and is a good way to spot a pundit or expert that has no experience with Android other than molesting a phone at a cell phone booth in the mall.

Re:Fragmentation is mostly FUD (1)

Xtravar (725372) | more than 4 years ago | (#32426542)

As a former Windows Mobile developer, I am terrified. I now work on the iPhone, but my company is looking at the Android as a target platform. From what I've heard, Android seems like Windows Mobile all over again. And Windows Mobile was a disaster.

Re:Fragmentation is mostly FUD (1)

salesgeek (263995) | more than 4 years ago | (#32427128)

Well, here's the good news: Android is nothing like Windows CE. The fragmentation issue is a non starter, except with people who have no clue that Android apps run in a virtual machine, and are nearly totally insulated from the underlying hardware. Most of the whining about screen sizes comes from developers who want to use photoshop slicedowns as GUIs instead of using Android's GUI.

Why fragmentation is FUD: (3, Interesting)

symbolset (646467) | more than 4 years ago | (#32427230)

You will find the answer to this mystery in "The Cathedral and the Bazaar" [catb.org] by Eric S. Raymond [1992].

Basically, Microsoft and Apple are code cathedrals. Using the Cathedral system they can organize the labor of a great many people. In a Cathedral you can do anything that is permitted to be done in that Cathedral - which can be almost anything that brings the controlling powers profit really. But if you want to do something they don't want you to do, then you can't and there's nothing you can do about it but leave the cathedral or accept that you can't do that thing.

Android and the Linuxes are the Bazaar. It's noisy and chaotic. It can be harder to find things. Some of the things you find in a Bazaar are quite crude. But in the Bazaar you can do anything you want any way you want. The Bazaar is run by everybody in it, for each to his own benefit. Almost anything that can be found in the Cathedral can also be purchased in the Bazaar by a man with ready cash. Almost anything.

One thing that can be bought in the Cathedral but not in the Bazaar is the preventing of things you don't want others to do. If somebody wants to prevent the use of VP8 or Flash in the Cathedral, or the development of hardware platforms that don't run Windows, well, anything can be proscribed if the price is right. The Cathedral is run by the head priest, and not specifically for your benefit but primarily for the benefit of the Cathedral - because it's this self serving nature that makes Cathedrals persistent and powerful.

One is not necessarily better than the other. Each has merits, each has uses.

Re:Fragmentation is mostly FUD (1)

PitaBred (632671) | more than 4 years ago | (#32428350)

Are you also hesitant to buy any Apple products because the original 3G won't run iPhone OS4? That's fragmentation, oh noes!@@#!@#

Re:Fragmentation is mostly FUD (0)

Anonymous Coward | more than 4 years ago | (#32425600)

Obviously you don't develop on Android. Here's a few aspects that fall under the fragmentation category: Inconsistent accelerometers, cameras, depending on HW and device drivers. Some devices include Google Maps API, others don't. These two right from the top of my head.

Re:Fragmentation is mostly FUD (1)

BufferArea (794172) | more than 4 years ago | (#32427868)

This seems to be a developer centric sentiment. There is fragmentation if either the user or the developer sees it as a fragmentation issue. From what I've read, most developers see it as a small see either no fragmentation or a small fragmentation user. From many user's perspective, there is a huge fragmentation issue. A lot of this really a marketing and/or support issue. When a user buys a brand new, recently released smart phone, they expect to get the top of the line OS features - unless they're specifically told they're not going to get those features. It's pretty ridiculous that you can buy a new phone with Android v1.6 when 2.2 is available and not have official support to upgrade the OS. People want to treat their smart phones like the computers they are, which means they should be reasonably upgradeable on the OS level, not cheap disposable cell phones. Remember, for most users, saying there is an unofficial way to upgrade the phone OS is the same as saying they can't upgrade the phone. There are a lot of things to dislike about Apple, but at least they don't abandon their users once they have their money.

This wasn't his point, but..... (3, Insightful)

phantomfive (622387) | more than 4 years ago | (#32424584)

This wasn't his point, but the author of the article described the android fragmentation perfectly. Quote:

* Bugs - devices might simply have bugs, such as a buggy Bluetooth driver or an incorrectly implemented GPS API.
* Missing components - devices might omit hardware (such as a camera) that apps expect, and attempt to "fake" or stub out the corresponding API.
* Added or altered APIs - devices might add or alter APIs that aren't part of standard Android. Done correctly this is innovation; done poorly and it's "embrace and extend".

Each of these is an example of something that can make an app not run properly on a device. They might run, but they won't run properly. These are the things that I spend my time preventing.

The only thing I might add is that devices of different resolutions can be annoying, especially if your app has static images or custom widgets.

Screen res (1)

MrEricSir (398214) | more than 4 years ago | (#32424600)

Are the screen sizes a big deal? Application and web developers have dealt with this problem for decades now.

Re:Screen res (3, Insightful)

tlhIngan (30335) | more than 4 years ago | (#32424704)

Are the screen sizes a big deal? Application and web developers have dealt with this problem for decades now.

I think there's only two right now - HVGA (320x480), and WVGA (480x800), though there may also be VGA sized screens as well.

The big issue is that the density increases but the screen size remains the same, so if your app isn't DPI aware things get small and hard to control. Desktop app developers tend to be fixed DPI - a larger window lets you show more information. Ditto web developers. But high-DPI displays means you don't want to show more information, but you should scale everything up. Even pictures if it makes the picture grow from literal thumbnail to larger blob.

DPI-awareness is a difficult thing and many apps still get it wrong on the desktop, if you switch your Windows desktop to high-DPI mode.

Re:Screen res (2, Interesting)

Anonymous Coward | more than 4 years ago | (#32424772)

Motorola Droid is FWVGA, at 854x480

Re:Screen res (2, Insightful)

h4rr4r (612664) | more than 4 years ago | (#32424872)

Which you can just treat as 480x800, who will really notice the missing 54 pixels?

Re:Screen res (3, Insightful)

hedwards (940851) | more than 4 years ago | (#32424986)

It's not 54, it's 54*480 which is 25920. Which is a non trivial amount on a device that small.

Re:Screen res (3, Informative)

hitmark (640295) | more than 4 years ago | (#32424914)

DPI awareness is mostly a problem if your GUI toolkit is pixel based, rather then vector based. Especially if those pixels have hardcoded limits.

all the major linux UIs are moving towards using vector graphics for instance, and i think microsoft headed the same way with vista and later (tho win32 legacy programs will still be a pain, and why microsoft wants to see xp and older dead).

"The Web is not a 'print' medium!" (2, Insightful)

Dr.Dubious DDQ (11968) | more than 4 years ago | (#32425258)

Even now lots of web developers want to treat the browser view like a physical sheet of paper, demanding iron-fisted control over placement of everything on the page. This leads to all kinds of work to maintain the control. I keep wishing more web developers would get over this. Not only would I find it a lot easier to actually make use of their work on smaller screens (my Android phone, my netbook...), I think in the end it would be a lot easier for the developers, too.

It sounds like mobile application developers often have the same problem...

Re:Screen res (1)

TrancePhreak (576593) | more than 4 years ago | (#32426824)

This is why the Android SDK shows you how to use their 9patch drawing support.

Re:Screen res (1)

onkelonkel (560274) | more than 4 years ago | (#32425164)

"Are the screen sizes a big deal? Application and web developers have dealt with this problem for decades now."

Yes.

From what I've seen, they often deal with it poorly or not at all.

Now that 24" screens are cheap and plentiful a lot of bad web design is starting to show. For example "fixed width" layouts where all the content is in a narrow vertical strip bordered by eight inches of whitespace on both sides. Also sites that can't deal with anything but 96 dpi and overlap text or have it hanging off the sides of buttons when the resolution is set to, say, 120 dpi.

Re:Screen res (1)

OptimusPaul (940627) | more than 4 years ago | (#32425390)

I had been under the impression that most web devs still assume 72 dpi for screen resolution. I was also under the impression that browsers did as well.

Unmaximize and show two web pages (1)

tepples (727027) | more than 4 years ago | (#32426858)

Now that 24" screens are cheap and plentiful a lot of bad web design is starting to show. For example "fixed width" layouts where all the content is in a narrow vertical strip bordered by eight inches of whitespace on both sides.

Then unmaximize your window. Fixed width designs are meant for putting two web pages side-by-side. Windows XP and Windows 7 both support a split screen: in XP, you click one taskbar button, Ctrl+right click, and choose Tile Vertically, and in Windows 7, you drag each window to the left or right side of the screen.

Re:Screen res (1)

ergo98 (9391) | more than 4 years ago | (#32426802)

Are the screen sizes a big deal? Application and web developers have dealt with this problem for decades now.

No they aren't. Android 1.6+ has a very robust way of dealing with virtually any screen size.

http://developer.android.com/guide/practices/screens_support.html [android.com]

Re:This wasn't his point, but..... (2, Informative)

amicusNYCL (1538833) | more than 4 years ago | (#32424702)

This wasn't his point, but the author of the article described the android fragmentation perfectly.

Actually, that was specifically his point. From the preceding paragraph:

Now, that’s not to say that there aren’t real challenges in making sure that Android devices are compatible with each other, or that there aren’t very real concerns that keep app developers awake at night. There definitely are, and I spend a great deal of time indeed thinking about them and addressing them. The trick is to define them clearly.

..then he goes on to offer a definition for "Android Compatibility", and a few examples of problem areas (which you quoted). He then goes on to describe steps they have taken to mitigate the problems. The first step in solving a problem is to define the problem, and that's what he's doing.

Re:This wasn't his point, but..... (1)

DerekLyons (302214) | more than 4 years ago | (#32426106)

The first step in solving a problem is to define the problem, and that's what he's doing.

Except the problem he's defining is 'making sure apps are compatible with at least one hardware/OS combo" - and he pretty much stops there and declares victory. If they have something in the works to prevent fragmentation, that's nowhere apparent in the article.

Re:This wasn't his point, but..... (1)

Khazunga (176423) | more than 4 years ago | (#32426284)

You managed to read the article with a large bias. It *does* explain how to deal with the issues of fragmentation: a) guarantee APIs are forward compatible; b) have apps declare their hardware needs; c) minimize bugs/incompatible APIs using extensive testing.

Google does assume fragmentation is inevitable. That seems to be under discussion by some people here on /. Personally, I can't fathom how is fragmentation avoidable, unless by stagnation. Stagnation is quite the opposite of the Android ecosystem, which is evolving at a very fast pace (fast hardware and software release cycles).

If indeed fragmentation is inevitable, Google has seemingly defined the problem correctly and it looks like the solution is good.

Re:This wasn't his point, but..... (1)

peragrin (659227) | more than 4 years ago | (#32426830)

Limit hardware options and use planned obsolesce seems to be working for apple very well. 1 new phone yearly and support that phone for 3+ years. Limit battery replacement optioons to make the consumer make a choice. buy a new battery, or just get a new phone.

what is it 80% of consumers just buy a new phone when their battery doesn't hold the charge that it used to anyways. I know that is what i do. the average battery so far lasts me 2-3 years. iphone 3G is 2 years old and the original is going on 3. I know the battery life in my 3G isn't what it once was. Now I will look at options and find one that works for me. 99% of my music is in MP3 format anyways.

Re:This wasn't his point, but..... (1)

DerekLyons (302214) | more than 4 years ago | (#32427734)

You managed to read the article with a large bias. It *does* explain how to deal with the issues of fragmentation: a) guarantee APIs are forward compatible; b) have apps declare their hardware needs; c) minimize bugs/incompatible APIs using extensive testing.

You managed to not actually read the article, or only read the parts that agreed with you. Read a paragraph or two beyond what you quote above and read how they have to hide the existence of fragmentation by hiding apps from people who can't run them.
 
What you quote ensures compatibility, which is not the same thing as avoiding fragmentation.
 

If indeed fragmentation is inevitable, Google has seemingly defined the problem correctly and it looks like the solution is good.

Had they defined the fragmentation problem, you'd have a point. But what you've done is fail to read the article and fail to understand the difference between fragmentation and compatibility.
 
 

Google does assume fragmentation is inevitable. That seems to be under discussion by some people here on /. Personally, I can't fathom how is fragmentation avoidable, unless by stagnation.

We're in violent agreement on that point - I'm merely addressing the 'fragmentation is FUD/Google has solved the fragmentation problem' nonsense. Both statement are patently false.

Re:This wasn't his point, but..... (1)

Sancho (17056) | more than 4 years ago | (#32425452)

I don't think that an Android device with a modified API should be allowed to be called an Android device. That said, I've never heard of any apps for which this was a problem.

The camera thing...well that's an issue with iPhone OS, too. But most importantly, you can restrict your device to certain features in the marketplace, so this shouldn't be an issue.

Here, let me have a go (4, Insightful)

DavidR1991 (1047748) | more than 4 years ago | (#32424728)

"The thing is, nobody ever defined “fragmentation”"

Let me try: You have several different versions of Android 'in the wild' on different phones, different carriers, etc. There are different stances on whether these version of Android can be updated (based on manufacturer) etc. yadda yadda

Now, looking at that situation, I would say 'fragmentation' is more along the lines of 'Is it going to remain easy for to target Android phones in general considering how many versions currently exist [/not obsolete] concurrently?'

So yes, it is mainly about compatibility. But it also means (much like any other platform) if the version leaping continues (and so many versions exist concurrently all the time) playing to the 'lowest common denominator' of supported features will be required

Re:Here, let me have a go (1)

h4rr4r (612664) | more than 4 years ago | (#32424760)

Since the market will let you set which devices your phones works with you can very easily have two versions of each app to deal with the two screen sizes. This can also be used to restrict your app to phones running which ever android version you like.

Re:Here, let me have a go (0)

Anonymous Coward | more than 4 years ago | (#32424826)

you can very easily have two versions of each app to deal with the two screen sizes

Developers are lazy, this is why there are still mission critical apps that run on windows 98 out there, because the developer never bothered to write a version of the app that works in later OSes.

Re:Here, let me have a go (1)

hedwards (940851) | more than 4 years ago | (#32425058)

It's not that they're lazy it's usually because nobody has paid them to update it. That's a big difference indeed. Since they're presumably only being paid for upkeep, there's no money to do the work to bring it up to date and so it goes undone. However were they to be given the resources to bring it up to date, I doubt very much that it's less work to try to keep a long dead platform on a ventilator than it is to keep things up to date.

Re:Here, let me have a go (0)

Anonymous Coward | more than 4 years ago | (#32424840)

It restricts by OS, but I've never seen the ability to filter your app by device.

Re:Here, let me have a go (1)

h4rr4r (612664) | more than 4 years ago | (#32424912)

My mistake then. It filters by OS and hardware features, so you could use that to eliminate hardware you did not want to support. I should have been more clear.

Re:Here, let me have a go (1)

hitmark (640295) | more than 4 years ago | (#32424886)

my understanding is that it filters by minimum (and max if one want to) android version, and what specific "intents" (firmware/hardware features) the app requires. All this is feed by the device to the marketplace and so incompatible apps can be hidden away.

Re:Here, let me have a go (1)

FooBarWidget (556006) | more than 4 years ago | (#32424974)

I don't get your question. Just target Android 1.5. Aren't future versions backwards compatible?

Re:Here, let me have a go (2, Insightful)

Anonymous Coward | more than 4 years ago | (#32425000)

Aren't the newer versions of iPhoneOS not available for older ipods (and possibly iphones)? If that's true, I think the change in features between the versions is much less 'backward-compatible' than the change between Android 1.5 and Android 2.0, at least from an app's perspective.

For instance I doubt we'd find an iPhone developer willing to write their app for the iPhone OS 2.0 so that it'd work on older devices (and miss out on the cool multitasking of OS 4), whereas I'm sure that unless an Android developer had a specific new feature (such as contact integration), they'd stick their app as compatible for Android 1.5 and be available for the vast majority of phones.

Furthermore, having a little bit of experience writing an android app everywhere I looked they were trying to get you into good compatibility practices. Simply designing a different layout for a different screen size (which was just the layout itself, it still interacted with the same code) and checking that a feature was present on the device before using it.

I've seen iPhone developers stressing about their app running smoothly on both the 3G and 3GS due to the different specs; the problem is not Android's alone.

Re:Here, let me have a go (0)

Anonymous Coward | more than 4 years ago | (#32425392)

No, even the original iPhone can run the latest OS. So while there may be *minor* differences in hardware compatibility, you can always target the latest OS. For the android, if you target Android 2.2, you exclude most of the market because as far as I am aware, only the Nexus One has it. There may be a few others, but the vast majority is still stuck on 2.1 or less.

Re:Here, let me have a go (1)

OptimusPaul (940627) | more than 4 years ago | (#32425498)

Other than the iPod touch the iPods never had and never will have the iPhone OS let alone a newer version of it. To date I believe every iPhoneOS device can run the latest version of the OS. The difference between the 3GS and those that came before is the 3GS is considerably faster. There are other issues with missing hardware features on the older models as well, GPS, compass, video camera, iPhone is not immune to those little things. I think that the problem with Android's apparent fragmentation is that there are so many different hardware options it feels fragmented. Throw in the actual differences, which on their own are minor, and the problem seems a lot worse than it is. This is going to sound weird, but the main reason I haven't jumped into Android development is because there is no barrier for entry. Any loser can develop apps for android. That does two things in my mind. 1) floods the market with garbage 2) opens the door for malware, which we have already seen. Sure you can call me scared, but really I just want everyone to be held to the same standard as I am, and the standard I hold myself to is fairly high.... not as high as Apples standards, but much higher than the Android App store standards, which are none.

Re:Here, let me have a go (2, Informative)

Mr2001 (90979) | more than 4 years ago | (#32428278)

To date I believe every iPhoneOS device can run the latest version of the OS.

That won't be true for long. iPhone 4.x's pseudo-multitasking feature is only going to be available on the 3GS, not the 3G.

Any loser can develop apps for android. That does two things in my mind. 1) floods the market with garbage 2) opens the door for malware, which we have already seen.

We've seen malware for the iPhone too. A lot of good Apple's policy has done there, huh?

This doesn't solve fragmentation (0)

self assembled struc (62483) | more than 4 years ago | (#32424776)

This doesn't solve fragmentation at all. The problem is (from an app developer standpoint) is that there are too many variables in the android world to code an app once to run successfully across the ecosystem.

Say for example you've got an app that requires typing (an e-mail app).

You have to design a version for on-screen keyboards (because it'll use part of the screen real estate) separately from a version that uses a hardware keyboard. They don't need to be separate apps, but you need to design (visually at least) for both scenarios, or you end up locking out a good portion of the people who use android devices.

This design (and resultant porting) is exactly what killed the feature phone app market. Developers spent too long making ports of an app for the Sony w810, w900 LG VX9600, Motorola RAZR because each one implemented things JUST different enough, regardless of the JSR being implemented. Then you had to test each one fully.

Sure, there are 100,000+ android devices out there, but they're across a wide set of carriers and hardware, so in order to sell your app on all 100,000 of those phones you've got to tweak your app for each device.

Conversely, with the iPhone there's one hardware platform. One way to implement a keyboard. One way to call the Camera API (and if there's no camera, the app doesn't need to do anything different). This makes an app developers life MUCH easier since they only need to design and write ONE app to reach all 2+ million handsets out there, Apple's draconian and confusing app store submission policies not withstanding.

So fragmentation will ALWAYS be an android issue until they say "here is our reference hardware platform(s) -- you must use of these three sets of features when building hardware." Coincidentally this is exactly what MS is doing with Windows Phone 7 -- three hardware platforms, that's it. You still have to design your app three times, but at least you know that if you design for one hardware platform, ANY device within that platform by ANY manufacturer on ANY carrier will have the same exact limitations and abilities.

Re:This doesn't solve fragmentation (1)

hitmark (640295) | more than 4 years ago | (#32424846)

the impression i have gotten on the default android keyboard at least is that it works independent of the ui of the app in use at the time. It will fade out the entire app, and display what your typing in a area above the keyboard rather then attempt to stuff it inside the ui of the app.

Re:This doesn't solve fragmentation (5, Insightful)

h4rr4r (612664) | more than 4 years ago | (#32424850)

The hardware vs onscreen keyboard does not require two apps.

The iphone is not one platform, there are 3 different phones and there is about to be a forth.

Re:This doesn't solve fragmentation (2, Informative)

Darkman, Walkin Dude (707389) | more than 4 years ago | (#32425030)

So fragmentation will ALWAYS be an android issue until they say "here is our reference hardware platform(s) -- you must use of these three sets of features when building hardware."

To an extent that's already happening. Phone goliath Nokia among others are setting up an alternative [networkworld.com] to appstore:

Twenty-four mobile network operators have formed the Wholesale Applications Community to avoid fragmenting the apps market and to give developers one point of entry to all the members, the GSM Association announced on Monday.

The operators will now start working on uniting their existing developer communities, so developers will be able to go to one place to get their applications distributed instead of having to go through multiple application approval processes.

The community will also start working on a common development standard that should be ready within the next 12 months. The standard will be independent of phone type and operating system, according to the members.

That will allow them to better compete against Apple's App Store or Google's Android Market, which have independent and competing approvals processes tied to their phone or operating system.

"Developers are going to have a lot more access to a lot more customers," said Alex Sinclair, chief technology and strategy officer of the GSMA, at a news conference at the Mobile World Congress in Barcelona.

The Wholesale Applications Community members include: AT&T, China Mobile, Deutsche Telekom, NTT DoCoMo, Orange, Telefónica, Telenor Group, Sprint, Verizon Wireless and Vodafone. Together the operators in the group have about 3 billion subscribers, the GSMA said.

The group has the full backing of the GSMA and the list of supporters will grow in the coming days. "There are several people who are annoyed they couldn't get their name on the list in time," said Sinclair.

Apple is not among those clamoring to be added to the list, but if the company wants to join the group, "it will be welcome," he said.

Just like many phone manufacturers, operators have seen the success of Apple's App Store and want a piece of the pie. Some, including Orange, Verizon and Vodafone, have already launched their own application stores.

Mobile phone manufacturers LG Electronics, Samsung and Sony Ericsson have also voiced their support for the apps community.

The Wholesale Applications Community faces a number of obstacles, according to analysts at CCS Insight.

"Operators are trying to regain control of apps, but have a poor track record with this type of industry consortium," they said in a research note.

"Big challenges remain overcoming inconsistency between standards bodies like JIL and Bondi," the analysts continued, referring to the Joint Innovation Lab created by a group of mobile operators including Vodafone, China Mobile, Softbank and Verizon Wireless, which also has the support of phone manufacturers LG Electronics, Research in Motion, Samsung Electronics and Sharp.

There is no competition between the Wholesale Applications Community and JIL, as all members of JIL are also members of the community, according to Sinclair.

"The last thing we wanted was a Jack versus JIL situation," he said. The groups hope to converge their various specifications within 12 months, he said.

These are some seriously big names, big enough to knock it out of the park if they wanted to.

Re:This doesn't solve fragmentation (1)

Darkman, Walkin Dude (707389) | more than 4 years ago | (#32425798)

Correction, not Nokia, but 3 billion customers is hard to argue with.

Re:This doesn't solve fragmentation (1)

uprise78 (1256084) | more than 4 years ago | (#32425034)

Amen and well said. It amuses me to no end seeing the comments from people who have never developed for a mobile device saying fragmentation is BS and desktop has been dealing with it for years so it's no problem at all. What a joke. Try developing an app where: - there may or may not be a physical keyboard - the screen resolution may or may not differ - the screen aspect ration may or may not differ - the screen DPI may or may not differ - the camera may or may not work (or exist) - the RAM could vary wildly - the processor could vary wildly - there may or may not be multitouch - the screen may or may not be of decent enough quality to accurately and quickly detect touches The list goes on and on and on and it will only get longer over time. I just cant wait until there are tablets of every conceivable configuration and OS version on the market. Even then there will be my good buddies commenting on how "fragmentation is FUD".

Re:This doesn't solve fragmentation (2, Informative)

Darkman, Walkin Dude (707389) | more than 4 years ago | (#32425174)

It amuses me to no end

Is that you, Lo Pan [moviewavs.com] ?

Re:This doesn't solve fragmentation (1)

rickb928 (945187) | more than 4 years ago | (#32425068)

"You have to design a version for on-screen keyboards (because it'll use part of the screen real estate) separately from a version that uses a hardware keyboard. They don't need to be separate apps, but you need to design (visually at least) for both scenarios, or you end up locking out a good portion of the people who use android devices."

Please, tell me what the name of any of your apps are, since they would be the FIRST I have seen that bother to code for different keyboards. The rest all just let the screen sit, and let the Android keyboard cover them up.

I've learned to deal with this, but on some web pages, the keyboard covers up the form no matter what I try, so Steel and the Browser fail here. The Craigslist app I use covers up option button on their form. Maps in search ditto, but nothing is lost.

This is a nonissue, unless you've coded to move your screen intelligently to keep required real estate visible despite the keyboard.

Actually, I meant to call you out. This is a BS issue for me. But hell, I'm just a user. I know nothing.

Re:This doesn't solve fragmentation (1)

Skuld-Chan (302449) | more than 4 years ago | (#32425242)

So what happens if Apple releases an iPhone with a blackberry like keyboard - something which a lot of enterprises have asked for? You need to write a condition check to see if the device has a keyboard, or if it doesn't and act accordingly.

You can write a filter for your application manifest to filter the app so it doesn't appear on Android phones without a keyboard.

Or you could write two versions like you say.

There's 3 solutions for you.

This problem seemed to be solved ages ago on Symbian ;).

Re:This doesn't solve fragmentation (1)

salesgeek (263995) | more than 4 years ago | (#32427416)

Or you could just use Android's libraries and widgets and let the OS pop up the onscreen keyboard when someone taps into a text field or accept keyboard input when a slider's keyboard is open. Ironically, those phones with keyboards actually use both the onscreen keyboard (when the phone is closed) and the hardware keyboard. The whole thing is largely invisible to the programmer.

Oh, and you have one app.

Re:This doesn't solve fragmentation (1)

ToasterMonkey (467067) | more than 4 years ago | (#32425686)

So fragmentation will ALWAYS be an android issue until they say "here is our reference hardware platform(s) -- you must use of these three sets of features when building hardware." Coincidentally this is exactly what MS is doing with Windows Phone 7 -- three hardware platforms, that's it. You still have to design your app three times, but at least you know that if you design for one hardware platform, ANY device within that platform by ANY manufacturer on ANY carrier will have the same exact limitations and abilities.

Microsoft does that for desktops too, and probably any device that runs a Windows OS for that matter. In order to get the little Windows badge, the computer has to have certain minimum specs. It doesn't seem like much, but if they didn't have any kind of certification program, things could be much, much worse in Windows land. Windows Media Center PCs all had to have TV tuners and DVD/CD burners for example, and I'm sure there were more requirements besides the obvious.

Google will probably have to do the same to stay ahead of Apple, or any combined HW/SW maker, or at least to stem fragmentation.

Another way to look at this, and something I think many are overlooking here is _future_ features. Android can't effectively lead in features if they have to wait for the phone manufacturers to one by one adopt the latest proven iPhone features. They'll have to do what Microsoft does and sweet talk the hardware manufacturers into somewhat simultaneously supporting a new feature and that's not even easy for Microsoft to do. Otherwise, Android phones might once in a while sport bleeding edge features, but not in a consistent way, and Google wouldn't be able to take advantage of them until the feature was widespread and supported by multiple manufacturers.

This same stuff plays out between OS X and Windows, Macs and PCs all the time. Apple can say "from now on, all devices will have X, build rich software around X", even "all new device wont have Y", wheres Microsoft and Google have to work harder to pull off projects like Microsoft's Media Center PCs or get rid of floppy drives, or 16-bit BIOS for example. A more recent example is HP's push into touch screen desktops. Apple could probably sit on its ass for few years at this rate, say "let there be touchscreen Macs" and leave the Windows touch screen PC (wherever they end up then) in the dust, playing catch up!

I would clarify that fragmentation affects iPhones, Android phones, PCs and Macs but the difference is Apple can control it.

Re:This doesn't solve fragmentation (5, Interesting)

ergo98 (9391) | more than 4 years ago | (#32426868)

The problem is (from an app developer standpoint) is that there are too many variables in the android world to code an app once to run successfully across the ecosystem.

Yet strangely many people are successfully doing this.

You have to design a version for on-screen keyboards (because it'll use part of the screen real estate) separately from a version that uses a hardware keyboard. They don't need to be separate apps, but you need to design (visually at least) for both scenarios, or you end up locking out a good portion of the people who use android devices.

Completely wrong. Where are you getting this from?

Sure, there are 100,000+ android devices out there

Over 100,000 Android devices activated per day.

so in order to sell your app on all 100,000 of those phones you've got to tweak your app for each device

No you don't. You have no idea what you're talking about. And you're at Score:4 right now, which is shameful.

One way to call the Camera API

Ugh. You shouldn't have posted because almost everything you have said is just completely wrong.

The Android developer platform is extraordinarily universal. There's a density independent pixel format (which is how an app looks almost the same on a 320x480 screen as it looks on a 480x800 screen), support for varying screen ratios, a single way to inter-operate with the camera and send emails and read the GPS signal and get orientation signals, or even do advance OpenGL graphics.

One app to rule them all.

There are of course differences and occasionally "quirks". If you make a rich graphics game it's going to run terribly on a G1. Flash is only available on some devices. And of course if you have to target a newer API, presumably because it has a feature that you can't live without, you limit your app to that version and above (just as if I use Transactional Filesystem calls my Windows app would be Vista or newer).

Re:This doesn't solve fragmentation (2, Insightful)

adolf (21054) | more than 4 years ago | (#32428344)

And of course if you have to target a newer API, presumably because it has a feature that you can't live without, you limit your app to that version and above

Indeed. There have been several occasions on which I was forced to upgrade the OS on my iPod Touch, just to use a new app. ("Forced" as in: The app would not bloody install on the software version I was running.)

And, of course: On the iPod Touch, OS upgrades sometimes cost actual money.

So. If we assume that fragmentation is a problem, then it is very plain that it is not an Android-specific problem.

Re:This doesn't solve fragmentation (1)

salesgeek (263995) | more than 4 years ago | (#32427380)

there are too many variables in the android world to code an app once to run successfully across the ecosystem.
Fail. There already are thousands of apps that work across everything from the original G-1 to the latest, greatest device from HTC, Moto, Samsung or whoever.

You have to design a version for on-screen keyboards

I suppose you could do that, if you wanted to spend 90% of your money rewriting libraries that are part of the Android operating system. And your app would be huge. It's a lot easier to use Android's widgets and let the operating system help you out with things like keyboard input and the like. If you do it right, the user can pick from the 25 or so virtual input devices in the market and enter text in the format they like. These really aren't a big deal, and are in many ways the same issues we've dealt with for years with Windows and Macintosh applications running on different size monitors, with different resolutions and different pixel densities.

So fragmentation will ALWAYS be an android issue until they say "here is our reference hardware platform(s) -- you must use of these three sets of features when building hardware."

You have a very fundamental lack of understanding of how computers work. This is what operating systems, device drivers and APIs are for. I code to the GPS API. The API talks to the driver, the driver to the hardware, and the OS orchestrates everything. I don't have to know the details of the underlying hardware. This is also not a new concept in computers and is one of the reasons operating systems exist - to abstract hardware details. Most OSes have an open file command. That command makes all the software and hardware that goes into accessing something stored in a compressed, encrypted hard drive invisible to the programmer. Same goes with keyboard input. With Android, it goes a level deeper - Android apps, even when ran on an Android phone run inside of a virtual machine that insulates the application from raw hardware nearly completely.

Coincidentally this is exactly what MS is doing with Windows Phone 7 -- three hardware platforms, that's it.
Microsoft has certainly not been doing a knock out job in the decision making department for several year, outside Xbox. They've lost the catbird's seat in mobile phones, and their CE/Mobile operating system hasn't evolved much in ten years. MS is now trying to replicate the iTunes model, and not trying to come out with a world beating platform. It's remarkable how far away this strategy is to how MS became the biggest game in the computer business. They allowed rapid evolution of hardware. They encouraged their customers like Compaq, HP, ALR, IBM, Dell and Gateway to push envelopes and bring better, faster computers on an almost weekly basis for 20 years.

Re:This doesn't solve fragmentation (0)

Anonymous Coward | more than 4 years ago | (#32428170)

It would seem that you have never done Android development. As an Android developer, let me tell you that all your fears are entirely unfounded. If you are developing two versions of your UI, one for physical keyboard and one for virtual keyboard, then you are a useless developer who should go back to VB. Fragmentation is simply not a problem when you are developing apps. You pick your target version (say, 1.6), and your are then limited to its APIs. As the article states, Android is 100% forward compatible.

Unlike JME, Android really is code once run anywhere. I have yet to encounter *ANY* device-specific bugs across a dozen different Android phones. They have all functioned exactly as the documentation said they would.

Basically, follow the Android documentation and your code will work. Don't follow the documentation and you're an idiot.

Also, Android uses density independent units by default for just about everything. So if you are drawing in pixels, you're doing it wrong.

Open source (0)

Anonymous Coward | more than 4 years ago | (#32424786)

you bitches take it up the ass.

hrmf... (4, Interesting)

hitmark (640295) | more than 4 years ago | (#32424812)

this should have been made perfectly clear from google's side from day one. Yet everyone kept talking about android marketplace as if it was a part of the android source until the first android based devices without marketplace showed up, and none could figure out why.

i only ran into it after ranting about google's mismanagement of marketplace access on some forum, and got a link handed to me.

another issue is that 1.6 required that a compatible device could function as a phone. So any device thats been in development since 1.6 was first released, wont have marketplace unless its a phone or stalls its release until they can get 2.1 or newer working and approved by google. And even then the max resolution of the screen is 800x600, and i think the screen size is in the 5-7" range.

basically, google is lagging badly behind where third parties want to go with android. And its not helping that marketplace is only really usable in select nations so far (and when a sim is inserted into the device).

Re:hrmf... (0)

Anonymous Coward | more than 4 years ago | (#32425276)

And its not helping that marketplace is only really usable in select nations so far (and when a sim is inserted into the device).

My Motorola Droid works perfectly well without a SIM ...

Re:hrmf... (2, Informative)

dave562 (969951) | more than 4 years ago | (#32425308)

basically, google is lagging badly behind where third parties want to go with android.

That sound eriely familiar to the way they handled Google Apps. I was all gung ho to replace my Exchange server with Google Apps but there were a couple of not so minor little details to be addressed. I tried to get an answer from Google but couldn't get one. Everyone suggested talking to a GAPE partner. I tried to ask the GAPE partners the same questions and their response was, "Google assures us they're working on those features. No, we can't tell you when they will be ready. No, we really can't. Google won't tell us when new features are coming. Here, why don't you try this work around...."

Re:hrmf... (1)

Namarrgon (105036) | more than 4 years ago | (#32427952)

So you're saying, you want *more* fragmentation, is that it?

Let me suggest Windows Mobile. Wide range of hardware, all sorts of screen sizes and resolutions, non-phone devices - should meet all your requirements, does it not?

The problems is also that you can't upgrade (0)

Anonymous Coward | more than 4 years ago | (#32424822)

The problem I see with Android is that companys that makes Android phones like to add there own UI, and when a new version of Android OS comes out. they can't upgrade it, and it takes month for them to upgrade... And you have to wait for that (if they even want to upgrade the firmware)
If only they made UI modual based, or made the specific drivers avervebel. So when google releases a new version people can upgrade rigth away.
Maybe have the option to say, run native Android whit out the vendors UI.
Or wait to the ventor update the UI.

Personly I would reather run the newest Andorid without fansy UI, then run a old version.

HTC still have alot of there phones on Android 1.5 (some gets 2.1 update this month i Europe) And they have said that some of the phone will never get 2.2 version.
Sony Ericsson's frist Android phone runs 1.6 and will get a 2.x update in August/September. If it's not delayd.

Make is so costumers can easy upgrade to the newest version, and don't have to wait/hope for vendors to release an update. Will help alot.

Welcome to the real world, dear Android (0)

Anonymous Coward | more than 4 years ago | (#32424944)

Honeymoon is over! Now face the reality of wild variations in hardware people like to put into phones (trust me, it's not just screen size!) and inevitable variations in driver implementations. And welcome the flak you get when things inevitably start breaking.

To an extent, this discussion is reminiscent of Java J2ME. Sun's done a lot to maintain compatibility across implementations. Despite tens of thousands of unit tests and logical and stringent versioning, differences in implementations inevitably creep up. Notwithstanding other problems (licensing & java verified program) this has been slowly choking J2ME for years.

They openly admit fragmentation exists (1)

DerekLyons (302214) | more than 4 years ago | (#32425216)

The amusing part is TFA doesn't say what they submitter thinks it does - they openly admit fragmentation exists. And their response to fragmentation? "Android Market makes sure your app is only visible to those devices where it will run correctly, by filtering your app from devices which don't have the features you listed".

And thus, magically, since no one can download an app that they cannot run - fragmentation is gone. (It should go without saying this is laughable.)

Google is making sure that your app will run one someones hardware/OS, but that's a far cry from making sure it runs on all hardware/OS combinations.

Re:They openly admit fragmentation exists (1)

Gansan (789505) | more than 4 years ago | (#32425790)

I totally agree. The "solution" he describes at the end is actually formalizing the fragmentation and accepting it! It does help the end user by hiding it, but it doesn't really solve the fundamental issue.

Re:They openly admit fragmentation exists (2, Insightful)

Namarrgon (105036) | more than 4 years ago | (#32427996)

Oh for.. look, how do you propose to make e.g. a GPS tracking app run on a device that doesn't have GPS? (yes, I'm aware all Android devices must have GPS) How is allowing apps to use specialised hardware on Android any worse than allowing apps to use the compass on an iPhone 3GS, but not on a 3G? or camera apps on an iPhone but not an iPod?

The only way to avoid fragmentation as you define it is to have one unchanging, stagnant piece of hardware that only runs one version of the OS, on one network from one vendor. Even Apple doesn't do that.

Let me get this straight (1)

nurb432 (527695) | more than 4 years ago | (#32425372)

1 - We hate apple beacuse they are closed ( but predicable )
2 - We hate android beacuse its not predictable ( but open )

Cant have it both ways...

Oh, and #3 - We hate windows phones, just beacuse..

Re:Let me get this straight (1)

ekhben (628371) | more than 4 years ago | (#32426240)

I would hate Windows phones, but I'm having trouble finding one to hate on...

But let me answer your original point with a diagram [google.com] .

Alternate UI's (1)

sunfly (1248694) | more than 4 years ago | (#32425662)

One of the disasters on Android is that handset makers are allowed to make their own custom UI. Does HTC better google in some ways? Absolutely. But users and developers both need a consistent UI to use and design for.

As a consumer I really wanted to support Google's carrier independent supply chain by purchasing a Nexus 1, but the screen was terrible. Hoping to grab a newer HTC, but they have their own custom UI. May end up with the new iPhone after all.

It's a huge issue to app developers, not Googlers. (5, Informative)

pocopoco (624442) | more than 4 years ago | (#32426078)

I've developed 7 Android apps and the huge diversity of Android versions and devices out there really is a nightmare. I have an enormous number of extra code paths due to it. All this extra complexity makes apps tougher to write, tougher to test, tougher to debug, tougher to enhance.

Some examples of bizarre stuff I have to do:
Android 1.5 has a Java NIO bug that forces me to copy data to a temporary array on its way to buffers to be rendered via OpenGL. This hurts performance on older phones that often need it the most. It also means I have to do more testing to make sure both code paths are well exercised. I bet many developers don't even realize the bug is there an just have broken OpenGL apps on Android 1.5. The bug fix would be trivial to port back to Android 1.5, which would make it drastically more likely to get on to these older phones, but there's no sign this will ever happen. Do I keep code paths like this? Or do I give up the 25% of the market that is Android 1.5? Neither is desirable.

Another really frustrating one is how I have to detect specific devices and request certain size depth buffers just to get decent performance. Hardware graphics acceleration is only enabled on the Samsung Galaxy for depth buffer size 16, for example, not for no depth buffer. Depth buffer size 24 works best on the Droid, etc.. The Galaxy has had this bug for a very long time. The Archos tablet has no hardware acceleration and there are promises that cheaper phones will be similar. Do I write all the extra code for adjusting rendering for each of these? Or do again give up large swaths of the market?

Anyway, I'm constantly dealing with issues like this. It is really disappointing that Android team, the carriers, and the device manufacturers don't do more to prevent it. Doing things like back porting fixes so that older phones can be more trivially updated would help enormous numbers of apps and app developers compared to the very few resources needed on Google's part to do it.

Meanwhile Google isn't even interested in solutions to these problems from what I've seen. One developer brought up another potential solution during a session at Google IO. He suggested making the highest level of Android a distributable framework, like .NET. This would allow updating it much easier. Not nearly as many phones would be stranded with old, buggy versions of the Java portion of Android at least. The Google staffers just brushed the idea off without even discussing it. They said fragmentation should really be called progress and to deal with it.

This isn't really surprising. If you look at a recent app produced by Google, the Twitter app, you'll see that it is unavailable to a huge percentage of the market because they don't support older versions of Android with it. Independent developers can't afford to ignore large sections of the marketplace like that. Google isn't in the app business, so the Googlers just go ahead and ignore the issue. You can see a graph of the versions of the devices on Android Market here:
http://developer.android.com/intl/fr/resources/dashboard/platform-versions.html [android.com]

And of course there are plenty of devices not on Google's market, many of which are even less likely to receive updates because they are updated by PC software rather than over the air.

So Googlers aren't even eating their own dog food on this issue. They just make app developers put up with it on their own, never experience it themselves, and then ridicule the issue as a bogeyman. I think I was happier before I read the blog post. At least then I could imagine they were working hard on the issue and just doing terrible at it. Now I know they don't even consider it an issue.

Re:It's a huge issue to app developers, not Google (3, Insightful)

ergo98 (9391) | more than 4 years ago | (#32426894)

Or do I give up the 25% of the market that is Android 1.5?

Most of the phones that run 1.5 right now are terribly underpowered -- OpenGL on a G1 is almost a sick joke.

If you're targeting OpenGL, you probably should cut your losses and cut them.

If you look at a recent app produced by Google, the Twitter app, you'll see that it is unavailable to a huge percentage of the market because they don't support older versions of Android with it.

The Twitter application is an Android showpiece app, which is why it targets 2.1. They wanted to use animated wallpaper, quick contact bars, and so on, to highlight the best of the contemporary platform. Aside from the fact that about 50% of Android phones are running 2.1 right now, most other phones are going to see a 2.1 upgrade in the relatively short term. I suspect Google intentionally targets 2.1 to try to motivate the vendors to expedite their upgrades.

Re:It's a huge issue to app developers, not Google (1)

Namarrgon (105036) | more than 4 years ago | (#32428060)

He suggested making the highest level of Android a distributable framework, like .NET

I thought Java was a distributable framework, like .NET. And I doubt every .NET runtime (including Mono etc) is completely bug-free either.

And Google have already said they planned to spin off components of the OS, where possible, to make updating those components much easier.

Look, you make a fair point about dealing with different hardware and different bugs, and I sympathise, but these sort of time/market tradeoffs are nothing new, especially on popular platforms (Windows and Linux PCs, Macs too, huge varieties of graphics hardware, memory, CPU speeds, screen resolutions, OS versions, driver versions, blah blah - I run into it too). The only way to avoid it is to buy into a single, locked-down platform (like e.g. a specific game console) - which risks stagnation, and limits your market.

Re:It's a huge issue to app developers, not Google (1)

joeytsai (49613) | more than 4 years ago | (#32428126)

The bug fix would be trivial to port back to Android 1.5, which would make it drastically more likely to get on to these older phones, but there's no sign this will ever happen. Do I keep code paths like this? Or do I give up the 25% of the market that is Android 1.5? Neither is desirable.

If they made an update, say 1.5.1, you would still want the old code path for the devices that hadn't upgraded - which leaves you in exactly the same position you are in now.

Another really frustrating one is how I have to detect specific devices and request certain size depth buffers just to get decent performance.

I'm not sure what you want Google to do about this. Do you want Google to dictate a certain hardware spec to all the vendors? If you favor a consistent platform (more or less) from a well-known set of hardware on a single carrier, you should go with Apple.

This is simply software engineering - taking one set of trade-offs for others. If you want newer features, you target the later API, at the cost of a smaller audience. These are all very straight-forward cost/benefit decisions, that YOU get to make, not Google. This is the strength of the open platform.

Through the market you can reach an enormous diversity of devices, which translates to a huge audience. I agree - it would be an amazing world if you could write a app once that works flawlessly on all of them. But as a software developer myself, I don't think that expectation is reasonable. That being said, I think Android does work quite well, and good luck on another platform like WinMo7.

Just a little off topic... (1)

awyeah (70462) | more than 4 years ago | (#32427774)

... but - are we starting to see fanboyism in the Android realm?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>