
Official Android 6.0 SDK and Final M Preview - cryptoz
http://android-developers.blogspot.com/2015/08/m-developer-preview-3-final-sdk.html
======
julianpye
Right now according to my user demographics, I just decided to move to 4.2
(API 17).

Which means that what I learned at I/O 2013 can finally be put to good use!

The sad part is that I decided to skip looking enthusiastically under the hood
of M, because I won't be able to use it anyway for quite some time.

~~~
izacus
And 57% of our demographics are on 5.0 or newer, with 19+ covering over 80% of
users actually using the app.

Perhaps updating your app to the 5.x standard will actually make those users
use it instead of running away to other Material apps ;)

~~~
RyanZAG
Not quite catching your point - if you set your min sdk to android 5.0, you
will remove 43% of your users. That's kind of the problem.

Luckily, Android has a great compatibility library so you can still use many
of the new features.

~~~
tomswartz07
Correct me if I'm wrong, but I thought you can have a minsdk version and a
recommendedsdk version.

This allows you to use the newer features, but also include fallback layouts
for lower SDK versions.

EDIT: Yeah, looks like I was mostly right: minSdkVersion and targetSdVersion.
[https://developer.android.com/guide/topics/manifest/uses-
sdk...](https://developer.android.com/guide/topics/manifest/uses-sdk-
element.html)

------
knd775
OEMs (and probably carriers) really need to get their stuff together. It
really sucks that here we are talking about M when very few devices have seen
an L release.

~~~
BlackJack
A good rule of thumb is that 25% of Android devices will have the OS within 1
year of release and 50% within 2 years of release.

