Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not an android developer, but I am curious. Why is it that testing on dozens/hundreds of platforms is considered essential for cell phones, but not for PCs? Is android just that much worse at abstracting hardware than traditional OS'es?


Because it is early days for Android still (don't forget Android is less than 5 years old), and manufactures are still doing wacky things, and people are still uncovering bugs and edge cases.

In the early days of MS-DOS compatibility was a big problem too. Magazines used to use MS Flight Simultor to test how compatible PCs were - plenty failed that.


There is a difference though: The IBM PC was the undisputed gold standard for compatibility. Software typically listed the hardware requirements as "IBM PC or 100% compatible". (Some non-IBM-compatible DOS hardware was sold, but it died out pretty quickly).

It doesn't look like there any similar gold standard is emerging for phones.


That's not really true.

For non gaming apps, testing on Samsung & HTCs is usually enough to cover 90% of the market.

Gaming graphics makes that more complicated, but the truth is that people still find driver and game bugs on Windows.


> Why is it that testing on dozens/hundreds of platforms is considered essential for cell phones, but not for PCs?

I'm pretty sure it's not. Do you really think everyone who's written a successful Android app has a full stable of hundreds of phones?


Since when do developers for PC applications reach 100% compatibility with any hardware/OS combination out there without testing on dozens of platforms? (The guy in the article with the 400 devices is trying to achieve 100% compatibility) We use about 6-7 different devices in our Android team and cover 95% of our target audience with that. (its a VoIP/messaging app with millions of customers)


But you have to remember that the small percentage of people who have problems can post feedback that is visible straightaway to potential customers. There isn't such a negative feedback loop for PC applications. It's one of the reasons why it would be good if the Android market let you specify which hardware your app was good for.


You can do this on Android:

1) Filter via your manifest file: Allow installation only on devices with certain screen sizes or hardware like GPS or Camera

(Description: http://developer.android.com/guide/appendix/market-filters.h... )

2) Filter via Developer Console: Exclude specific device models or countries


If every manufacturer of a windows based laptop was allowed to fork windows and customize it to their liking, you'd be looking at the same issue.


For graphics-heavy apps, a common problem is that the OpenGL hardware and drivers on many Android devices are crappy, so some graphics problems or crashes might only happen on a specific combination of device and OS version.


I think that one reason is that the handset manufacturer thinker more with Android than they do with a traditional OS. One example is the vendor specific themes.

Another reason for the higher focus on QA is "user ratings". Before companies didn't have to worry much about not supporting all users. With mobile a small percentage of users can give you a bad rating. The bosses are terrified about bad public ratings! :)


There are 8 standard screen sizes as well as 3 popular OSes. Of those are 4 major OS updates and 4 new screen sizes introduced since IO last year.


I'm not sure either, but I think screen size/resolution/aspect ratio and different hardware "tools" (ie cameras with different resolutions, does it have one led or 2 for flash, etc) have potential to be problems.

I'd like to hear more on this issue though.


Because all PCs have the same screen size, resolution, and aspect ratio? Please.


I don't buy this line of argument regarding app design.

Next time you fire up your image editing program on a PC resize the window to 90%, 70%, 50%, 30%. Try and use your application.

At the smaller windows sizes you just can't. There is simply not enough real estate to accommodate the UI.

Desktop applications have simply assumed you have a certain amount of real estate at some given level of technology. Anything better is usually just gravy since you have everything you need on your screen.

We know simply resizing does not work. Just try an iPhone app on an iPad at 2x.

I'd wager the points where you have to reconsider the UI are much closer together at small sizes. An extra half inch in screen size could allow just one more icon and make your app that little bit nicer to use.

Even if you fix the hardware compatibility problem (they solved it for PCs) it's still going to suck without new ways to design apps.


To a more limited extent, complications PC programs do have compatibility issues with obscure combinations of users' hardware, software and firmware.


I'm going to go out on a limb with this claim: Developing Android apps that run across different phones really isn't any harder than developing Windows apps that run across different PCs.

The real issue, I'm convinced, is that a bunch of people with no previous development experience jumped in with the iPhone gold rush. Then these people decided to branch out to Android and are shocked and horrified when something works slightly differently on their customer's phone than when it does on their phone.

God forbid that these people should every try developing Javascript applications that have to support support IE. :-D


Almost all PC screens are big enough that you can do a reasonable application design that works well on small and large screens, at least for most applications.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: