Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/26/2013 12:39 AM, Omer Gilad wrote:

.I am wondering how developers here are dealing with the fact that there
are 1000's of devices out there, some of them running your applications
in very broken ways
.I keep running into these kind of issues again and again for the past 3
years, and to be honest, I'm fed up with it
.I've decided to move to iOS development, and the only way to convince
me otherwise is to give me a decent, reliable way of dealing with
fragmentation


[snip]


To make it clear, I'm not talking about official fragmentation.
I don't talk about different screen sizes, densities, features, OS
versions and so on.
I talk about the unofficial fragmentation. The fact that most devices,
even the popular ones from the big companies like Samsung, HTC,
Motorola, LG and so on, contain tons of implementation bugs that prevent
apps from working correctly.
I'm talking about the fact that you can call a certain simple API, test
it on a stock Android ROM (like on Nexus 4), and then have your
application crash on some Samsung, that decided to break the
implementation because of some customization.

How can people stand that?
How is it possible to write code, when the machine that executes it is
completely broken in unexpected ways?


[snip]

I feel a little put off by this.

Never had issues like the one you describe when doing the things are 
they are supposed to be done (following the docs and guide lines).


When someone talk about fragmentation in Android I laugh. Seriously.
in iOS if you want to support different device you literary has to 
develop twice. True, they do not have has many devices. But Android is 
designed from the ground to support the fragmentation:
- you can address different API with just an if in your browser or using 
-v14 in your resources/layouts/values
- You have fragment and the support library bring backs most of the 
features you need for supporting old devices


Reading your message and the replies you get it seems like everybody is 
experiencing bug in how the API is implemented.


I don't trust you.
What I think is that either I am be always very lucky either you did 
something wrong.


I'm open to change my mind, but I'd like to have some practical example, 
you seems to have many since you spend most of the time fixing them.


Why don't you share what they are? Maybe you'll discover you are doing 
something you shouldn't or if you are right it could be a start for 
other developers to have a list of gotchas and issues you have to be 
aware off making life easier for everyone.



Regards,
Daniele Segato


--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Piren
Either you intentionally ignored the message of his post or you're playing 
dumb.
No one is complaining about fragmentation (which sucks, but that's besides 
the point).

We're talking about APIs not performing as they should.If you claim that 
this never happened to you, you're either lying, inexperienced, without a 
user base, targeted a single device or haven't used any of the APIs beyond 
doing an app with a single clickable button.

How about you trying writing some code that deals with Bluetooth, Sound, 
Graphics and Sensors (especially the camera) ... run that code on 20 
different devices, then tell us that the APIs are flawless.



On Wednesday, July 31, 2013 1:40:14 PM UTC+3, Daniele Segato wrote:

 On 07/26/2013 12:39 AM, Omer Gilad wrote: 
  .I am wondering how developers here are dealing with the fact that there 
  are 1000's of devices out there, some of them running your applications 
  in very broken ways 
  .I keep running into these kind of issues again and again for the past 3 
  years, and to be honest, I'm fed up with it 
  .I've decided to move to iOS development, and the only way to convince 
  me otherwise is to give me a decent, reliable way of dealing with 
  fragmentation 
  
 [snip] 
  
  To make it clear, I'm not talking about official fragmentation. 
  I don't talk about different screen sizes, densities, features, OS 
  versions and so on. 
  I talk about the unofficial fragmentation. The fact that most devices, 
  even the popular ones from the big companies like Samsung, HTC, 
  Motorola, LG and so on, contain tons of implementation bugs that prevent 
  apps from working correctly. 
  I'm talking about the fact that you can call a certain simple API, test 
  it on a stock Android ROM (like on Nexus 4), and then have your 
  application crash on some Samsung, that decided to break the 
  implementation because of some customization. 
  
  How can people stand that? 
  How is it possible to write code, when the machine that executes it is 
  completely broken in unexpected ways? 
  
 [snip] 

 I feel a little put off by this. 

 Never had issues like the one you describe when doing the things are 
 they are supposed to be done (following the docs and guide lines). 

 When someone talk about fragmentation in Android I laugh. Seriously. 
 in iOS if you want to support different device you literary has to 
 develop twice. True, they do not have has many devices. But Android is 
 designed from the ground to support the fragmentation: 
 - you can address different API with just an if in your browser or using 
 -v14 in your resources/layouts/values 
 - You have fragment and the support library bring backs most of the 
 features you need for supporting old devices 

 Reading your message and the replies you get it seems like everybody is 
 experiencing bug in how the API is implemented. 

 I don't trust you. 
 What I think is that either I am be always very lucky either you did 
 something wrong. 

 I'm open to change my mind, but I'd like to have some practical example, 
 you seems to have many since you spend most of the time fixing them. 

 Why don't you share what they are? Maybe you'll discover you are doing 
 something you shouldn't or if you are right it could be a start for 
 other developers to have a list of gotchas and issues you have to be 
 aware off making life easier for everyone. 


 Regards, 
 Daniele Segato 




-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Omer Gilad
No problem - you want practical examples, I have literally an endless 
amount... 
I will try not to collapse Google servers or something, so I'll post just a 
few.

By the way - read the original post - I am NOT talking about official 
fragmentation. 
Not screen sizes, API levels features and so on.
I'm talking about BUGS.

All the issues below were tested with a device in front of me, these are 
not just assumptions.
Ok, let's go:

1. On Samsung Galaxy S and most of its variants, when you use this simple 
and documented intent: 
http://developer.android.com/guide/topics/media/camera.html#intent-image

The camera app behaves completely differently, and will sometimes ignore 
MediaStore.EXTRA_OUTPUT.
If you run the same code that would work on any other device, most likely 
you'll crash on a NullPointer, unless you workaround for Samsung.
Tested with the device in 