Based on
[https://developer.android.com/about/dashboards/index.html](https://developer.android.com/about/dashboards/index.html)
though, L is behind the pace :(

~~~
izacus
Those stats you're linking are extremely misleading and don't really reflect
demographic of actual app users. Pretty much all our apps across the board
have higher Lollipop and KitKat usage.

Which makes sense - what you linked is aggregate number of all users on the
Play store across the world. Users that actually actively engage in their
phones and western markets are noticably more up to date. Ignore newer API
versions at your own peril.

~~~
Someone1234
> [..] demographic of actual app users [..] Users that actually actively
> engage in their phones and western markets are noticably more up to date.

Your post seem predicated on assumptions which aren't supported:

\- That people with "better engagement" are more profitable to app developers
(which might be the reverse of true if you aren't on a freemium modal). \-
That non-Westerners don't buy apps at all or that we simply shouldn't care. .

~~~
izacus
No, no, I did not want to imply any of that. Just that:

\- For pretty much any of our apps the actual breakdown of Android versions is
nothing like what the Play store shows. \- The amount of new Androids is
significantly higher (we actually have an app with 57% 5.x and 80% on 4.4 or
newer - Samsung updates have been significant for it) and varies greatly \-
The users with newer devices and newer Android versions are usually more
engaged, use apps more and also advertise them more which makes for a good
network effect. \- We have noticed a major shift to apps with Material design,
arrogant Apple marketing aside, there's alot of users on Android that DO care
about design, UX and those tend to have rather newish phones.

Depending on your app you should of course also care for people on worse
phones. If you're providing a public service app (e.g. showing public
transport schedules), you should probably target as low as 2.3 (even though,
perhaps actually building 2 APKs for that usecase makes sense). If you're
building a modern 3D game, you should probably target API 19+ since users with
older devices probably won't be able to run it anyway. But in any case, DO
YOUR RESEARCH, because the numbers vary greatly across demographics, app
categories and regions.

------
niedzielski
I thought I was the jaded dev until I started reading these comments! There's
a lot of stuff I hate about Android but, in my opinion, the tools, first and
third party libraries, testing support, and design have made really great
progress this year alone. Android Studio and the Gradle plugin are really,
really coming along (and I'm on Linux!), the Support libraries are filling in
a lot more holes than they ever did before (and I have to support
Gingerbread!), Robolectric is at 3.0 RC3 and you can finally run it in Android
Studio, and Material Design is getting more well defined and seeing more and
more saturation into other tech (Polymer hit 1.0!).

~~~
vorg
> Android Studio and the Gradle plugin are really, really coming along

Too bad Gradle only allows us to use one language (i.e. Groovy) to configure
the builds. Because Maven uses generic XML, any language can sit atop it. E.g.
Polyglot Maven [1] not only allows us to use Groovy, but also Clojure, Scala,
and Ruby to configure its builds.

[1] [https://github.com/takari/polyglot-
maven](https://github.com/takari/polyglot-maven)

~~~
niedzielski
Build systems have been particularly tumultuous for Android. It was unfun to
build an app in Eclipse, then want CI and have to write a lot of boilerplate
in Ant. The complete translation of all that Ant code and related CI materials
to Gradle / Android Studio took weeks for my team on a large codebase. And, if
you're a platform dev, you also have to support nonrecursive Make.

I'm not a big Groovy fan either but I am a big fan of picking something that
works. The transition was painful but I'm glad the road ahead looks clear and
focused.

~~~
vorg
If Gradle's configuration API was opened up so other languages besides Groovy
were allowed, such as Clojure, Scala, JRuby, and even Jython, Gradle would
attract a lot more developers who are put off by Groovy. Even Gradle's website
and promotional materials avoids using the word "Groovy", instead saying
"Gradle DSL", but that's not enough to win over hardcore Python or Ruby shops.

As for your case and many others already reluctantly using Groovy in Gradle,
translating it all from Groovy-Gradle to, say, Ruby-Gradle wouldn't take weeks
but hours because only the syntax would need to be translated almost one-to-
one, leaving all the Gradle configuration names and sequences unchanged. In
fact, because it could be done incrementally, only minutes spread out over
several days.

------
drzaiusapelord
Please Google, how about some real battery improvements this time? I was
disappointed to hear that the new "doze" feature is only for completely
stationary phones. So sitting in your pocket or the bottom of your purse won't
set it off because there's too much motion. I imagine this will be nice for
tablets that sit on the kitchen counter all day, but might not affect phone
battery life at all.

Apparently, the battery gains from Volta in 5.0 didn't do much and from what
I've read many of the popular apps never bothered supporting the new APIs for
their own reasons.

On the plus side, hearing about monthly security updates tackles my biggest
concern with the platform. The problem is only a handful of the biggest
players have signed on for that, and even then these updates need carrier
approval for some asinine reason. The smaller OEM's will probably never
deliver these updates.

~~~
MichaelGG
Or OEMs could just put decent batteries in the phones? Huawei has the Mate 2
with a 4000mAh battery. I easily get over a full 24-hour day. I never worry
about charging it.

Other OEMs could do this if they wanted. But they choose to slice another mm
off thickness, and everyone's happy if they can get through 12 hours without
charging.

If Apple has chose to ship a battery capable of lasting 24 hours, everyone
would just take it for granted that this is obviously how devices should work.

~~~
Grazester
That's a brute force way of trying to solve the issue and one I am not big on.

~~~
MichaelGG
Sure, but A: it works, today, B: it works well, with no compat issues.

~~~
drzaiusapelord
The Mate 2 is a HUGE 6.1" phone and nearly twice the weight of an iphone. This
is not a solution for most of the phone market. I own a N6 and I have huge
hands and its a bit much for me. Its uncomfortably huge and heavy. I can't
imagine most people being on board with a heavy and huge phone because google
can't get its shit together on power savings.

~~~
simoncion
Back when I was carrying my Nexus S around, I would have happily paid $50 more
for a model designed to contain a double-sized battery. [0] My hands tell me
that the battery is quite a bit less than 25% of the total weight of the
device, so the weight cost would also be quite small; no more than ~1.5
additional ounces.

It's not a rule that one has to choose between a relatively small phone with
shitty battery life and a phablet with somewhat less shitty battery life. One
could have double or triple-sized batteries in the smaller phones!

[0] The problem with all of the aftermarket batteries that I saw was that they
required a new back cover that contained no NFC antenna.

------
Rangi42
> The Android emulator system images and developer preview system images have
> been updated for supported Nexus devices (Nexus 5, Nexus 6, Nexus 9 & Nexus
> Player) to help with your testing.

The Nexus 7 is pointedly absent. Will they even get an OTA update for the
final Android M release?

------
xasos
Really big fan of the simplified permissions feature. It's something I've
always wanted that Android never had. In addition to the supposed battery
usage improvements, I'm looking forward to the new streamlined Android Pay
features.

~~~
jzzskijj
Just learned about this and it seems really great! This is something I always
wished for when I was developing for Android and actively using apps. When the
most of the apps seemed to require me to give permission to access my personal
information, I quit installing and using apps.

"The M Developer Preview introduces a new app permissions model which
streamlines the process for users to install and upgrade apps. If an app
running on the M Preview supports the new permissions model, the user does not
have to grant any permissions when they install or upgrade the app. Instead,
the app requests permissions as it needs them, and the system shows a dialog
to the user asking for the permission.

If an app supports the new permissions model, it can still be installed and
run on devices running older versions of Android, using the old permissions
model on those devices."

[https://developer.android.com/preview/features/runtime-
permi...](https://developer.android.com/preview/features/runtime-
permissions.html)

------
jl6
Really hoping 6.0 and the new Nexus phones have pen support so I can get over
my disappointment that the Galaxy Note 5 won't be released in Europe.

~~~
bitmapbrother
Android M gets native Bluetooth stylus support so it should be supported.

~~~
winslow
Why does a stylus need bluetooth? I thought it interacted with the display
much like a finger (just more precise). Unless they are using thermal touch
sensors?

~~~
dragonwriter
> Why does a stylus need bluetooth? I thought it interacted with the display
> much like a finger (just more precise).

Styluses often have interaction mechanisms other than the pointer (e.g., the
button on Samsung's "S-Pen".)

------
clumsysmurf
I predict that only Nexus devices will get 6.0 initially, just like 4.0 and
(to a lesser degree 5.0) before that.

But OEMs will wait for 6.1 to let the bugs settle out. After 5.0 and its
memory leak bugs etc, i'm wary.

~~~
bitmapbrother
Oh please. Android 5.0 introduced a new runtime that was the cause of a lot of
the issues. These have been ironed out in 5.1.

~~~
BinaryIdiot
Pretty sure that was exactly his point; major issues until the point one
release so why wouldn't they wait?

------
richardboegli
I think that next version of Android will be called Oreo.

Just putting it out there, so when I am right in a year or so time we can
refer back to this comment ;-)

I'll write up a separate post later as to why I think it'll be called that.

------
needusername
Slightly OT: Does anybody have an ETA of Java 8 in Android?

------
bitwize
Android as a platform is toast. With the flagrant security issues, anyone who
cares about security will buy an iPhone or BlackBerry. Add to that the blatant
Oracle IP infringement and you've got a recipe for a platform with no future.

The smart mobile devs are noping the fuck out of the Android ecosystem.

~~~
51Cards
You're correct... at ~78% of the mobile market share the platform is
definitely on its last legs. Better to focus development on the remaining 22%,
esp with that 30% Apple market overhead.... ???

Android definitely has hurdles to overcome but it's far from "toast". I really
can't conceive where that view would come from?

~~~
Jerry2
>at ~78% of the mobile market share

That's the most misleading & pointless statistic I've ever come across and
definitely the most dangerous one if you're a developer. Why? Well, VAST
MAJORITY of that marketshare are phones that are so cheaply made that they
cannot run even 4.4 let alone 5. Only a tiny portion of these phones are
actually capable of running latest apps & games well. So all these people
running non-Android (China for example doesn't really run certified Android
but various forks of AOSP) are not really your customers.

And don't even get me started on user base... if you read Google Play reviews,
you'll notice that people give you 1 star ratings if you decide to charge for
an app or decide to have IAPs in your "free" app. So good luck making a living
off Android apps. About the only way you can do it, and the most common way
for Android devs to make money these days, is to exfiltrate as much personal
data as possible and sell it to data brokers. That's why all these "free" apps
require so many permissions.

Anyway, I've been an Android dev for 4+ years and recently moved into server-
side development but I pity the guys who still try to make a living off
Android.

~~~
drzaiusapelord
I'm okay with apps becoming non-profitable commodities, at least for the
general user. We have enough fremium games and other junk as-is. Apps should
be added-value for another product (control my theromstat, get richer content
from a website, etc). The vision of mobile as eating the world never made
sense. It has its place and unsurprisingly, the gold rush is ending. You can
only make so many Angry Bird clones and flashlight apps.

Apps will eventually be like the web. They won't be profit makers on their
own. Its also good to see a lot of the goldrush crowd go away. The app store
is just too gamified to the point that finding good stuff in near impossible
unless you know the exact name of the app you want.

~~~
Jerry2
>I'm okay with apps becoming non-profitable commodities,

You're delusional if you think you will have free AND excellent apps at the
same time. It's usually "pick one" situation.

To have great apps you need incentive for developers to make them (which is
99% of the time MONEY). Take the money out of the equation and you have mostly
junk.