2. The API AudioManager.setMicrophoneMute 
(http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
 
 doesn't work at all on some Motorola devices (Milestone variants).
It will literally do nothing, not mute the mic and even tell that you DID 
mute the mic (isMicrophoneMute will return true after that).

3. Using a GLSL shader with 4x3 matrix multiplication containing some 0's 
on Galaxy S4 will miscalculate the result, and produce artifacts because of 
that.
Every other device does the same calculation fine, except S4.

4. Using camera preview on some Sony Xperia variants 
(http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallback(android.hardware.Camera.PreviewCallback))
 
will give you flipped or even cut preview frames - so it's completely 
useless for implementing video calling on these devices.

5. Reading from the proximity sensor on Motorola Milestone variants 
(http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_PROXIMITY)
 
will give you completely unrelated values, different from every other 
device and ignoring the sensor specification (getMaximumRange() and so on).

6. Running a GLSL shader with 8 varying vectors (the minimum of available 
varying vectors according to the spec., that should be available on every 
device), will cause some Galaxy S variants to reboot instantly.

7. Using an Intent to pick an image from the gallery 
(http://stackoverflow.com/questions/5309190/android-pick-images-from-gallery) 
on some Galaxy S variants will cause the Gallery app to crash.


That's just the ones that came to my mind right now.
I'm sure this can turn into a whole book when other people contribute.

On Wednesday, July 31, 2013 1:40:14 PM UTC+3, Daniele Segato wrote:

 On 07/26/2013 12:39 AM, Omer Gilad wrote: 
  .I am wondering how developers here are dealing with the fact that there 
  are 1000's of devices out there, some of them running your applications 
  in very broken ways 
  .I keep running into these kind of issues again and again for the past 3 
  years, and to be honest, I'm fed up with it 
  .I've decided to move to iOS development, and the only way to convince 
  me otherwise is to give me a decent, reliable way of dealing with 
  fragmentation 
  
 [snip] 
  
  To make it clear, I'm not talking about official fragmentation. 
  I don't talk about different screen sizes, densities, features, OS 
  versions and so on. 
  I talk about the unofficial fragmentation. The fact that most devices, 
  even the popular ones from the big companies like Samsung, HTC, 
  Motorola, LG and so on, contain tons of implementation bugs that prevent 
  apps from working correctly. 
  I'm talking about the fact that you can call a certain simple API, test 
  it on a stock Android ROM (like on Nexus 4), and then have your 
  application crash on some Samsung, that decided to break the 
  implementation because of some customization. 
  
  How can people stand that? 
  How is it possible to write code, when the machine that executes it is 
  completely broken in unexpected ways? 
  
 [snip] 

 I feel a little put off by this. 

 Never had issues like the one you describe when doing the things are 
 they are supposed to be done (following the docs and guide lines). 

 When someone talk about fragmentation in Android I laugh. Seriously. 
 in iOS if you want to support different device you literary has to 
 develop twice. True, they do not have has many devices. But Android is 
 designed from the ground to support the fragmentation: 
 - you can address different API with just an if in your browser or using 
 -v14 in your resources/layouts/values 
 - You have fragment and the support library bring backs most of the 
 features you need for supporting old devices 

 Reading your message and the replies you get it seems like everybody is 
 experiencing bug in how the API is implemented. 

 I don't trust you. 
 What I think is that either I am be always very lucky either you did 
 something wrong. 

 I'm open to change my mind, but I'd like to have some practical 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Piren
The Galaxy S (especially the i9000) is one of the shittiest devices i've 
worked on, without a doubt.

On Wednesday, July 31, 2013 2:47:38 PM UTC+3, Omer Gilad wrote:

 No problem - you want practical examples, I have literally an endless 
 amount... 
 I will try not to collapse Google servers or something, so I'll post just 
 a few.

 By the way - read the original post - I am NOT talking about official 
 fragmentation. 
 Not screen sizes, API levels features and so on.
 I'm talking about BUGS.

 All the issues below were tested with a device in front of me, these are 
 not just assumptions.
 Ok, let's go:

 1. On Samsung Galaxy S and most of its variants, when you use this simple 
 and documented intent: 
 http://developer.android.com/guide/topics/media/camera.html#intent-image

 The camera app behaves completely differently, and will sometimes ignore 
 MediaStore.EXTRA_OUTPUT.
 If you run the same code that would work on any other device, most likely 
 you'll crash on a NullPointer, unless you workaround for Samsung.
 Tested with the device in 

 2. The API AudioManager.setMicrophoneMute (
 http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
  
  doesn't work at all on some Motorola devices (Milestone variants).
 It will literally do nothing, not mute the mic and even tell that you DID 
 mute the mic (isMicrophoneMute will return true after that).

 3. Using a GLSL shader with 4x3 matrix multiplication containing some 0's 
 on Galaxy S4 will miscalculate the result, and produce artifacts because of 
 that.
 Every other device does the same calculation fine, except S4.

 4. Using camera preview on some Sony Xperia variants (
 http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallback(android.hardware.Camera.PreviewCallback))
  
 will give you flipped or even cut preview frames - so it's completely 
 useless for implementing video calling on these devices.

 5. Reading from the proximity sensor on Motorola Milestone variants (
 http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_PROXIMITY)
  
 will give you completely unrelated values, different from every other 
 device and ignoring the sensor specification (getMaximumRange() and so on).

 6. Running a GLSL shader with 8 varying vectors (the minimum of available 
 varying vectors according to the spec., that should be available on every 
 device), will cause some Galaxy S variants to reboot instantly.

 7. Using an Intent to pick an image from the gallery (
 http://stackoverflow.com/questions/5309190/android-pick-images-from-gallery) 
 on some Galaxy S variants will cause the Gallery app to crash.


 That's just the ones that came to my mind right now.
 I'm sure this can turn into a whole book when other people contribute.

 On Wednesday, July 31, 2013 1:40:14 PM UTC+3, Daniele Segato wrote:

 On 07/26/2013 12:39 AM, Omer Gilad wrote: 
  .I am wondering how developers here are dealing with the fact that 
 there 
  are 1000's of devices out there, some of them running your applications 
  in very broken ways 
  .I keep running into these kind of issues again and again for the past 
 3 
  years, and to be honest, I'm fed up with it 
  .I've decided to move to iOS development, and the only way to convince 
  me otherwise is to give me a decent, reliable way of dealing with 
  fragmentation 
  
 [snip] 
  
  To make it clear, I'm not talking about official fragmentation. 
  I don't talk about different screen sizes, densities, features, OS 
  versions and so on. 
  I talk about the unofficial fragmentation. The fact that most 
 devices, 
  even the popular ones from the big companies like Samsung, HTC, 
  Motorola, LG and so on, contain tons of implementation bugs that 
 prevent 
  apps from working correctly. 
  I'm talking about the fact that you can call a certain simple API, test 
  it on a stock Android ROM (like on Nexus 4), and then have your 
  application crash on some Samsung, that decided to break the 
  implementation because of some customization. 
  
  How can people stand that? 
  How is it possible to write code, when the machine that executes it is 
  completely broken in unexpected ways? 
  
 [snip] 

 I feel a little put off by this. 

 Never had issues like the one you describe when doing the things are 
 they are supposed to be done (following the docs and guide lines). 

 When someone talk about fragmentation in Android I laugh. Seriously. 
 in iOS if you want to support different device you literary has to 
 develop twice. True, they do not have has many devices. But Android is 
 designed from the ground to support the fragmentation: 
 - you can address different API with just an if in your browser or using 
 -v14 in your resources/layouts/values 
 - You have fragment and the support library bring backs most of the 
 features you need for supporting old devices 

 Reading your message and the replies you get it seems like everybody is 
 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 01:47 PM, Omer Gilad wrote:

No problem - you want practical examples, I have literally an endless
amount...
I will try not to collapse Google servers or something, so I'll post
just a few.


Thanks for that.



By the way - read the original post - I am NOT talking about official
fragmentation.
Not screen sizes, API levels features and so on.
I'm talking about BUGS.


I got it.
I'm just saying I never hit one.
I wrote that message with the specific intent of moving this discussion 
on facts in opposition to my opinion VS your opinion


I never said the API are flawless (as Piren pointed out in the other 
response to my message). It's their implementation that may be buggy.


I said my perceiving of the issue is not so bad as you pictured it. 
Maybe 20% of the time for a project may go for fragmentation (both bugs 
and handling API changes, screen sizes etc.).
I do not often write with native code, Graphics, Bluetooth, Sensors etc. 
Sure, my user bay may not be so big too, sure.


But you know what? I think it's more constructive to list issues and 
try, together as a community, to route them out instead of just wining 
about fragmentation.
Complaining with Google doesn't help either, because they can't do 
anything about a bug created by someone else.


The only thing you, and all the other hitting this kind of issues can do 
is find a way to list them out. If you really care about the issue you 
should discuss that and put facts (as this list) in front of claims 
(fragmentation sucks).




All the issues below were tested with a device in front of me, these are
not just assumptions.
Ok, let's go:

1. On Samsung Galaxy S and most of its variants, when you use this
simple and documented intent:
http://developer.android.com/guide/topics/media/camera.html#intent-image

The camera app behaves completely differently, and will sometimes ignore
MediaStore.EXTRA_OUTPUT.
If you run the same code that would work on any other device, most
likely you'll crash on a NullPointer, unless you workaround for Samsung.
Tested with the device in

2. The API AudioManager.setMicrophoneMute
(http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
  doesn't work at all on some Motorola devices (Milestone variants).
It will literally do nothing, not mute the mic and even tell that you
DID mute the mic (isMicrophoneMute will return true after that).

3. Using a GLSL shader with 4x3 matrix multiplication containing some
0's on Galaxy S4 will miscalculate the result, and produce artifacts
because of that.
Every other device does the same calculation fine, except S4.

4. Using camera preview on some Sony Xperia variants
(http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallback(android.hardware.Camera.PreviewCallback))
will give you flipped or even cut preview frames - so it's completely
useless for implementing video calling on these devices.

5. Reading from the proximity sensor on Motorola Milestone variants
(http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_PROXIMITY)
will give you completely unrelated values, different from every other
device and ignoring the sensor specification (getMaximumRange() and so on).

6. Running a GLSL shader with 8 varying vectors (the minimum of
available varying vectors according to the spec., that should be
available on every device), will cause some Galaxy S variants to reboot
instantly.

7. Using an Intent to pick an image from the gallery
(http://stackoverflow.com/questions/5309190/android-pick-images-from-gallery)
on some Galaxy S variants will cause the Gallery app to crash.


That's just the ones that came to my mind right now.
I'm sure this can turn into a whole book when other people contribute.


Thank you for this list.

I ask you to avoid the flame and start a constructive discussion instead 
about what we can do, as a community, to help other developers discover 
this kind of issues.


A issue database is what we need.

I don't have the resources to put one up. Probably none of you, alone, 
has them.


my 2 cent
Cheers,
Daniele Segato

--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Kostya Vasilyev
The i9000 - oh yeah!

The file system freezes alone were a killer, and then when they implemented 
a fix, it was preventing apps from saving their own shared preferences.

Today's top of the line Samsung devices seem to be much better (haven't run 
into anything on my Galaxy Note 2, myself, but then I don't develop games), 
but their middle- and low- end devices are still really weird. Just had an 
issue reported for one of them, which I am able to reproduce only on my 2.3 
devices - and this Samsung runs 4.0/4.1. Did they screw up the merge / 
rebase?

-- K

On Wednesday, July 31, 2013 4:02:38 PM UTC+4, Piren wrote:

 The Galaxy S (especially the i9000) is one of the shittiest devices i've 
 worked on, without a doubt.

 On Wednesday, July 31, 2013 2:47:38 PM UTC+3, Omer Gilad wrote:

 No problem - you want practical examples, I have literally an endless 
 amount... 
 I will try not to collapse Google servers or something, so I'll post just 
 a few.

 By the way - read the original post - I am NOT talking about official 
 fragmentation. 
 Not screen sizes, API levels features and so on.
 I'm talking about BUGS.

 All the issues below were tested with a device in front of me, these are 
 not just assumptions.
 Ok, let's go:

 1. On Samsung Galaxy S and most of its variants, when you use this simple 
 and documented intent: 
 http://developer.android.com/guide/topics/media/camera.html#intent-image

 The camera app behaves completely differently, and will sometimes ignore 
 MediaStore.EXTRA_OUTPUT.
 If you run the same code that would work on any other device, most likely 
 you'll crash on a NullPointer, unless you workaround for Samsung.
 Tested with the device in 

 2. The API AudioManager.setMicrophoneMute (
 http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
  
  doesn't work at all on some Motorola devices (Milestone variants).
 It will literally do nothing, not mute the mic and even tell that you DID 
 mute the mic (isMicrophoneMute will return true after that).

 3. Using a GLSL shader with 4x3 matrix multiplication containing some 0's 
 on Galaxy S4 will miscalculate the result, and produce artifacts because of 
 that.
 Every other device does the same calculation fine, except S4.

 4. Using camera preview on some Sony Xperia variants (
 http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallback(android.hardware.Camera.PreviewCallback))
  
 will give you flipped or even cut preview frames - so it's completely 
 useless for implementing video calling on these devices.

 5. Reading from the proximity sensor on Motorola Milestone variants (
 http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_PROXIMITY)
  
 will give you completely unrelated values, different from every other 
 device and ignoring the sensor specification (getMaximumRange() and so on).

 6. Running a GLSL shader with 8 varying vectors (the minimum of available 
 varying vectors according to the spec., that should be available on every 
 device), will cause some Galaxy S variants to reboot instantly.

 7. Using an Intent to pick an image from the gallery (
 http://stackoverflow.com/questions/5309190/android-pick-images-from-gallery) 
 on some Galaxy S variants will cause the Gallery app to crash.


 That's just the ones that came to my mind right now.
 I'm sure this can turn into a whole book when other people contribute.

 On Wednesday, July 31, 2013 1:40:14 PM UTC+3, Daniele Segato wrote:

 On 07/26/2013 12:39 AM, Omer Gilad wrote: 
  .I am wondering how developers here are dealing with the fact that 
 there 
  are 1000's of devices out there, some of them running your 
 applications 
  in very broken ways 
  .I keep running into these kind of issues again and again for the past 
 3 
  years, and to be honest, I'm fed up with it 
  .I've decided to move to iOS development, and the only way to convince 
  me otherwise is to give me a decent, reliable way of dealing with 
  fragmentation 
  
 [snip] 
  
  To make it clear, I'm not talking about official fragmentation. 
  I don't talk about different screen sizes, densities, features, OS 
  versions and so on. 
  I talk about the unofficial fragmentation. The fact that most 
 devices, 
  even the popular ones from the big companies like Samsung, HTC, 
  Motorola, LG and so on, contain tons of implementation bugs that 
 prevent 
  apps from working correctly. 
  I'm talking about the fact that you can call a certain simple API, 
 test 
  it on a stock Android ROM (like on Nexus 4), and then have your 
  application crash on some Samsung, that decided to break the 
  implementation because of some customization. 
  
  How can people stand that? 
  How is it possible to write code, when the machine that executes it is 
  completely broken in unexpected ways? 
  
 [snip] 

 I feel a little put off by this. 

 Never had issues like the one you describe when doing the things are 
 they are supposed 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Kristopher Micinski
You're wrong about calling it fragmentation: fragmentation means there
are n versions of Android, and you have to consider that.

What Omer is saying is that there are actually x  n versions of
Android, when you take into account all of the vendor ROMs, with their
long list of bugs.

So it's not about fragmentation, except for in the latter sense.

I also disagree that starting an issue database will help anyone.
Telling developers to worry about 900 bugs their app may need to worry
about when they can't test on the individual devices isn't really a
solution.

Kris

On Wed, Jul 31, 2013 at 8:32 AM, Daniele Segato
daniele.seg...@gmail.com wrote:
 On 07/31/2013 01:47 PM, Omer Gilad wrote:

 No problem - you want practical examples, I have literally an endless
 amount...
 I will try not to collapse Google servers or something, so I'll post
 just a few.


 Thanks for that.



 By the way - read the original post - I am NOT talking about official
 fragmentation.
 Not screen sizes, API levels features and so on.
 I'm talking about BUGS.


 I got it.
 I'm just saying I never hit one.
 I wrote that message with the specific intent of moving this discussion on
 facts in opposition to my opinion VS your opinion

 I never said the API are flawless (as Piren pointed out in the other
 response to my message). It's their implementation that may be buggy.

 I said my perceiving of the issue is not so bad as you pictured it. Maybe
 20% of the time for a project may go for fragmentation (both bugs and
 handling API changes, screen sizes etc.).
 I do not often write with native code, Graphics, Bluetooth, Sensors etc.
 Sure, my user bay may not be so big too, sure.

 But you know what? I think it's more constructive to list issues and try,
 together as a community, to route them out instead of just wining about
 fragmentation.
 Complaining with Google doesn't help either, because they can't do anything
 about a bug created by someone else.

 The only thing you, and all the other hitting this kind of issues can do is
 find a way to list them out. If you really care about the issue you should
 discuss that and put facts (as this list) in front of claims (fragmentation
 sucks).



 All the issues below were tested with a device in front of me, these are
 not just assumptions.
 Ok, let's go:

 1. On Samsung Galaxy S and most of its variants, when you use this
 simple and documented intent:
 http://developer.android.com/guide/topics/media/camera.html#intent-image

 The camera app behaves completely differently, and will sometimes ignore
 MediaStore.EXTRA_OUTPUT.
 If you run the same code that would work on any other device, most
 likely you'll crash on a NullPointer, unless you workaround for Samsung.
 Tested with the device in

 2. The API AudioManager.setMicrophoneMute

 (http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
   doesn't work at all on some Motorola devices (Milestone variants).
 It will literally do nothing, not mute the mic and even tell that you
 DID mute the mic (isMicrophoneMute will return true after that).

 3. Using a GLSL shader with 4x3 matrix multiplication containing some
 0's on Galaxy S4 will miscalculate the result, and produce artifacts
 because of that.
 Every other device does the same calculation fine, except S4.

 4. Using camera preview on some Sony Xperia variants

 (http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallback(android.hardware.Camera.PreviewCallback))
 will give you flipped or even cut preview frames - so it's completely
 useless for implementing video calling on these devices.

 5. Reading from the proximity sensor on Motorola Milestone variants

 (http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_PROXIMITY)
 will give you completely unrelated values, different from every other
 device and ignoring the sensor specification (getMaximumRange() and so
 on).

 6. Running a GLSL shader with 8 varying vectors (the minimum of
 available varying vectors according to the spec., that should be
 available on every device), will cause some Galaxy S variants to reboot
 instantly.

 7. Using an Intent to pick an image from the gallery

 (http://stackoverflow.com/questions/5309190/android-pick-images-from-gallery)
 on some Galaxy S variants will cause the Gallery app to crash.


 That's just the ones that came to my mind right now.
 I'm sure this can turn into a whole book when other people contribute.


 Thank you for this list.

 I ask you to avoid the flame and start a constructive discussion instead
 about what we can do, as a community, to help other developers discover this
 kind of issues.

 A issue database is what we need.

 I don't have the resources to put one up. Probably none of you, alone, has
 them.

 my 2 cent
 Cheers,

 Daniele Segato

 --
 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 02:40 PM, Kristopher Micinski wrote:

You're wrong about calling it fragmentation: fragmentation means there
are n versions of Android, and you have to consider that.

What Omer is saying is that there are actually x  n versions of
Android, when you take into account all of the vendor ROMs, with their
long list of bugs.


I know, I just used the term Fragmentation because that's the term Omer 
used (unofficial fragmentation) in the first message.




So it's not about fragmentation, except for in the latter sense.

I also disagree that starting an issue database will help anyone.
Telling developers to worry about 900 bugs their app may need to worry
about when they can't test on the individual devices isn't really a
solution.



Ok, then what you suggest?

--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Jose_GD
Daniele, I think Omer has been constructive. He asked clearly: how do you 
deal with this situation? It's obvious there's no bullet proof solution to 
this problem, he has told us what he did until now and asked the community 
what are they doing to deal with it.

El miércoles, 31 de julio de 2013 09:32:41 UTC-3, Daniele Segato escribió:

 On 07/31/2013 01:47 PM, Omer Gilad wrote: 

 I ask you to avoid the flame and start a constructive discussion instead 
 about what we can do, as a community, to help other developers discover 
 this kind of issues. 




-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Omer Gilad
Flaming is not the purpose of this discussion - the purpose is to:
1. Share and find some practical solutions, if there are any.
2. Bring the seriousness and span of this issue to Google's attention - as 
there seems to be complete ignorance and self-delusion regarding it.
So far I haven't seen any official Google source admit that this issue even 
exists, or provide any practical way of dealing with it.

Of course, there's an inevitable element of being completely pissed-off 
about it.


Regarding an issue database - that's a partial solution that can certainly 
cut off the amount of work that developers spend on device bugs.
If I could look up issues related to a specific device or API and prepare 
myself before publishing to users using already made workarounds, maybe my 
job would be easier.
It will also bring the issue to Google's attention, because at some point 
they'll have to confront a constantly growing device issue database.

But it's only partial - I'm trying to point out the the problem is more in 
the attitude, than in specific device vendors.
Bugs will always happen in any product, and Google can't put surveillance 
in Samsung's factories and tell them what to do.
However, Google can be very strict about regulations, and demand high 
standards from anyone who wishes to use the Android brand and use the 
Google Play service.

Some practical steps that Google can take to eliminate the problem that 
developers face when distributing apps:

1. Automatically monitor app ratings in Google Play, and identify spikes 
where a certain device gives a considerably low rating for an app than the 
other devices.
Chances are that there's a device specific bug.
Actively inquire the situation ( that will usually apply to lots of apps 
using the same API), and when Google verifies there's indeed a bug in the 
device - demand an on-the-air update from the vendor in 2 weeks.
If the vendor won't fix the bug on all of its device that can access Google 
Play, ban the device from the store until they fix it.

2. Set up a special contact email for developer reports, so you can get 
reports about specific device issues that developers encounter.
Do the same procedure like in #1 - ask the vendor to fix it. If they don't 
fix it, remove their Google Play certification until they do.

All that is being asked from Google is to be assertive and strict about who 
they give Google Play certification to.
I don't expect Google to fix vendor bugs, that's impossible - but I expect 
Google to demand high quality without compromise.

On Wednesday, July 31, 2013 3:32:41 PM UTC+3, Daniele Segato wrote:

 On 07/31/2013 01:47 PM, Omer Gilad wrote: 
  No problem - you want practical examples, I have literally an endless 
  amount... 
  I will try not to collapse Google servers or something, so I'll post 
  just a few. 

 Thanks for that. 

  
  By the way - read the original post - I am NOT talking about official 
  fragmentation. 
  Not screen sizes, API levels features and so on. 
  I'm talking about BUGS. 

 I got it. 
 I'm just saying I never hit one. 
 I wrote that message with the specific intent of moving this discussion 
 on facts in opposition to my opinion VS your opinion 

 I never said the API are flawless (as Piren pointed out in the other 
 response to my message). It's their implementation that may be buggy. 

 I said my perceiving of the issue is not so bad as you pictured it. 
 Maybe 20% of the time for a project may go for fragmentation (both bugs 
 and handling API changes, screen sizes etc.). 
 I do not often write with native code, Graphics, Bluetooth, Sensors etc. 
 Sure, my user bay may not be so big too, sure. 

 But you know what? I think it's more constructive to list issues and 
 try, together as a community, to route them out instead of just wining 
 about fragmentation. 
 Complaining with Google doesn't help either, because they can't do 
 anything about a bug created by someone else. 

 The only thing you, and all the other hitting this kind of issues can do 
 is find a way to list them out. If you really care about the issue you 
 should discuss that and put facts (as this list) in front of claims 
 (fragmentation sucks). 


  All the issues below were tested with a device in front of me, these are 
  not just assumptions. 
  Ok, let's go: 
  
  1. On Samsung Galaxy S and most of its variants, when you use this 
  simple and documented intent: 
  http://developer.android.com/guide/topics/media/camera.html#intent-image 
  
  The camera app behaves completely differently, and will sometimes ignore 
  MediaStore.EXTRA_OUTPUT. 
  If you run the same code that would work on any other device, most 
  likely you'll crash on a NullPointer, unless you workaround for Samsung. 
  Tested with the device in 
  
  2. The API AudioManager.setMicrophoneMute 
  (
 http://developer.android.com/reference/android/media/AudioManager.html#setMicrophoneMute(boolean))
  

doesn't work at all on some Motorola devices 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Kristopher Micinski
I think various people outlined possible solutions if you'd read the
previous messages. One possible solution is stricter certification
requirements.

Kris
On Jul 31, 2013 8:49 AM, Daniele Segato daniele.seg...@gmail.com wrote:

 On 07/31/2013 02:40 PM, Kristopher Micinski wrote:

 You're wrong about calling it fragmentation: fragmentation means there
 are n versions of Android, and you have to consider that.

 What Omer is saying is that there are actually x  n versions of
 Android, when you take into account all of the vendor ROMs, with their
 long list of bugs.


 I know, I just used the term Fragmentation because that's the term Omer
 used (unofficial fragmentation) in the first message.


 So it's not about fragmentation, except for in the latter sense.

 I also disagree that starting an issue database will help anyone.
 Telling developers to worry about 900 bugs their app may need to worry
 about when they can't test on the individual devices isn't really a
 solution.


 Ok, then what you suggest?


-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 03:10 PM, Kristopher Micinski wrote:

I think various people outlined possible solutions if you'd read the
previous messages. One possible solution is stricter certification
requirements.


That's something Google can do, and is probably doing.

I asked what WE can do. If we don't talk about this this whole 
discussion can be trashed, will not be of any help to anyone.


--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 03:05 PM, Omer Gilad wrote:

Flaming is not the purpose of this discussion - the purpose is to:
1. Share and find some practical solutions, if there are any.


That's the primary reason I bothered to reply in the first place.
I saw you wasn't try to flame. But, since you were pissed off, you 
missed to actually bring facts to the discussion, which you did later 
replying to me.


Accomplishing that I tough of moving it one step further: from other 
discussion is pretty clear that among who read your question there's no 
one who have a solution.


Every single developer is solo in handling this issue, which is part of 
the reason this is so costly.


If we (all the Android developers) want to achieve this second point:


2. Bring the seriousness and span of this issue to Google's attention -
as there seems to be complete ignorance and self-delusion regarding it.
So far I haven't seen any official Google source admit that this issue
even exists, or provide any practical way of dealing with it.


we should keep to the facts, like the list you gave, and start doing 
something.


And I think this discussion is perfect to do some brainstorming of what 
we can do to help everyone.
It may also help bringing the fact in front of Google to make them 
acknowledge it and help.




Of course, there's an inevitable element of being completely pissed-off
about it.



:)
Know the feeling



Regarding an issue database - that's a partial solution that can
certainly cut off the amount of work that developers spend on device bugs.
If I could look up issues related to a specific device or API and
prepare myself before publishing to users using already made
workarounds, maybe my job would be easier.


Yes, better then nothing I think.
And there are plenty of free bug trackers that can be used too.


It will also bring the issue to Google's attention, because at some
point they'll have to confront a constantly growing device issue database.



Thanks for pointing that out, that's not a small point in building up an 
issue database.



But it's only partial - I'm trying to point out the the problem is more
in the attitude, than in specific device vendors.
Bugs will always happen in any product, and Google can't put
surveillance in Samsung's factories and tell them what to do.
However, Google can be very strict about regulations, and demand high
standards from anyone who wishes to use the Android brand and use the
Google Play service.



Agree, and I think they are moving in that direction, but that's my guess.
Still, it will take time.
And more importantly, we can't do anything about it now. We may in the 
future if we build that database we were talking about (visibility helps).




Some practical steps that Google can take to eliminate the problem that
developers face when distributing apps:

1. Automatically monitor app ratings in Google Play, and identify spikes
where a certain device gives a considerably low rating for an app than
the other devices.
Chances are that there's a device specific bug.
Actively inquire the situation ( that will usually apply to lots of apps
using the same API), and when Google verifies there's indeed a bug in
the device


That would be a good idea.
And maybe they already do so.


- demand an on-the-air update from the vendor in 2 weeks.
If the vendor won't fix the bug on all of its device that can access
Google Play, ban the device from the store until they fix it.



That's probably harder to do.

But as developer we may do something similar... for example by stopping 
supporting very buggy device.
This is very similar to the InternetExplorer issue web developer have. 
If only Web developer stopped supporting the browser every user would 
just change it.
If you buy a device for which there are no app you (as an User) say the 
device sucks, not the app.


But if you don't know which devices are more buggy you don't know which 
device to remove the support from -- back to the bugs database.



2. Set up a special contact email for developer reports, so you can get
reports about specific device issues that developers encounter.
Do the same procedure like in #1 - ask the vendor to fix it. If they
don't fix it, remove their Google Play certification until they do.



email wouldn't probably be the most useful thing, a dedicated bug 
tracker may be better.

But that's what Google can do, doesn't help us now.


All that is being asked from Google is to be assertive and strict about
who they give Google Play certification to.
I don't expect Google to fix vendor bugs, that's impossible - but I
expect Google to demand high quality without compromise.


I also expect that. But you can't change the behavior of someone else. 
You can only change your own and hope this will also change the others.


That's some idea:
- choose and start to use a bug tracker to grow a bug database about 
android personalizations from different vendors
- create a Google+ Community dedicated to this to have a 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Παύλος-Πέτρος Τουρνάρης
I really dont get any of your points Daniele! Every developer that till now
sent an email in this discussion has already stated his/her opinion in
order to answer at Omer's first question...

We can bring Google's attetntion at this problem but we should be focused
on it! If you don't create any workarounds for the buggy devices and just
ban them from your app, imagine what could happen for those devices..They
would only be able to download 4-5 apps (just saying...)...


On Wed, Jul 31, 2013 at 4:12 PM, Daniele Segato daniele.seg...@gmail.comwrote:

 On 07/31/2013 03:10 PM, Kristopher Micinski wrote:

 I think various people outlined possible solutions if you'd read the
 previous messages. One possible solution is stricter certification
 requirements.


 That's something Google can do, and is probably doing.

 I asked what WE can do. If we don't talk about this this whole discussion
 can be trashed, will not be of any help to anyone.


 --
 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to 
 android-developers@**googlegroups.comandroid-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+**unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/**group/android-developers?hl=enhttp://groups.google.com/group/android-developers?hl=en
 --- You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to 
 android-developers+**unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com
 .
 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .





-- 
*Παύλος-Πέτρος Τουρνάρης*
*Android   Software Developer*

   - *http://goo.gl/TsJ8u*
   - *http://acschedule.org*

-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 03:36 PM, Παύλος-Πέτρος Τουρνάρης wrote:

I really dont get any of your points Daniele!


I can see that ;)


Every developer that till
now sent an email in this discussion has already stated his/her opinion
in order to answer at Omer's first question...


I'm asking you all to think and propose what can be done BY US (not 
Google) to ease up the issue.

That's it.

And I made a proposal.



We can bring Google's attetntion at this problem but we should be
focused on it! If you don't create any workarounds for the buggy devices
and just ban them from your app, imagine what could happen for those
devices..They would only be able to download 4-5 apps (just saying...)...



That would be absolutely perfect.
What do you think an user able to download 4-5 apps of that device?
-- This device sucks
What will the reviews say about it?
-- don't buy it
What will the vendor producing that device do with next devices?
-- be more complain to the standards.

But hey, that's was just a suggestion on what one can do knowing the 
devices causing more issues.


The main proposal was to put up a bug database for this kind of issues.

--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread a1


 1. Share and find some practical solutions, if there are any.

There isn't any, for some specific use cases (games) best solution is to 
use higher level API (game engine).

2. Bring the seriousness and span of this issue to Google's attention - as 
 there seems to be complete ignorance and self-delusion regarding it.

And you are saying that because of what exactly?
 

 So far I haven't seen any official Google source admit that this issue 
 even exists, or provide any practical way of dealing with it.

There is no practical way of dealing with it (except of on device basis 
which, according to you, isn't practical), if you search this group and 
stackoverflow you will find several examples where Android team engineers 
talk about device bugs so I really have no idea why you think they aren't 
aware of that, moreover anyone who has ever work with J2ME is more than 
aware that avoiding this is impossible (and J2ME was few orders of 
magnitude worse due to differences in underlying OSes, drivers, CPU 
architectures etc).

--
Bart

-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Omer Gilad
I am missing the point of this post.
Are you saying that there is no solution?
If so, what do you suggest? Just stop developing for Android?

When I say not aware of that, I mean that it doesn't show up as a 
practical solution from the eyes of developers.
Maybe they're aware of that and do internal meetings and discussions about 
it, but it's not something that I know of.

On Wednesday, July 31, 2013 5:43:42 PM UTC+3, a1 wrote:

 1. Share and find some practical solutions, if there are any.

 There isn't any, for some specific use cases (games) best solution is to 
 use higher level API (game engine).

 2. Bring the seriousness and span of this issue to Google's attention - as 
 there seems to be complete ignorance and self-delusion regarding it.

 And you are saying that because of what exactly?
  

 So far I haven't seen any official Google source admit that this issue 
 even exists, or provide any practical way of dealing with it.

 There is no practical way of dealing with it (except of on device basis 
 which, according to you, isn't practical), if you search this group and 
 stackoverflow you will find several examples where Android team engineers 
 talk about device bugs so I really have no idea why you think they aren't 
 aware of that, moreover anyone who has ever work with J2ME is more than 
 aware that avoiding this is impossible (and J2ME was few orders of 
 magnitude worse due to differences in underlying OSes, drivers, CPU 
 architectures etc).

 --
 Bart


-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Omer Gilad
I would certainly support by adding known issues if there was such a system.
I'm not familiar with any free website that can easily create such a 
database - anyone?

On Wednesday, July 31, 2013 4:59:19 PM UTC+3, Daniele Segato wrote:

 On 07/31/2013 03:36 PM, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½-οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 
 οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ wrote: 
  I really dont get any of your points Daniele! 

 I can see that ;) 

  Every developer that till 
  now sent an email in this discussion has already stated his/her opinion 
  in order to answer at Omer's first question... 

 I'm asking you all to think and propose what can be done BY US (not 
 Google) to ease up the issue. 
 That's it. 

 And I made a proposal. 

  
  We can bring Google's attetntion at this problem but we should be 
  focused on it! If you don't create any workarounds for the buggy devices 
  and just ban them from your app, imagine what could happen for those 
  devices..They would only be able to download 4-5 apps (just 
 saying...)... 
  

 That would be absolutely perfect. 
 What do you think an user able to download 4-5 apps of that device? 
 -- This device sucks 
 What will the reviews say about it? 
 -- don't buy it 
 What will the vendor producing that device do with next devices? 
 -- be more complain to the standards. 

 But hey, that's was just a suggestion on what one can do knowing the 
 devices causing more issues. 

 The main proposal was to put up a bug database for this kind of issues. 


-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Nobu Games
I think a central website for collecting known issues and workarounds would 
be a great idea. There are free wiki hosting services that could be used 
for that: https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services

On Wednesday, July 31, 2013 10:14:40 AM UTC-5, Omer Gilad wrote:

 I would certainly support by adding known issues if there was such a 
 system.
 I'm not familiar with any free website that can easily create such a 
 database - anyone?

 On Wednesday, July 31, 2013 4:59:19 PM UTC+3, Daniele Segato wrote:

 On 07/31/2013 03:36 PM, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½-οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ 
 οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ wrote: 
  I really dont get any of your points Daniele! 

 I can see that ;) 

  Every developer that till 
  now sent an email in this discussion has already stated his/her opinion 
  in order to answer at Omer's first question... 

 I'm asking you all to think and propose what can be done BY US (not 
 Google) to ease up the issue. 
 That's it. 

 And I made a proposal. 

  
  We can bring Google's attetntion at this problem but we should be 
  focused on it! If you don't create any workarounds for the buggy 
 devices 
  and just ban them from your app, imagine what could happen for those 
  devices..They would only be able to download 4-5 apps (just 
 saying...)... 
  

 That would be absolutely perfect. 
 What do you think an user able to download 4-5 apps of that device? 
 -- This device sucks 
 What will the reviews say about it? 
 -- don't buy it 
 What will the vendor producing that device do with next devices? 
 -- be more complain to the standards. 

 But hey, that's was just a suggestion on what one can do knowing the 
 devices causing more issues. 

 The main proposal was to put up a bug database for this kind of issues. 



-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

On 07/31/2013 05:58 PM, Nobu Games wrote:

I think a central website for collecting known issues and workarounds
would be a great idea. There are free wiki hosting services that could
be used for that:
https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services


I think a wiki is not a good idea for something like this.

More like this:
http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems


I think we need a bug tracker that allow tagging by vendor, devices, 
device variant, android version and let the user combine those when 
searching.

It would also be good to have some statistics on those tags/categories.

Jira would be perfect, but it's not free.


I can list some, but do not know them well enough to compare or to know 
if they fit:


- Google Code: https://code.google.com/
- GitHub - the repository can just be a readme - https://github.com/
- SourceForge - http://sourceforge.net/


I'm sure there are others.

--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Nobu Games
Oops, I sent my reply just to you, so here again for all to see:

on the one hand that's a good idea. On the other hand we would need someone 
who is willing to host and maintain that bug tracker. Setting up products, 
versions etc. is a lot of work in a bug tracking system. That's why I think 
that a wiki has more chances to take off with the majority of Android 
developers as users. There are 10.000-something different Android devices 
out there. It's not much of a problem to introduce new devices in a wiki. 
But it takes a whole deal of dedication for doing that in a bug tracking 
system

On Wednesday, July 31, 2013 11:17:48 AM UTC-5, Daniele Segato wrote:

 On 07/31/2013 05:58 PM, Nobu Games wrote: 
  I think a central website for collecting known issues and workarounds 
  would be a great idea. There are free wiki hosting services that could 
  be used for that: 
  https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services 

 I think a wiki is not a good idea for something like this. 

 More like this: 
 http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems 


 I think we need a bug tracker that allow tagging by vendor, devices, 
 device variant, android version and let the user combine those when 
 searching. 
 It would also be good to have some statistics on those tags/categories. 

 Jira would be perfect, but it's not free. 


 I can list some, but do not know them well enough to compare or to know 
 if they fit: 

 - Google Code: https://code.google.com/ 
 - GitHub - the repository can just be a readme - https://github.com/ 
 - SourceForge - http://sourceforge.net/ 


 I'm sure there are others. 


-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-31 Thread Daniele Segato

Hi Thomas,

The bug trackers I proposed are all free to use and cloud bug trackers 
(meaning no one has to maintain a server or something).


What's needed are admins for that bug tracker.
Categories can be created when needed.

If there are enough maintainers I think it can be done, the community is 
big and if people really care about this issue I don't think it should 
be a problem to find some.


If they don't really care so much then we will see no one stepping in, 
that's for sure.


regards,
Daniele Segato

On 07/31/2013 06:30 PM, Nobu Games wrote:

Oops, I sent my reply just to you, so here again for all to see:

on the one hand that's a good idea. On the other hand we would need
someone who is willing to host and maintain that bug tracker. Setting up
products, versions etc. is a lot of work in a bug tracking system.
That's why I think that a wiki has more chances to take off with the
majority of Android developers as users. There are 10.000-something
different Android devices out there. It's not much of a problem to
introduce new devices in a wiki. But it takes a whole deal of dedication
for doing that in a bug tracking system

On Wednesday, July 31, 2013 11:17:48 AM UTC-5, Daniele Segato wrote:

On 07/31/2013 05:58 PM, Nobu Games wrote:
  I think a central website for collecting known issues and
workarounds
  would be a great idea. There are free wiki hosting services that
could
  be used for that:
  https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services
https://en.wikipedia.org/wiki/Comparison_of_wiki_hosting_services

I think a wiki is not a good idea for something like this.

More like this:
http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems


I think we need a bug tracker that allow tagging by vendor, devices,
device variant, android version and let the user combine those when
searching.
It would also be good to have some statistics on those tags/categories.

Jira would be perfect, but it's not free.


I can list some, but do not know them well enough to compare or to know
if they fit:

- Google Code: https://code.google.com/
- GitHub - the repository can just be a readme - https://github.com/
- SourceForge - http://sourceforge.net/


I'm sure there are others.


--
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups Android Developers group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Kristopher Micinski
I guess I'm trying to ascertain: is there a concrete question you
have, or just a bunch of bad points about how the Android ecosystem
sucks right now?

If it's the second, everyone agrees it sucks, there's not a good solution.

I suppose one thing that Android could have done better from the start
was to offer UI modes that would be guaranteed to homogenous across
all certified devices.

I don't think that I said statistics were a solution to the issue
(though apologies if I gave that impression): I meant to merely give
the idea that because of Android's fragmentation a good way to get a
handle on what you're facing would be to use device install
statistics.  I never meant to imply that it was in any way a solution.

But everyone agrees that fragmentation sucks.  Everyone has agreed it
sucks since the beginning (even Android 2.0), and people knew it would
get *worse*.  You have to worry about API levels, screen
configurations, hardware configurations, etc...

I know of a few groups developing open source test services, that
could presumably end up making a co op or something: that would
definitely give more leeway than traditional expensive test services.
(If people would be interested, this would be possible to do in the
community right now: just buy a server, write some code to distribute
the APKs with a feedback / review system, etc..)

Kris

On Thu, Jul 25, 2013 at 10:01 PM, Omer Gilad omer.gi...@gmail.com wrote:
 I agree that it's better than nothing. But, since it's a paid service that
 has nothing to do with the official SDK, it doesn't come in the SDK's favor
 at all.

 The problem appears in much more obvious parts of the SDK than the one I
 presented. I can give countless examples on demand and I'm sure others can
 too.

 Also, I never even bothered to fix custom ROMs and such - this is really
 beyond my scope.
 I'm having constant issues with stock, popular devices from Samsung, HTC,
 etc. - the ones that get shipped in the millions and dominate the Google
 Play statistics.

 As you said, statistics are also a temporary solution to the issue - just
 focus on workarounds for the most popular buggy devices - mainly the Samsung
 Galaxy series and its endless variations.

 On Friday, July 26, 2013 4:33:52 AM UTC+3, Kristopher Micinski wrote:

 Your last paragraph is *exactly* what the CTS is all about, but
 obviously if you don't work for google you can't mandate what goes in
 and what does not :-).

 I'm not recommending that these services are the solution to
 everyone's problems: but I do contend they get you farther than you
 would be otherwise.  Games are particularly hard to test, since GPUs
 vary more widely across devices and aren't part of the most common
 pieces of the SDK.

 The fact of the matter is, there are always going to be hacked up ROMs
 running on the market: that's the design decision made by Android.
 The CTS helps get you farther to a holistic / cohesive platform, but
 in the end it's a numbers game: knowing which devices, API levels,
 user bases, countries, etc.. to care about is something the
 experienced developer has to have a handle on.

 Kris

 On Thu, Jul 25, 2013 at 9:05 PM, Omer Gilad omer@gmail.com wrote:
  Yes, I've encountered those services.
 
  This is still not a solution.
  It requires substantial money investment, and in a lot of cases it
  doesn't
  give you the ability to debug on those devices.
 
  Personal example - I'm developing a game, and we've found (after a
  friend
  checked it) that it has major display artifacts on Samsung Galaxy S4.
  No logs or attempts to remotely resolve the issue helped - so we had to
  get
  our hands on the device for a day.
  It turned out that the device's GPU is buggy, and miscalculates some
  common
  shader operations (like matrix multiplication).
  There's no remote testing platform in the world that can assist you in
  resolving issues like that.
 
  The issue is at the core, and must be solved at a design and attitude
  level
  - devices like that SHOULD NOT be allowed to run Google Play apps (and
  of
  course, they should be deprived of their certification), until the
  vendor
  fixes those issues.
 
 
  On Friday, July 26, 2013 3:27:49 AM UTC+3, Kristopher Micinski wrote:
 
  There are potential solutions, but in practice it's a constant battle.
   Certainly there are people that provide internet based test services
  that test your app on huge numbers of devices for a subscription based
  fee.
 
  Kris
 
 
  On Thu, Jul 25, 2013 at 8:12 PM, Omer Gilad omer@gmail.com wrote:
   I've found that even the biggest app developers like Skype, Gameloft,
   etc.
   have device issues, and they don't look in such a good shape.
   Just scan the reviews of any super-popular Android app, and you can
   see
   the
   same disease... This app doesn't even work, it sucks, and I PAID FOR
   IT!
   (from some crappy device).
  
   Obviously, those bigger developers have the budget and capacity to
   own
   100's
   or 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Omer Gilad
The point of the original post (the concrete question) was beyond just rant 
and rave - the question asked is How to deal with it.
To put in other words - What do you suggest as a practical solution to the 
problem, beyond just dumping Android and developing for iOS.
To filter out some possible answers:

1. Buying 50+ devices and doing QA on each one of them is NOT an option. It 
shouldn't ever be.
2. Paying constantly to remote testing services just to know what bugs we 
have (without even the ability to debug and resolve them) is NOT an option.
3. Chasing after devices (borrowing from friends, getting debug logs from 
users, etc.) and writing ugly code for workarounds time after time is what 
I've been doing for some time, but that is NOT an option.
3. Filtering many devices on Google Play console is our current solution, 
which is far from ideal as you can imagine.

Currently, I don't have an effective way to deal with it, to the point that 
I've decided to move to another platform - the current state is impossible 
to cope with.
I'm an independent developer, working in cooperation with some people, and 
we fail to address the fragmentation issue.
All our efforts invested in creating a quality product are in vain when 
it's being run on countless broken devices that we can't keep track of.
Just to back myself up - I've been developing for Android for more than 3 
years, and have been constantly chasing after devices since the beginning.
I experienced that in multiple types of projects (apps and games), as a 
hired or freelance developer and as an entrepreneur. 
It applies to every aspect of developing for Android, so this issue can't 
be evaded.
To me, this is far more important than answering the questions on API 
usage, etc.

On Friday, July 26, 2013 2:03:28 PM UTC+3, Kristopher Micinski wrote:

 I guess I'm trying to ascertain: is there a concrete question you 
 have, or just a bunch of bad points about how the Android ecosystem 
 sucks right now? 

 If it's the second, everyone agrees it sucks, there's not a good solution. 

 I suppose one thing that Android could have done better from the start 
 was to offer UI modes that would be guaranteed to homogenous across 
 all certified devices. 

 I don't think that I said statistics were a solution to the issue 
 (though apologies if I gave that impression): I meant to merely give 
 the idea that because of Android's fragmentation a good way to get a 
 handle on what you're facing would be to use device install 
 statistics.  I never meant to imply that it was in any way a solution. 

 But everyone agrees that fragmentation sucks.  Everyone has agreed it 
 sucks since the beginning (even Android 2.0), and people knew it would 
 get *worse*.  You have to worry about API levels, screen 
 configurations, hardware configurations, etc... 

 I know of a few groups developing open source test services, that 
 could presumably end up making a co op or something: that would 
 definitely give more leeway than traditional expensive test services. 
 (If people would be interested, this would be possible to do in the 
 community right now: just buy a server, write some code to distribute 
 the APKs with a feedback / review system, etc..) 

 Kris 

 On Thu, Jul 25, 2013 at 10:01 PM, Omer Gilad 
 omer@gmail.comjavascript: 
 wrote: 
  I agree that it's better than nothing. But, since it's a paid service 
 that 
  has nothing to do with the official SDK, it doesn't come in the SDK's 
 favor 
  at all. 
  
  The problem appears in much more obvious parts of the SDK than the one I 
  presented. I can give countless examples on demand and I'm sure others 
 can 
  too. 
  
  Also, I never even bothered to fix custom ROMs and such - this is really 
  beyond my scope. 
  I'm having constant issues with stock, popular devices from Samsung, 
 HTC, 
  etc. - the ones that get shipped in the millions and dominate the Google 
  Play statistics. 
  
  As you said, statistics are also a temporary solution to the issue - 
 just 
  focus on workarounds for the most popular buggy devices - mainly the 
 Samsung 
  Galaxy series and its endless variations. 
  
  On Friday, July 26, 2013 4:33:52 AM UTC+3, Kristopher Micinski wrote: 
  
  Your last paragraph is *exactly* what the CTS is all about, but 
  obviously if you don't work for google you can't mandate what goes in 
  and what does not :-). 
  
  I'm not recommending that these services are the solution to 
  everyone's problems: but I do contend they get you farther than you 
  would be otherwise.  Games are particularly hard to test, since GPUs 
  vary more widely across devices and aren't part of the most common 
  pieces of the SDK. 
  
  The fact of the matter is, there are always going to be hacked up ROMs 
  running on the market: that's the design decision made by Android. 
  The CTS helps get you farther to a holistic / cohesive platform, but 
  in the end it's a numbers game: knowing which devices, API levels, 
  user 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Kostya Vasilyev
The conversation so far, and app testing services, assume that there are
certain broken device models / firmwares and they are broken in a
deterministic way.

This implies that those bad devices can be discovered and excluded or
workarounds implemented, again, in a deterministic way.

From my experience, it's worse than that.

I can get a user bug report that makes my jaw drop to the floor, and have a
an exact or similar device on my desk that does not exhibit the issue.

Basic things get broken: the app not being able to connect to well known
servers, a toast notification getting stuck on the screen, the system
ActionBar overflow button not showing on a device without a Menu button,
etc.

Reinstaling or clearing the Dalvik cache (or some other magic) often
resolves these.

That itself is a bad sign -- meaning that system level things can randomly
break and randomly heal themselves, in a non-deterministic way.

Here is a video I made of Galaxy Nexus with 4.0.2 rebooting when trying to
start Google Maps, happened every time out of 10 or so I tried:

http://www.youtube.com/watch?v=mC4EegjeWZA

I fixed it by resetting the device back to factory settings and
reinstalling Google Maps, but the question remains: why did this help? Did
Google Maps get corrupted during installation? Can it happen to other apps
too? I'm not even asking why a modern, preemptively multitasking operating
system can enter a reboot triggered by application code.

I don't have an answer for this situation either. It's just something I
have to deal with every day, costing me a lot of wasted time and a
depressed mood.

The irony is, users always assume it's the app which must be doing
something weird, unlike Windows, where they're quick to blame MS and Bill
Gates personally. Must be some kind of Google magic.

-- K



2013/7/26 Omer Gilad omer.gi...@gmail.com

 The point of the original post (the concrete question) was beyond just
 rant and rave - the question asked is How to deal with it.
 To put in other words - What do you suggest as a practical solution to
 the problem, beyond just dumping Android and developing for iOS.
 To filter out some possible answers:

 1. Buying 50+ devices and doing QA on each one of them is NOT an option.
 It shouldn't ever be.
 2. Paying constantly to remote testing services just to know what bugs we
 have (without even the ability to debug and resolve them) is NOT an option.
 3. Chasing after devices (borrowing from friends, getting debug logs from
 users, etc.) and writing ugly code for workarounds time after time is what
 I've been doing for some time, but that is NOT an option.
 3. Filtering many devices on Google Play console is our current solution,
 which is far from ideal as you can imagine.

 Currently, I don't have an effective way to deal with it, to the point
 that I've decided to move to another platform - the current state is
 impossible to cope with.
 I'm an independent developer, working in cooperation with some people, and
 we fail to address the fragmentation issue.
 All our efforts invested in creating a quality product are in vain when
 it's being run on countless broken devices that we can't keep track of.
 Just to back myself up - I've been developing for Android for more than 3
 years, and have been constantly chasing after devices since the beginning.
 I experienced that in multiple types of projects (apps and games), as a
 hired or freelance developer and as an entrepreneur.
 It applies to every aspect of developing for Android, so this issue can't
 be evaded.
 To me, this is far more important than answering the questions on API
 usage, etc.


 On Friday, July 26, 2013 2:03:28 PM UTC+3, Kristopher Micinski wrote:

 I guess I'm trying to ascertain: is there a concrete question you
 have, or just a bunch of bad points about how the Android ecosystem
 sucks right now?

 If it's the second, everyone agrees it sucks, there's not a good
 solution.

 I suppose one thing that Android could have done better from the start
 was to offer UI modes that would be guaranteed to homogenous across
 all certified devices.

 I don't think that I said statistics were a solution to the issue
 (though apologies if I gave that impression): I meant to merely give
 the idea that because of Android's fragmentation a good way to get a
 handle on what you're facing would be to use device install
 statistics.  I never meant to imply that it was in any way a solution.

 But everyone agrees that fragmentation sucks.  Everyone has agreed it
 sucks since the beginning (even Android 2.0), and people knew it would
 get *worse*.  You have to worry about API levels, screen
 configurations, hardware configurations, etc...

 I know of a few groups developing open source test services, that
 could presumably end up making a co op or something: that would
 definitely give more leeway than traditional expensive test services.
 (If people would be interested, this would be possible to do in the
 community right now: just buy 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Παύλος-Πέτρος Τουρνάρης
Can't agree more with everything that has already been said here, but let
me remind you something guys: WE chose the Android way, they didn't force
us! Android is an Open Source Project and therefore it was more than 100%
sure that problems like the ones mentioned above, would appear by the time.
There is nothing we can do when almost every brand (Samsung, LG, Sony) uses
it's own custom ROM.

This should have been handled at the beggining of Android's carreer! It's
kind of difficult to deal with it at this moment with this huge penetration
of Android on numerous devices!


On Fri, Jul 26, 2013 at 3:19 PM, Kostya Vasilyev kmans...@gmail.com wrote:

 The conversation so far, and app testing services, assume that there are
 certain broken device models / firmwares and they are broken in a
 deterministic way.

 This implies that those bad devices can be discovered and excluded or
 workarounds implemented, again, in a deterministic way.

 From my experience, it's worse than that.

 I can get a user bug report that makes my jaw drop to the floor, and have
 a an exact or similar device on my desk that does not exhibit the issue.

 Basic things get broken: the app not being able to connect to well known
 servers, a toast notification getting stuck on the screen, the system
 ActionBar overflow button not showing on a device without a Menu button,
 etc.

 Reinstaling or clearing the Dalvik cache (or some other magic) often
 resolves these.

 That itself is a bad sign -- meaning that system level things can randomly
 break and randomly heal themselves, in a non-deterministic way.

 Here is a video I made of Galaxy Nexus with 4.0.2 rebooting when trying to
 start Google Maps, happened every time out of 10 or so I tried:

 http://www.youtube.com/watch?v=mC4EegjeWZA

 I fixed it by resetting the device back to factory settings and
 reinstalling Google Maps, but the question remains: why did this help? Did
 Google Maps get corrupted during installation? Can it happen to other apps
 too? I'm not even asking why a modern, preemptively multitasking operating
 system can enter a reboot triggered by application code.

 I don't have an answer for this situation either. It's just something I
 have to deal with every day, costing me a lot of wasted time and a
 depressed mood.

 The irony is, users always assume it's the app which must be doing
 something weird, unlike Windows, where they're quick to blame MS and Bill
 Gates personally. Must be some kind of Google magic.

 -- K



 2013/7/26 Omer Gilad omer.gi...@gmail.com

 The point of the original post (the concrete question) was beyond just
 rant and rave - the question asked is How to deal with it.
 To put in other words - What do you suggest as a practical solution to
 the problem, beyond just dumping Android and developing for iOS.
 To filter out some possible answers:

 1. Buying 50+ devices and doing QA on each one of them is NOT an option.
 It shouldn't ever be.
 2. Paying constantly to remote testing services just to know what bugs we
 have (without even the ability to debug and resolve them) is NOT an option.
 3. Chasing after devices (borrowing from friends, getting debug logs from
 users, etc.) and writing ugly code for workarounds time after time is what
 I've been doing for some time, but that is NOT an option.
 3. Filtering many devices on Google Play console is our current solution,
 which is far from ideal as you can imagine.

 Currently, I don't have an effective way to deal with it, to the point
 that I've decided to move to another platform - the current state is
 impossible to cope with.
 I'm an independent developer, working in cooperation with some people,
 and we fail to address the fragmentation issue.
 All our efforts invested in creating a quality product are in vain when
 it's being run on countless broken devices that we can't keep track of.
 Just to back myself up - I've been developing for Android for more than 3
 years, and have been constantly chasing after devices since the beginning.
 I experienced that in multiple types of projects (apps and games), as a
 hired or freelance developer and as an entrepreneur.
 It applies to every aspect of developing for Android, so this issue can't
 be evaded.
 To me, this is far more important than answering the questions on API
 usage, etc.


 On Friday, July 26, 2013 2:03:28 PM UTC+3, Kristopher Micinski wrote:

 I guess I'm trying to ascertain: is there a concrete question you
 have, or just a bunch of bad points about how the Android ecosystem
 sucks right now?

 If it's the second, everyone agrees it sucks, there's not a good
 solution.

 I suppose one thing that Android could have done better from the start
 was to offer UI modes that would be guaranteed to homogenous across
 all certified devices.

 I don't think that I said statistics were a solution to the issue
 (though apologies if I gave that impression): I meant to merely give
 the idea that because of Android's fragmentation a good way to get a

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Kostya Vasilyev
I had no idea it was this broken when I started developing for Android
in early 2010.

The only technology I can recall that was comparably broken was the
early releases of Direct 3D, back in 96-98 or so... MS moved very
quickly to improve it, though, and got hardware vendors to fix their
drivers too.

There are 58 thousand issues reported in the Android bug tracker.
Dividing by three years, and accounting for installed base growth,
that's, let's say, a hundred issues reported a day. Will they all be
looked at, fixed, verified? I seriously doubt it.

-- K

2013/7/26 Παύλος-Πέτρος Τουρνάρης p.tourna...@gmail.com:
 Can't agree more with everything that has already been said here, but let me
 remind you something guys: WE chose the Android way, they didn't force us!
 Android is an Open Source Project and therefore it was more than 100% sure
 that problems like the ones mentioned above, would appear by the time. There
 is nothing we can do when almost every brand (Samsung, LG, Sony) uses it's
 own custom ROM.

 This should have been handled at the beggining of Android's carreer! It's
 kind of difficult to deal with it at this moment with this huge penetration
 of Android on numerous devices!


 On Fri, Jul 26, 2013 at 3:19 PM, Kostya Vasilyev kmans...@gmail.com wrote:

 The conversation so far, and app testing services, assume that there are
 certain broken device models / firmwares and they are broken in a
 deterministic way.

 This implies that those bad devices can be discovered and excluded or
 workarounds implemented, again, in a deterministic way.

 From my experience, it's worse than that.

 I can get a user bug report that makes my jaw drop to the floor, and have
 a an exact or similar device on my desk that does not exhibit the issue.

 Basic things get broken: the app not being able to connect to well known
 servers, a toast notification getting stuck on the screen, the system
 ActionBar overflow button not showing on a device without a Menu button,
 etc.

 Reinstaling or clearing the Dalvik cache (or some other magic) often
 resolves these.

 That itself is a bad sign -- meaning that system level things can randomly
 break and randomly heal themselves, in a non-deterministic way.

 Here is a video I made of Galaxy Nexus with 4.0.2 rebooting when trying to
 start Google Maps, happened every time out of 10 or so I tried:

 http://www.youtube.com/watch?v=mC4EegjeWZA

 I fixed it by resetting the device back to factory settings and
 reinstalling Google Maps, but the question remains: why did this help? Did
 Google Maps get corrupted during installation? Can it happen to other apps
 too? I'm not even asking why a modern, preemptively multitasking operating
 system can enter a reboot triggered by application code.

 I don't have an answer for this situation either. It's just something I
 have to deal with every day, costing me a lot of wasted time and a depressed
 mood.

 The irony is, users always assume it's the app which must be doing
 something weird, unlike Windows, where they're quick to blame MS and Bill
 Gates personally. Must be some kind of Google magic.

 -- K



 2013/7/26 Omer Gilad omer.gi...@gmail.com

 The point of the original post (the concrete question) was beyond just
 rant and rave - the question asked is How to deal with it.
 To put in other words - What do you suggest as a practical solution to
 the problem, beyond just dumping Android and developing for iOS.
 To filter out some possible answers:

 1. Buying 50+ devices and doing QA on each one of them is NOT an option.
 It shouldn't ever be.
 2. Paying constantly to remote testing services just to know what bugs we
 have (without even the ability to debug and resolve them) is NOT an option.
 3. Chasing after devices (borrowing from friends, getting debug logs from
 users, etc.) and writing ugly code for workarounds time after time is what
 I've been doing for some time, but that is NOT an option.
 3. Filtering many devices on Google Play console is our current solution,
 which is far from ideal as you can imagine.

 Currently, I don't have an effective way to deal with it, to the point
 that I've decided to move to another platform - the current state is
 impossible to cope with.
 I'm an independent developer, working in cooperation with some people,
 and we fail to address the fragmentation issue.
 All our efforts invested in creating a quality product are in vain when
 it's being run on countless broken devices that we can't keep track of.
 Just to back myself up - I've been developing for Android for more than 3
 years, and have been constantly chasing after devices since the beginning.
 I experienced that in multiple types of projects (apps and games), as a
 hired or freelance developer and as an entrepreneur.
 It applies to every aspect of developing for Android, so this issue can't
 be evaded.
 To me, this is far more important than answering the questions on API
 usage, etc.


 On Friday, July 26, 2013 2:03:28 PM UTC+3, 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Omer Gilad
That doesn't justify.
An open source project can be maintained with strict regulations and 
high-quality standards.

Google can allow anyone to create his own Android device and sell however 
they want - but don't allow it to run Google Play and rate apps!

I don't recall problems in this massive scope on Linux for example. As far 
as I can tell, if I run a Linux program it's going to work 99% of the time.

On Friday, July 26, 2013 3:31:26 PM UTC+3, Paul-Peter Tournaris wrote:

 Can't agree more with everything that has already been said here, but let 
 me remind you something guys: WE chose the Android way, they didn't force 
 us! Android is an Open Source Project and therefore it was more than 100% 
 sure that problems like the ones mentioned above, would appear by the time. 
 There is nothing we can do when almost every brand (Samsung, LG, Sony) uses 
 it's own custom ROM. 

 This should have been handled at the beggining of Android's carreer! It's 
 kind of difficult to deal with it at this moment with this huge penetration 
 of Android on numerous devices!


 On Fri, Jul 26, 2013 at 3:19 PM, Kostya Vasilyev 
 kman...@gmail.comjavascript:
  wrote:

 The conversation so far, and app testing services, assume that there are 
 certain broken device models / firmwares and they are broken in a 
 deterministic way.

 This implies that those bad devices can be discovered and excluded or 
 workarounds implemented, again, in a deterministic way.

 From my experience, it's worse than that.

 I can get a user bug report that makes my jaw drop to the floor, and have 
 a an exact or similar device on my desk that does not exhibit the issue.

 Basic things get broken: the app not being able to connect to well known 
 servers, a toast notification getting stuck on the screen, the system 
 ActionBar overflow button not showing on a device without a Menu button, 
 etc.

 Reinstaling or clearing the Dalvik cache (or some other magic) often 
 resolves these.

 That itself is a bad sign -- meaning that system level things can 
 randomly break and randomly heal themselves, in a non-deterministic way.

 Here is a video I made of Galaxy Nexus with 4.0.2 rebooting when trying 
 to start Google Maps, happened every time out of 10 or so I tried:

 http://www.youtube.com/watch?v=mC4EegjeWZA

 I fixed it by resetting the device back to factory settings and 
 reinstalling Google Maps, but the question remains: why did this help? Did 
 Google Maps get corrupted during installation? Can it happen to other apps 
 too? I'm not even asking why a modern, preemptively multitasking operating 
 system can enter a reboot triggered by application code.

 I don't have an answer for this situation either. It's just something I 
 have to deal with every day, costing me a lot of wasted time and a 
 depressed mood.

 The irony is, users always assume it's the app which must be doing 
 something weird, unlike Windows, where they're quick to blame MS and Bill 
 Gates personally. Must be some kind of Google magic.
  
 -- K



 2013/7/26 Omer Gilad omer@gmail.com javascript:

 The point of the original post (the concrete question) was beyond just 
 rant and rave - the question asked is How to deal with it.
 To put in other words - What do you suggest as a practical solution to 
 the problem, beyond just dumping Android and developing for iOS.
 To filter out some possible answers:

 1. Buying 50+ devices and doing QA on each one of them is NOT an option. 
 It shouldn't ever be.
 2. Paying constantly to remote testing services just to know what bugs 
 we have (without even the ability to debug and resolve them) is NOT an 
 option.
 3. Chasing after devices (borrowing from friends, getting debug logs 
 from users, etc.) and writing ugly code for workarounds time after time is 
 what I've been doing for some time, but that is NOT an option.
 3. Filtering many devices on Google Play console is our current 
 solution, which is far from ideal as you can imagine.

 Currently, I don't have an effective way to deal with it, to the point 
 that I've decided to move to another platform - the current state is 
 impossible to cope with.
 I'm an independent developer, working in cooperation with some people, 
 and we fail to address the fragmentation issue.
 All our efforts invested in creating a quality product are in vain when 
 it's being run on countless broken devices that we can't keep track of.
 Just to back myself up - I've been developing for Android for more than 
 3 years, and have been constantly chasing after devices since the beginning.
 I experienced that in multiple types of projects (apps and games), as a 
 hired or freelance developer and as an entrepreneur. 
 It applies to every aspect of developing for Android, so this issue 
 can't be evaded.
 To me, this is far more important than answering the questions on API 
 usage, etc.


 On Friday, July 26, 2013 2:03:28 PM UTC+3, Kristopher Micinski wrote:

 I guess I'm trying to ascertain: is there 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-26 Thread Kristopher Micinski
I feel like what's been said here is more directed toward Google
management than Android AOSP, per se: not that that's not also an
issue.

I understand and agree with what Kostya is saying, and wasn't trying
to imply that there are a fixed number of builds with deterministic
issues.

Even for a certain device, things change and manifest in different
ways: from firmware problems, to radio issues, etc...

I think there are multiple problems here:
  - Fragmented OS installs over time
  - Operating system bugs
  - The fact that users can't upgrade their OS except through their
provider, which usually sucks at writing firmware and often includes
apps with special hooks into the OS doing really crazy things (e.g.,
HtcLoggers)
  - Poor management of certification to run google play
  - Certain roms running Google play even though they *shouldn't* be
  - etc...

Many of these are management related, and potentially caused by the
fact that Android doesn't control the OS.

I think your argument for Linux isn't necessarily applicable here.
Linux is all open source, you can install propietary drivers and mess
up your device, but that's *extremely* different than going to Gateway
(e.g.,) and having them hand you a custom version of Linux which can't
be removed from the system.  Note that in Linux's case, the codebase
stays overwhelmingly the same, where in Android a huge part of the
work is done with relatively few engineers working on writing firmware
for radios they didn't necessarily design, sticking together
proprietary components. I'm not using that as a defense for Android: I
just think it's a poor comparison.

Kris


On Fri, Jul 26, 2013 at 9:18 AM, Omer Gilad omer.gi...@gmail.com wrote:
 That doesn't justify.
 An open source project can be maintained with strict regulations and
 high-quality standards.

 Google can allow anyone to create his own Android device and sell however
 they want - but don't allow it to run Google Play and rate apps!

 I don't recall problems in this massive scope on Linux for example. As far
 as I can tell, if I run a Linux program it's going to work 99% of the time.


 On Friday, July 26, 2013 3:31:26 PM UTC+3, Paul-Peter Tournaris wrote:

 Can't agree more with everything that has already been said here, but let
 me remind you something guys: WE chose the Android way, they didn't force
 us! Android is an Open Source Project and therefore it was more than 100%
 sure that problems like the ones mentioned above, would appear by the time.
 There is nothing we can do when almost every brand (Samsung, LG, Sony) uses
 it's own custom ROM.

 This should have been handled at the beggining of Android's carreer! It's
 kind of difficult to deal with it at this moment with this huge penetration
 of Android on numerous devices!


 On Fri, Jul 26, 2013 at 3:19 PM, Kostya Vasilyev kman...@gmail.com
 wrote:

 The conversation so far, and app testing services, assume that there are
 certain broken device models / firmwares and they are broken in a
 deterministic way.

 This implies that those bad devices can be discovered and excluded or
 workarounds implemented, again, in a deterministic way.

 From my experience, it's worse than that.

 I can get a user bug report that makes my jaw drop to the floor, and have
 a an exact or similar device on my desk that does not exhibit the issue.

 Basic things get broken: the app not being able to connect to well known
 servers, a toast notification getting stuck on the screen, the system
 ActionBar overflow button not showing on a device without a Menu button,
 etc.

 Reinstaling or clearing the Dalvik cache (or some other magic) often
 resolves these.

 That itself is a bad sign -- meaning that system level things can
 randomly break and randomly heal themselves, in a non-deterministic way.

 Here is a video I made of Galaxy Nexus with 4.0.2 rebooting when trying
 to start Google Maps, happened every time out of 10 or so I tried:

 http://www.youtube.com/watch?v=mC4EegjeWZA

 I fixed it by resetting the device back to factory settings and
 reinstalling Google Maps, but the question remains: why did this help? Did
 Google Maps get corrupted during installation? Can it happen to other apps
 too? I'm not even asking why a modern, preemptively multitasking operating
 system can enter a reboot triggered by application code.

 I don't have an answer for this situation either. It's just something I
 have to deal with every day, costing me a lot of wasted time and a depressed
 mood.

 The irony is, users always assume it's the app which must be doing
 something weird, unlike Windows, where they're quick to blame MS and Bill
 Gates personally. Must be some kind of Google magic.

 -- K



 2013/7/26 Omer Gilad omer@gmail.com

 The point of the original post (the concrete question) was beyond just
 rant and rave - the question asked is How to deal with it.
 To put in other words - What do you suggest as a practical solution to
 the problem, beyond just dumping 

[android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Omer Gilad
.I am wondering how developers here are dealing with the fact that there 
are 1000's of devices out there, some of them running your applications in 
very broken ways
.I keep running into these kind of issues again and again for the past 3 
years, and to be honest, I'm fed up with it
.I've decided to move to iOS development, and the only way to convince me 
otherwise is to give me a decent, reliable way of dealing with fragmentation

So what do you do when you develop a game, for example, and try to create a 
high-quality user experience on Google Play?
Do you do your QA on 50 different devices? 100? 1000?
Or do you just shoot blindly and hope that it works, or wait for users to 
send you bug reports?

To make it clear, I'm not talking about official fragmentation.
I don't talk about different screen sizes, densities, features, OS versions 
and so on.
I talk about the unofficial fragmentation. The fact that most devices, 
even the popular ones from the big companies like Samsung, HTC, Motorola, 
LG and so on, contain tons of implementation bugs that prevent apps from 
working correctly.
I'm talking about the fact that you can call a certain simple API, test it 
on a stock Android ROM (like on Nexus 4), and then have your application 
crash on some Samsung, that decided to break the implementation because of 
some customization.

How can people stand that?
How is it possible to write code, when the machine that executes it is 
completely broken in unexpected ways?

I'm really fed up with it.
About 50% of my Android development time is wasted on babysitting broken 
devices.
I'm waiting for an official Google response about this, and what have you 
been doing in all those years to fix that.
I've heard about things like conformance tests for devices and so on, but 
the reality is far from acceptable in this area.

,Looking forward for helpful responses
Omer

-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Kostya Vasilyev
My solution: banging my head against the wall really hard.

Fed up with it too. Maybe I picked the wrong line of work, and should
become a garbage truck driver instead.

It's not just crashes, it's things that some devices do, which break
the UI in significant (to the users) ways.

Nothing like getting emails like this window doesn't scroll the right
way or text selection not working --

-- on my Samsung Blah Blah Platinum Plus Gold Pro model XXXZZZ3433,
firmware XXjjjuui384u8934, but also reproducible with firmware
887jjhXXX. Google certified with preinstalled Play, of course.

-- K


2013/7/26 Omer Gilad omer.gi...@gmail.com:
 .I am wondering how developers here are dealing with the fact that there are
 1000's of devices out there, some of them running your applications in very
 broken ways
 .I keep running into these kind of issues again and again for the past 3
 years, and to be honest, I'm fed up with it
 .I've decided to move to iOS development, and the only way to convince me
 otherwise is to give me a decent, reliable way of dealing with fragmentation

 So what do you do when you develop a game, for example, and try to create a
 high-quality user experience on Google Play?
 Do you do your QA on 50 different devices? 100? 1000?
 Or do you just shoot blindly and hope that it works, or wait for users to
 send you bug reports?

 To make it clear, I'm not talking about official fragmentation.
 I don't talk about different screen sizes, densities, features, OS versions
 and so on.
 I talk about the unofficial fragmentation. The fact that most devices,
 even the popular ones from the big companies like Samsung, HTC, Motorola, LG
 and so on, contain tons of implementation bugs that prevent apps from
 working correctly.
 I'm talking about the fact that you can call a certain simple API, test it
 on a stock Android ROM (like on Nexus 4), and then have your application
 crash on some Samsung, that decided to break the implementation because of
 some customization.

 How can people stand that?
 How is it possible to write code, when the machine that executes it is
 completely broken in unexpected ways?

 I'm really fed up with it.
 About 50% of my Android development time is wasted on babysitting broken
 devices.
 I'm waiting for an official Google response about this, and what have you
 been doing in all those years to fix that.
 I've heard about things like conformance tests for devices and so on, but
 the reality is far from acceptable in this area.

 ,Looking forward for helpful responses
 Omer

 --
 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Android Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to android-developers+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Kristopher Micinski
This is basically what the CTS enforcement is attempting to rectify:
but it's obviously not a perfect solution.

Many small developers just accept this as fact, and handle only the
API.  Bigger developers are forced to deal with the real problems, and
then it's a matter of extensive knowledge, testing, metaprogramming,
etc...

Kris

On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer.gi...@gmail.com wrote:
 .I am wondering how developers here are dealing with the fact that there are
 1000's of devices out there, some of them running your applications in very
 broken ways
 .I keep running into these kind of issues again and again for the past 3
 years, and to be honest, I'm fed up with it
 .I've decided to move to iOS development, and the only way to convince me
 otherwise is to give me a decent, reliable way of dealing with fragmentation

 So what do you do when you develop a game, for example, and try to create a
 high-quality user experience on Google Play?
 Do you do your QA on 50 different devices? 100? 1000?
 Or do you just shoot blindly and hope that it works, or wait for users to
 send you bug reports?

 To make it clear, I'm not talking about official fragmentation.
 I don't talk about different screen sizes, densities, features, OS versions
 and so on.
 I talk about the unofficial fragmentation. The fact that most devices,
 even the popular ones from the big companies like Samsung, HTC, Motorola, LG
 and so on, contain tons of implementation bugs that prevent apps from
 working correctly.
 I'm talking about the fact that you can call a certain simple API, test it
 on a stock Android ROM (like on Nexus 4), and then have your application
 crash on some Samsung, that decided to break the implementation because of
 some customization.

 How can people stand that?
 How is it possible to write code, when the machine that executes it is
 completely broken in unexpected ways?

 I'm really fed up with it.
 About 50% of my Android development time is wasted on babysitting broken
 devices.
 I'm waiting for an official Google response about this, and what have you
 been doing in all those years to fix that.
 I've heard about things like conformance tests for devices and so on, but
 the reality is far from acceptable in this area.

 ,Looking forward for helpful responses
 Omer

 --
 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Android Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to android-developers+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Omer Gilad
I've found that even the biggest app developers like Skype, Gameloft, etc. 
have device issues, and they don't look in such a good shape.
Just scan the reviews of any super-popular Android app, and you can see the 
same disease... This app doesn't even work, it sucks, and I PAID FOR IT! 
(from some crappy device).

Obviously, those bigger developers have the budget and capacity to own 
100's or Android devices and run a big QA department.
What is an independent developer, or even a small startup supposed to do?

The solution that me and my partners decided on is to aggressively filter 
down any device that gives us bad ratings in Google Play (from the 
developer console).
That feels like taking painkillers when you have a broken leg.

On Friday, July 26, 2013 2:47:49 AM UTC+3, Kristopher Micinski wrote:

 This is basically what the CTS enforcement is attempting to rectify: 
 but it's obviously not a perfect solution. 

 Many small developers just accept this as fact, and handle only the 
 API.  Bigger developers are forced to deal with the real problems, and 
 then it's a matter of extensive knowledge, testing, metaprogramming, 
 etc... 

 Kris 

 On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer@gmail.comjavascript: 
 wrote: 
  .I am wondering how developers here are dealing with the fact that there 
 are 
  1000's of devices out there, some of them running your applications in 
 very 
  broken ways 
  .I keep running into these kind of issues again and again for the past 3 
  years, and to be honest, I'm fed up with it 
  .I've decided to move to iOS development, and the only way to convince 
 me 
  otherwise is to give me a decent, reliable way of dealing with 
 fragmentation 
  
  So what do you do when you develop a game, for example, and try to 
 create a 
  high-quality user experience on Google Play? 
  Do you do your QA on 50 different devices? 100? 1000? 
  Or do you just shoot blindly and hope that it works, or wait for users 
 to 
  send you bug reports? 
  
  To make it clear, I'm not talking about official fragmentation. 
  I don't talk about different screen sizes, densities, features, OS 
 versions 
  and so on. 
  I talk about the unofficial fragmentation. The fact that most devices, 
  even the popular ones from the big companies like Samsung, HTC, 
 Motorola, LG 
  and so on, contain tons of implementation bugs that prevent apps from 
  working correctly. 
  I'm talking about the fact that you can call a certain simple API, test 
 it 
  on a stock Android ROM (like on Nexus 4), and then have your application 
  crash on some Samsung, that decided to break the implementation because 
 of 
  some customization. 
  
  How can people stand that? 
  How is it possible to write code, when the machine that executes it is 
  completely broken in unexpected ways? 
  
  I'm really fed up with it. 
  About 50% of my Android development time is wasted on babysitting broken 
  devices. 
  I'm waiting for an official Google response about this, and what have 
 you 
  been doing in all those years to fix that. 
  I've heard about things like conformance tests for devices and so on, 
 but 
  the reality is far from acceptable in this area. 
  
  ,Looking forward for helpful responses 
  Omer 
  
  -- 
  -- 
  You received this message because you are subscribed to the Google 
  Groups Android Developers group. 
  To post to this group, send email to 
  android-d...@googlegroups.comjavascript: 
  To unsubscribe from this group, send email to 
  android-developers+unsubscr...@googlegroups.com javascript: 
  For more options, visit this group at 
  http://groups.google.com/group/android-developers?hl=en 
  --- 
  You received this message because you are subscribed to the Google 
 Groups 
  Android Developers group. 
  To unsubscribe from this group and stop receiving emails from it, send 
 an 
  email to android-developers+unsubscr...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/groups/opt_out. 
  
  


-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Android Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Kristopher Micinski
There are potential solutions, but in practice it's a constant battle.
 Certainly there are people that provide internet based test services
that test your app on huge numbers of devices for a subscription based
fee.

Kris


On Thu, Jul 25, 2013 at 8:12 PM, Omer Gilad omer.gi...@gmail.com wrote:
 I've found that even the biggest app developers like Skype, Gameloft, etc.
 have device issues, and they don't look in such a good shape.
 Just scan the reviews of any super-popular Android app, and you can see the
 same disease... This app doesn't even work, it sucks, and I PAID FOR IT!
 (from some crappy device).

 Obviously, those bigger developers have the budget and capacity to own 100's
 or Android devices and run a big QA department.
 What is an independent developer, or even a small startup supposed to do?

 The solution that me and my partners decided on is to aggressively filter
 down any device that gives us bad ratings in Google Play (from the developer
 console).
 That feels like taking painkillers when you have a broken leg.

 On Friday, July 26, 2013 2:47:49 AM UTC+3, Kristopher Micinski wrote:

 This is basically what the CTS enforcement is attempting to rectify:
 but it's obviously not a perfect solution.

 Many small developers just accept this as fact, and handle only the
 API.  Bigger developers are forced to deal with the real problems, and
 then it's a matter of extensive knowledge, testing, metaprogramming,
 etc...

 Kris

 On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer@gmail.com wrote:
  .I am wondering how developers here are dealing with the fact that there
  are
  1000's of devices out there, some of them running your applications in
  very
  broken ways
  .I keep running into these kind of issues again and again for the past 3
  years, and to be honest, I'm fed up with it
  .I've decided to move to iOS development, and the only way to convince
  me
  otherwise is to give me a decent, reliable way of dealing with
  fragmentation
 
  So what do you do when you develop a game, for example, and try to
  create a
  high-quality user experience on Google Play?
  Do you do your QA on 50 different devices? 100? 1000?
  Or do you just shoot blindly and hope that it works, or wait for users
  to
  send you bug reports?
 
  To make it clear, I'm not talking about official fragmentation.
  I don't talk about different screen sizes, densities, features, OS
  versions
  and so on.
  I talk about the unofficial fragmentation. The fact that most devices,
  even the popular ones from the big companies like Samsung, HTC,
  Motorola, LG
  and so on, contain tons of implementation bugs that prevent apps from
  working correctly.
  I'm talking about the fact that you can call a certain simple API, test
  it
  on a stock Android ROM (like on Nexus 4), and then have your application
  crash on some Samsung, that decided to break the implementation because
  of
  some customization.
 
  How can people stand that?
  How is it possible to write code, when the machine that executes it is
  completely broken in unexpected ways?
 
  I'm really fed up with it.
  About 50% of my Android development time is wasted on babysitting broken
  devices.
  I'm waiting for an official Google response about this, and what have
  you
  been doing in all those years to fix that.
  I've heard about things like conformance tests for devices and so on,
  but
  the reality is far from acceptable in this area.
 
  ,Looking forward for helpful responses
  Omer
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Android Developers group.
  To post to this group, send email to android-d...@googlegroups.com
  To unsubscribe from this group, send email to
  android-developers+unsubscr...@googlegroups.com
  For more options, visit this group at
  http://groups.google.com/group/android-developers?hl=en
  ---
  You received this message because you are subscribed to the Google
  Groups
  Android Developers group.
  To unsubscribe from this group and stop receiving emails from it, send
  an
  email to android-developers+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/groups/opt_out.
 
 

 --
 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Android Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to android-developers+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
-- 
You received this message because you are subscribed to the Google
Groups Android Developers 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Omer Gilad
Yes, I've encountered those services.

This is still not a solution.
It requires substantial money investment, and in a lot of cases it doesn't 
give you the ability to debug on those devices.

Personal example - I'm developing a game, and we've found (after a friend 
checked it) that it has major display artifacts on Samsung Galaxy S4.
No logs or attempts to remotely resolve the issue helped - so we had to get 
our hands on the device for a day.
It turned out that the device's GPU is buggy, and miscalculates some common 
shader operations (like matrix multiplication).
There's no remote testing platform in the world that can assist you in 
resolving issues like that.

The issue is at the core, and must be solved at a design and attitude level 
- devices like that SHOULD NOT be allowed to run Google Play apps (and of 
course, they should be deprived of their certification), until the vendor 
fixes those issues.

On Friday, July 26, 2013 3:27:49 AM UTC+3, Kristopher Micinski wrote:

 There are potential solutions, but in practice it's a constant battle. 
  Certainly there are people that provide internet based test services 
 that test your app on huge numbers of devices for a subscription based 
 fee. 

 Kris 


 On Thu, Jul 25, 2013 at 8:12 PM, Omer Gilad omer@gmail.comjavascript: 
 wrote: 
  I've found that even the biggest app developers like Skype, Gameloft, 
 etc. 
  have device issues, and they don't look in such a good shape. 
  Just scan the reviews of any super-popular Android app, and you can see 
 the 
  same disease... This app doesn't even work, it sucks, and I PAID FOR 
 IT! 
  (from some crappy device). 
  
  Obviously, those bigger developers have the budget and capacity to own 
 100's 
  or Android devices and run a big QA department. 
  What is an independent developer, or even a small startup supposed to 
 do? 
  
  The solution that me and my partners decided on is to aggressively 
 filter 
  down any device that gives us bad ratings in Google Play (from the 
 developer 
  console). 
  That feels like taking painkillers when you have a broken leg. 
  
  On Friday, July 26, 2013 2:47:49 AM UTC+3, Kristopher Micinski wrote: 
  
  This is basically what the CTS enforcement is attempting to rectify: 
  but it's obviously not a perfect solution. 
  
  Many small developers just accept this as fact, and handle only the 
  API.  Bigger developers are forced to deal with the real problems, and 
  then it's a matter of extensive knowledge, testing, metaprogramming, 
  etc... 
  
  Kris 
  
  On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer@gmail.com 
 wrote: 
   .I am wondering how developers here are dealing with the fact that 
 there 
   are 
   1000's of devices out there, some of them running your applications 
 in 
   very 
   broken ways 
   .I keep running into these kind of issues again and again for the 
 past 3 
   years, and to be honest, I'm fed up with it 
   .I've decided to move to iOS development, and the only way to 
 convince 
   me 
   otherwise is to give me a decent, reliable way of dealing with 
   fragmentation 
   
   So what do you do when you develop a game, for example, and try to 
   create a 
   high-quality user experience on Google Play? 
   Do you do your QA on 50 different devices? 100? 1000? 
   Or do you just shoot blindly and hope that it works, or wait for 
 users 
   to 
   send you bug reports? 
   
   To make it clear, I'm not talking about official fragmentation. 
   I don't talk about different screen sizes, densities, features, OS 
   versions 
   and so on. 
   I talk about the unofficial fragmentation. The fact that most 
 devices, 
   even the popular ones from the big companies like Samsung, HTC, 
   Motorola, LG 
   and so on, contain tons of implementation bugs that prevent apps from 
   working correctly. 
   I'm talking about the fact that you can call a certain simple API, 
 test 
   it 
   on a stock Android ROM (like on Nexus 4), and then have your 
 application 
   crash on some Samsung, that decided to break the implementation 
 because 
   of 
   some customization. 
   
   How can people stand that? 
   How is it possible to write code, when the machine that executes it 
 is 
   completely broken in unexpected ways? 
   
   I'm really fed up with it. 
   About 50% of my Android development time is wasted on babysitting 
 broken 
   devices. 
   I'm waiting for an official Google response about this, and what have 
   you 
   been doing in all those years to fix that. 
   I've heard about things like conformance tests for devices and so 
 on, 
   but 
   the reality is far from acceptable in this area. 
   
   ,Looking forward for helpful responses 
   Omer 
   
   -- 
   -- 
   You received this message because you are subscribed to the Google 
   Groups Android Developers group. 
   To post to this group, send email to android-d...@googlegroups.com 
   To unsubscribe from this group, send email to 
   

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Kristopher Micinski
Your last paragraph is *exactly* what the CTS is all about, but
obviously if you don't work for google you can't mandate what goes in
and what does not :-).

I'm not recommending that these services are the solution to
everyone's problems: but I do contend they get you farther than you
would be otherwise.  Games are particularly hard to test, since GPUs
vary more widely across devices and aren't part of the most common
pieces of the SDK.

The fact of the matter is, there are always going to be hacked up ROMs
running on the market: that's the design decision made by Android.
The CTS helps get you farther to a holistic / cohesive platform, but
in the end it's a numbers game: knowing which devices, API levels,
user bases, countries, etc.. to care about is something the
experienced developer has to have a handle on.

Kris

On Thu, Jul 25, 2013 at 9:05 PM, Omer Gilad omer.gi...@gmail.com wrote:
 Yes, I've encountered those services.

 This is still not a solution.
 It requires substantial money investment, and in a lot of cases it doesn't
 give you the ability to debug on those devices.

 Personal example - I'm developing a game, and we've found (after a friend
 checked it) that it has major display artifacts on Samsung Galaxy S4.
 No logs or attempts to remotely resolve the issue helped - so we had to get
 our hands on the device for a day.
 It turned out that the device's GPU is buggy, and miscalculates some common
 shader operations (like matrix multiplication).
 There's no remote testing platform in the world that can assist you in
 resolving issues like that.

 The issue is at the core, and must be solved at a design and attitude level
 - devices like that SHOULD NOT be allowed to run Google Play apps (and of
 course, they should be deprived of their certification), until the vendor
 fixes those issues.


 On Friday, July 26, 2013 3:27:49 AM UTC+3, Kristopher Micinski wrote:

 There are potential solutions, but in practice it's a constant battle.
  Certainly there are people that provide internet based test services
 that test your app on huge numbers of devices for a subscription based
 fee.

 Kris


 On Thu, Jul 25, 2013 at 8:12 PM, Omer Gilad omer@gmail.com wrote:
  I've found that even the biggest app developers like Skype, Gameloft,
  etc.
  have device issues, and they don't look in such a good shape.
  Just scan the reviews of any super-popular Android app, and you can see
  the
  same disease... This app doesn't even work, it sucks, and I PAID FOR
  IT!
  (from some crappy device).
 
  Obviously, those bigger developers have the budget and capacity to own
  100's
  or Android devices and run a big QA department.
  What is an independent developer, or even a small startup supposed to
  do?
 
  The solution that me and my partners decided on is to aggressively
  filter
  down any device that gives us bad ratings in Google Play (from the
  developer
  console).
  That feels like taking painkillers when you have a broken leg.
 
  On Friday, July 26, 2013 2:47:49 AM UTC+3, Kristopher Micinski wrote:
 
  This is basically what the CTS enforcement is attempting to rectify:
  but it's obviously not a perfect solution.
 
  Many small developers just accept this as fact, and handle only the
  API.  Bigger developers are forced to deal with the real problems, and
  then it's a matter of extensive knowledge, testing, metaprogramming,
  etc...
 
  Kris
 
  On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer@gmail.com wrote:
   .I am wondering how developers here are dealing with the fact that
   there
   are
   1000's of devices out there, some of them running your applications
   in
   very
   broken ways
   .I keep running into these kind of issues again and again for the
   past 3
   years, and to be honest, I'm fed up with it
   .I've decided to move to iOS development, and the only way to
   convince
   me
   otherwise is to give me a decent, reliable way of dealing with
   fragmentation
  
   So what do you do when you develop a game, for example, and try to
   create a
   high-quality user experience on Google Play?
   Do you do your QA on 50 different devices? 100? 1000?
   Or do you just shoot blindly and hope that it works, or wait for
   users
   to
   send you bug reports?
  
   To make it clear, I'm not talking about official fragmentation.
   I don't talk about different screen sizes, densities, features, OS
   versions
   and so on.
   I talk about the unofficial fragmentation. The fact that most
   devices,
   even the popular ones from the big companies like Samsung, HTC,
   Motorola, LG
   and so on, contain tons of implementation bugs that prevent apps from
   working correctly.
   I'm talking about the fact that you can call a certain simple API,
   test
   it
   on a stock Android ROM (like on Nexus 4), and then have your
   application
   crash on some Samsung, that decided to break the implementation
   because
   of
   some customization.
  
   How can people stand that?
   How is 

Re: [android-developers] Dealing with 1000's of different devices, each one with its own bugs

2013-07-25 Thread Omer Gilad
I agree that it's better than nothing. But, since it's a paid service that 
has nothing to do with the official SDK, it doesn't come in the SDK's favor 
at all.

The problem appears in much more obvious parts of the SDK than the one I 
presented. I can give countless examples on demand and I'm sure others can 
too.

Also, I never even bothered to fix custom ROMs and such - this is really 
beyond my scope.
I'm having constant issues with stock, popular devices from Samsung, HTC, 
etc. - the ones that get shipped in the millions and dominate the Google 
Play statistics.

As you said, statistics are also a temporary solution to the issue - just 
focus on workarounds for the most popular buggy devices - mainly the 
Samsung Galaxy series and its endless variations.

On Friday, July 26, 2013 4:33:52 AM UTC+3, Kristopher Micinski wrote:

 Your last paragraph is *exactly* what the CTS is all about, but 
 obviously if you don't work for google you can't mandate what goes in 
 and what does not :-). 

 I'm not recommending that these services are the solution to 
 everyone's problems: but I do contend they get you farther than you 
 would be otherwise.  Games are particularly hard to test, since GPUs 
 vary more widely across devices and aren't part of the most common 
 pieces of the SDK. 

 The fact of the matter is, there are always going to be hacked up ROMs 
 running on the market: that's the design decision made by Android. 
 The CTS helps get you farther to a holistic / cohesive platform, but 
 in the end it's a numbers game: knowing which devices, API levels, 
 user bases, countries, etc.. to care about is something the 
 experienced developer has to have a handle on. 

 Kris 

 On Thu, Jul 25, 2013 at 9:05 PM, Omer Gilad omer@gmail.comjavascript: 
 wrote: 
  Yes, I've encountered those services. 
  
  This is still not a solution. 
  It requires substantial money investment, and in a lot of cases it 
 doesn't 
  give you the ability to debug on those devices. 
  
  Personal example - I'm developing a game, and we've found (after a 
 friend 
  checked it) that it has major display artifacts on Samsung Galaxy S4. 
  No logs or attempts to remotely resolve the issue helped - so we had to 
 get 
  our hands on the device for a day. 
  It turned out that the device's GPU is buggy, and miscalculates some 
 common 
  shader operations (like matrix multiplication). 
  There's no remote testing platform in the world that can assist you in 
  resolving issues like that. 
  
  The issue is at the core, and must be solved at a design and attitude 
 level 
  - devices like that SHOULD NOT be allowed to run Google Play apps (and 
 of 
  course, they should be deprived of their certification), until the 
 vendor 
  fixes those issues. 
  
  
  On Friday, July 26, 2013 3:27:49 AM UTC+3, Kristopher Micinski wrote: 
  
  There are potential solutions, but in practice it's a constant battle. 
   Certainly there are people that provide internet based test services 
  that test your app on huge numbers of devices for a subscription based 
  fee. 
  
  Kris 
  
  
  On Thu, Jul 25, 2013 at 8:12 PM, Omer Gilad omer@gmail.com 
 wrote: 
   I've found that even the biggest app developers like Skype, Gameloft, 
   etc. 
   have device issues, and they don't look in such a good shape. 
   Just scan the reviews of any super-popular Android app, and you can 
 see 
   the 
   same disease... This app doesn't even work, it sucks, and I PAID FOR 
   IT! 
   (from some crappy device). 
   
   Obviously, those bigger developers have the budget and capacity to 
 own 
   100's 
   or Android devices and run a big QA department. 
   What is an independent developer, or even a small startup supposed to 
   do? 
   
   The solution that me and my partners decided on is to aggressively 
   filter 
   down any device that gives us bad ratings in Google Play (from the 
   developer 
   console). 
   That feels like taking painkillers when you have a broken leg. 
   
   On Friday, July 26, 2013 2:47:49 AM UTC+3, Kristopher Micinski wrote: 
   
   This is basically what the CTS enforcement is attempting to rectify: 
   but it's obviously not a perfect solution. 
   
   Many small developers just accept this as fact, and handle only the 
   API.  Bigger developers are forced to deal with the real problems, 
 and 
   then it's a matter of extensive knowledge, testing, metaprogramming, 
   etc... 
   
   Kris 
   
   On Thu, Jul 25, 2013 at 6:39 PM, Omer Gilad omer@gmail.com 
 wrote: 
.I am wondering how developers here are dealing with the fact that 
there 
are 
1000's of devices out there, some of them running your 
 applications 
in 
very 
broken ways 
.I keep running into these kind of issues again and again for the 
past 3 
years, and to be honest, I'm fed up with it 
.I've decided to move to iOS development, and the only way to 
convince 
me 
otherwise is to give me a decent,