Hacker News new | past | comments | ask | show | jobs | submit login
What's new in Android 4.3 (android.com)
239 points by sindhiparsani on July 24, 2013 | hide | past | favorite | 122 comments



This is more developer related, but one of the biggest news is a backwards compatible ActionBar in the official support library. All that's left to say is a big, enormous thank you to Jake Wharton for keeping us all sane until now.

Edit: The video about the ActionBarCompat is available: https://www.youtube.com/watch?v=6TGgYqfJnyc#at=20

Seems largely identical to ABS in its implementation, which makes sense.


Seriously, this might be the most important change in the list. Jake's work has been incredible, but having this provided by the support library is a huge improvement to Android development.


Personally, I'm still really annoyed that Espresso - http://www.youtube.com/watch?v=T7ugmCuNxDU - hasn't been released!


I started using this today, and it's great. Even works immediately with ActionBarDrawerToggle, which is awesome.


Absolutely ActionBarCompat is the best addition to 4.3. Thanks for the video link.


Um, its worth nothing that ActionBarCompat is not an addition to 4.3. Its an addition to the support library. If you include the support library in your project and you can use features from 4.3, such as fragments, and the action bar all the way back to android 1.6. The support library is a backport of modern functionality.

This is part of googles approach to addressing fragmentation on the Android platform.


Small correction, the support library which has ActionBarCompat only goes back to 2.1 (each version has a number representing the API version it supports, in this case v7)


When do you use the Action Bar? Never seen an app with it.


I think you might be confusing it with something else. It's pretty much in every app http://developer.android.com/guide/topics/ui/actionbar.html


>You can access notifications through new APIs that let you register a notification listener service and with permission of the user, receive notifications as they are displayed in the status bar...You'll be able to launch any intents attached to the notification or its actions, as well as dismiss it from the system, allowing your app to provide a complete user interface to notifications.

wow. that should have some interesting possibilities.


This can be done on older versions as well but the app has to declare itself as an Accessibility Service, which is a massive hack. Google are fixing that by mirroring that specific use case in a separate service.


Correct me if I'm wrong, but I think that the Accessibility Service hack only allows apps to read notifications?

One of the other advantages of this new API functionality seems to be that it will also allow apps to dismiss notifications, or detect when the user has dismissed a notification. This will allow notifications to be kept in sync between the system and an app (or on a linked device like a smartwatch), which is a very nice addition.


Hello smartwatches!


And Google Glass


And perhaps anti-notification-spam apps, if I understand this right?


"Nexus 7 should receive the update today, other devices in the coming week"

http://techcrunch.com/2013/07/24/android-4-3-will-be-availab...


Maybe they changed it since your comment, it now says ". All of these devices will receive the over-the-air update today."

Seems highly unlikely to me. I haven't gotten the update on my Galaxy Nexus yet.


'Recieve' there means that the OTA is out and being deployed to some devices, not that it's been rolled out and made available to everyone. If you want the update sooner, you can download the factory images and flash it. (which have already been released).


On the "actual user-facing feature" front:

Android 4.3 adds built-in support for Bluetooth AVRCP 1.3... In addition to exposing playback controls on the remote devices connected over Bluetooth, apps can now transmit metadata such as track name, composer, and other types of media metadata.

I've been waiting for that for car audio (iOS already supports it).


So 4.3 fixes neither the ad-hoc WiFi issue #82 nor the audio latency issue #3434. I will continue to pass as those are the deal breakers for me.

It’s amazing – these two have been pending for more than 4 years. Google hasn’t cared to even comment on the former while thousands of users beg them to: https://code.google.com/p/android/issues/detail?id=82


Yes. I'm still watching issue #7147 aka #20814 ( http://code.google.com/p/android/issues/detail?id=7147 ). The programmer who created Dalvik was working on a fix to this prior to his leaving Google in 2011, but apparently no one there picked up the ball ( http://bit.ly/12kk0l4 ).

I'm happy they have improved some things over the past year, allowing for staged rollouts and so forth. I do hope they work on fixing things like this, as opposed to just including things like more APIs for DRM to plug into.


It would appear that both were assigned on Friday, so that is a good sign.


You mean 'on Wednesday last month'?

I'm not invested in either of these bugs, I don't think I care about them/their result, but I think you failed to parse the month in that tracker?


Oh, yep. Saw Jun, read Jul. Still fairly recent, though.


Not to start a flame war here...but what is the likelihood that newer devices still on 4.1 will be bumped to 4.3, on the reasoning that third-parties waited until 4.3 to make the upgrade? Or does it become increasingly unlikely that any upgrade will happen?

I have a Sprint HTC One...which was released in 4.2's latter days but still had 4.1...wondering if an upgrade will ever happen


That seems to be largely a carrier issue, and unfortunately the best solution seems to be to root the device and install/update stock Android manually.

This is why Google is moving a lot of Android's functionality into applications, which can be updated easily via the Google Play Store.


I should also put a shout out to the compatibility library and google play services - these mean app developers are not tied to having to code against the latest version of android to use new features.

Essentially all Android updates do now is to change some of the core OS plumbing. The big changes from 4.1 to 4.2 were rendering speedups. 4.3 seems to be new versions of the bluetooth stack and open GL.


Consider it unlikely. I have a flagship Verizon device stuck on 4.1.1, this is true of my previous Android device.

The carriers seem to want a model where you replace your device regularly to get the newer software....


Lol, Funny how we have very different standards for stuck. I would not consider 4.1.1 "stuck" any time soon. I have gingerbread on 800mhz, 420x840. I would LOVE to be "stuck" on 4.1.1. Google chrome and Google Now seem like such neat things.


With a device like that surely you must be eligible for a carrier-provided upgrade device. What device is it, and do you just like it more than anything more recent?


I wonder how many people are effectively stuck on older devices because Verizon wants to strip away unlimited plans (Verizon ended unlimited data in May 2012 and you have to switch to a limited plan to get the carrier subsidy).


The phone I have is a HTC Droid DNA, I bought it out of contract to keep my unlimited data. (~$600)

The only thing keeping me on Verizon is there excellent coverage in rural areas, it certainly isn't support, cost or devices.


I am not on a carrier plan, we don't have subsidised phones in my country. We pay the full value. And I can't afford to buy a new one ATM.


It depends on the manufacturer and the carrier.

In the particular case of the HTC One, there is a leaked 4.2.2 update (with Sense, not the Google edition) for the international version of the phone that can be safely installed on carrier-specific versions. It will likely be available OTA in a few months.


You'll get 4.3, and even at least one more for HTC One.

The ones that receive very poor to no further support are the low-end devices, or the not very popular ones, which is also very unfortunate.

That's why I think that if Google announced Motorola will support its own devices for 3 years, just like Apple and Canonical also promised for Ubuntu Edge, they would have a huge competitive advantage over other OEM's (which are free to copy them on this).


I like your theory, but Motorola regularly abandons even it's flagship devices.


There seems to be a significant push for more video/entertainment/proprietary content related stuff. Anyone familiar with this?

"Modular DRM framework

To meet the needs of the next generation of media services, Android 4.3 introduces a modular DRM framework that enables media application developers to more easily integrate DRM into their own streaming protocols, such as MPEG DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1)."

Wonder if I'll finally see Amazon Instant Video on vanilla-android... probably not.


Thing is, Amazon Instant is already on Google TV. So I don't think there is any technical reason for them to not implement it.


Amazon Instant on Google TV is just a shortcut to launching Chrome pointed at the Amazon site where the videos play in Flash. It's not a real Android app, not on my box at least.


Amazon Instant on some Google TV devices is the real Amazon Instant app. However, the devices supported by Amazon Instant are all ones that offered DRM.


If Amazon supports it, I don't see why not.


Because of their Kindle Fire line.


> The /system partition is now mounted nosuid for zygote-spawned processes, preventing Android applications from executing setuid programs. This reduces root attack surface and likelihood of potential security vulnerabilities.

Well, that sounds great. It's almost like they're trying even harder to prevent people from having control over their device.


It's also like they're trying to reduce root attack surface and potential security vulnerabilities.


I believe current Fedora is also setuid free, possibly other distros, too.


> It's almost like they're trying even harder to prevent people from having control over their device.

What utter bullshit. Every Google Android device gives you the full freedom to flash whatever you want to on it. No restrictions at all.

Security should not suffer because it might have a negative effect on an absolutely tiny minority of an userbase that can freely disable that added protection anyway.


You are right with respect to the Google-sold devices. Unfortunately, these are only a minority - and this step will make it significantly harder to root devices made by Samsung, HTC, Sony and all the others...


So? That has nothing to do with Android 4.3 as far Google or the AOSP is concerned. Don't buy a device that doesn't give you control if you want that control.

And no, the Nexus line is not the only line that lets you do what you want to. Although not officially supported, Samsung's flashing protocol has been reverse engineered and they've made no changes to block those efforts. HTC's newest One supports the same fastboot procedure that the Nexus line does. Most of Sony's models can also be unlocked and some even have AOSP support.

This is the right move for security. It is not a move to "take control" from anyone. Instead, it is your duty to vote with your wallet. Don't buy carrier-locked phones or other phones that don't give you that control.


It won't make Samsung devices any harder to root - Samsung devices are bootloader-unlocked. You don't need any vulnerabilities, you simply flash your custom firmware using tools such as Samsung's Odin. Most other providers are moving towards methods to allow bootloader unlocking. The ones that lock the bootloader usually get negative social media response and lower sales, so I think this trend will continue for now.


The point is, you shouldn't need to root the device. That's a red herring. You can completely modify the source and then flash the device. All these manufacturers give you methods for flashing. You mention Sony[1], Samsung[2], HTC[3], here you go ... In time projects like Cyanogenmod will have ROMs baked for you that'll give you root. But why should it be easy for a user to root their device? If the user can do it a malicious program can do it. There is nothing wrong with extra security so long as the platform stays relatively open, which it seems to be. If anything handset manufacturers seem to be getting more not less dev friendly. Would you want Windows or MacOSX easy to root?

[1] Sony Android source based on AOSP (Android Open Source Project)

http://developer.sonymobile.com/knowledge-base/open-source/a...

[2] Samsung Android source n stuff (unfriendly interface, a little digging is necessary, Samsung's got a lot of products)

http://opensource.samsung.com/

[3] HTC Android source n stuff, "Kernel Source Code, Binaries and Updates for HTC Android Phones"

http://www.htcdev.com/devcenter/downloads

---

Google's AOSP n drivers (for completeness)

http://source.android.com/ https://developers.google.com/android/nexus/drivers


You need root, because there are apps you want to run, that need root permissions. The use cases for these apps are very wide, from ad blocking to repairing OEM fuckups (I'm looking at you, Asus).

Anyway, it is easy to "root" Windows or Mac OSX. It is just logging in as administrator in Windows or using sudo in OSX. The paranoia and preventing the user to really control the device they bought is a new thing, that came with mobile OSes. It wasn't so widespread before.


HTC supports unlocking their devices: http://www.htcdev.com/bootloader

Just buy the device free, not subsidized by an operator, and you're set.


Yes, this is what happens when Google owns Motorola. Things that Motorola cares about (tight control), Google now cares about.


Well, there is a problem - root exploits give people control of their device, but are also, by definition, a security hole which can be exploited by malicious apps to break the sandboxing and do bad things (tm). The right solution to the issue of user control is to convince manufacturers (which many already do) to make their devices open without needing exploits, not purposefully making the OS less secure.


Another point to consider.

Android 4.3 now includes Digital Restrictions Management framework. In order to prevent users from accessing their data (or running apps) in a ways they're not allowed (copying files, advertisement blocking, tethering and so on), Google (and vendors) certainly wouldn't like users to have unrestricted access to their phones.

I really think tightening security with nosuid and SELinux is at least partially due to DRM introduction.


'fastboot oem unlock' will still work on Nexus devices, right?


Yes. And not only will it continue to work, it should (hopefully) be the only way of getting a custom image.

http://source.android.com/source/building-devices.html#unloc...

IMO promoting 'security holes' as a mechanism of freeing your device is counter-intuitive. What everyone needs is a safe way of running their own software; security bugs are toxic to the entire ecosystem.


I agree. Just that the parent's point that "Google (and vendors) certainly wouldn't like users to have unrestricted access to their phones" doesn't make sense in light of this fact.


Unlocking the phone does a factory reset, right? So you won't have access to any data that your phone holds (unless you were able to export it or store on SD card).

And, if I understand things correctly, custom ROMs do not have Google Play. Well, in reality they do, but I believe Play .apk's floating around are just warez. Maybe I'm wrong on this matter, though (please correct me if I am). But if I'm right, then, legally, phones flashed with custom ROM should not have access to Google Play.

So you're certainly allowed to put whatever software you want (if you can write, build or find one, huh) on your hardware. But, at the same time, you're not welcomed to tinker with Android as provided out of box, except in a way you're allowed by vendor.

I'm not advocating hacks to get root by any means, though. They're security holes that are exploited in a lack of better ways.


Unlocking does a factory reset by design. If someone was to steal your (locked, password-protected) device, and could unlock it without wiping, they could just flash an update that bypassed the password and dump all of your data. Or even worse flash an update that silently gave attackers remote access and put the device back in your possession.

Not wiping when unlocking the bootloader is a security hole.


Google authorizes distribution of their apps through a separate channel. This issue was resolved when CM was present a C&D in early 2011 (iirc) for distributing Google apps with the ROM image. My understanding is that as long as Google apps are in a separate file, Google consents to the distribution, at least in the case of CM. IANAL.


...which is why the first thing I did when I bought my Nexus was fastboot oem unlock. No worries about a factory reset when I hadn't put anything on it to begin with.


Bad news for all the apps on Google Play that require rooting to use (there are some with millions of downloads), but good news for custom ROMs, I guess. A lot of people just root their phone and start using the apps they rooted for like tethering, controlling GPS and other secure settings on triggered actions, etc.. Now rooting will still be trivial for complete ROMs, but tougher to root existing ones.


Do you know if Nexus 4 will be harder to root (without custom ROM) after this update? Thanks.


You don't need a "root" to get a custom ROM (or any build for that matter) on a Nexus 4. You just have to switch the device to unlocked http://source.android.com/source/building-devices.html#unloc...

Unfortunately non-google-sold devices don't have this capability as standard yet, but the Nexus 4 is good to go.


I haven't read anywhere whether 4.3 requires the system to be mounted non-suid or merely operates that way by default. If it's not actually required, it shouldn't be too difficult to re-enable suid mount from a custom recovery (but I don't know about the SELinux parts).

Conceivably, this would allow the DRM subsystems to easily detect root-able systems (and perhaps even using some sort of active probing to check whether the kernel has been modified to lie about suid mount status).


Considering there haven't been devices yet that are unroot-able, this shouldn't be a problem. At a minimum the various Nexus devices work with fastboot to unlock the device very easily.


I'm guessing you're talking strictly about the Nexus line? Because there's several Android devices that have proven un-rootable thus far, such as most Motorola devices, several HTC devices, and so on.


Honestly, if rooting is important to you, you should be buying Nexus devices anyway, right?

I realize that there are some consumers that are forced into certain handsets, and those people lose out. But many people buy devices like Galaxy S4s with the expectation to root and fix what they don't like, which is never something Samsung promises. If such consumers vote with their wallets, we'll see more things like the S4 Google Edition, which is what such buyers want in the first place.

I don't see much of a problem here (exception of those people who don't have Nexus as an option for whatever reason).


You can pretty much unlock any of the bootloaders on any HTC Android device.

http://www.htcdev.com/bootloader

From there you can install Cyanogenmod if your handset supports it, a lot do.

http://wiki.cyanogenmod.org/w/Devices#vendor="HTC";

There is not much point in complaining about not being able to root Android devices. Go for a Nexus or shop around. Not sure about Samsung devices -- they are the market leader after all -- so somebody'll have to help me out on that.


HTC give you bootloader unlock code in like 5 minutes if you request it. That is a reason why there is so strong support for the devices.


I have an HTC One X on AT&T (came out last year) and HTC will not give bootloader unlock codes from HTC Dev for phones with an AT&T CID. You have to use a root exploit to change the CID that was patched in the last firmware update, but has now been cracked again. Unfortunately, it seems no hardware manufacturer has any consistent policies.


You're confusing the locked bootloader with root. All of those are rootable.


TL;DR: not much.

It's smoother, which is a great thing. But in terms of actual features, the only one I'm looking forward to is being able to use Wi-Fi positioning while I've turned off the ability to connect to Wi-Fi. That is to say, I'm not very excited about this release.


Bluetooth 4/LE in AOSP is a big deal, since there are lots of end-user devices (Fitbits, etc) that won't work with Bluetooth 2.

Android had really fallen behind there.


The "not much", at least wrt to user-visible features, makes sense. My feeling is that they save the big user-facing features for the major releases, i.e. whatever comes after Jellybean. It seems like the minor number bumps are primarily for new developer APIs and better performance/stability.

I think this is great, and is a sign of Android's increasing maturity as both a platform, and a UI.


There are lots of things in the new version, but just because your random wish isn't there it's "not much"? Give me a break. Besides, you can already do that with DroidWall or any other firewall in the play store.


but just because your random wish isn't there it's "not much"?

Er, where did I say that? My "random wish" was one of the new features they announced that I am glad they included.

There are plenty of new features in 4.3, but they're all developer-centric. Absolutely nothing wrong with that, of course, but it means it isn't so exciting for many people. Especially as few people can afford to target these new features right now, given that their potential market of 4.3 users is tiny.


Future Android updates probably won't be as exciting because Google is migrating most of their system apps to Play. In the past, a system update might have brought new features to Maps, or to Google Search, while now those are updated on a more frequent (and less buzzworthy) schedule.


Yes, for users nothing really changes. Though, some people will probably appreciate the i18n stuff.

I consider this a sign of maturity, though. The smartphone UI is now quite stable.


+1


The nice thing about restricted profiles is that it should allow us to create a really simple 'Kid mode'.


Yes, especially limiting in-app-purchases seems like a very useful feature for letting kids use your tablet without worrying too much.


Bluetooth Smart Support is a big deal.

It's going to make it easier for hardware devs to develop Bluetooth apps.


One such piece of hardware being Fitbit, which only presently supports some Samsung devices (since Samsung apparently got tired of waiting and hacked in their own support). Perhaps we'll finally get full Fitbit support on Android devices running 4.3.


Yes, this adds support for a bunch of recent running/biking sensors that are currently iPhone 4S and up only.


As an owner of Nexus 4, the only feature I'm looking for is a reduced battery usage :) They provide optimizations for the location API, but I suspect that the more prominent performance features will end up draining battery even faster :)


Some of the performance changes for handling graphics should help with battery life since they will be more efficient in using the CPU and GPU. Some of the Android engineers covered this at I/O 2013: https://www.youtube.com/watch?v=vQZFaec9NpA


I too have been waiting impatiently for Google to fix the audio latency. Great to see behind the scenes of how the Android engineers are tackling this issue. Surprised this is primarily a Linux scheduling issue and of course priority inversion. Between "fast path" and matching buffers/sample rate, looks like we're almost there. Great watch! Thanks for posting that link.

Any android developers working on audio should check out: https://code.google.com/p/high-performance-audio/


Still no low latency audio? I wonder if Android will ever be a useful device for serious musicians.


This is something which is being worked on, but it's a complex problem and takes time to improve. Android 4.3 has halved the audio latency on the Nexus 7 (2012) and Nexus 4. See here: http://www.youtube.com/watch?v=d3kfEeMZ65c


> Wi-Fi scan-only mode is a new platform optimization that lets users keep Wi-Fi scan on without connecting to a Wi-Fi network, to improve location accuracy while conserving battery.

Out of all the features this is the one I am most excited about.


From my time working with SELinux on the desktop I'm curious to see what they do with it eventually, now running it in permissive audit mode doesn't do much at all.

I'm wondering if the plan is to eventually have each app ship with a policy file (doubt it)? Use a targeted policy to only confine certain apps chosen by the user with corresponding policies and run everything else unconfined (minimizes breakage)? Run the entire dalvik vm in a separate confined domain? Just leave it there as an option for enterprise and government customers who would really take advantage of flexible interface for writing access policies?


I missed it in the presentation. Did they say when this will ship to Nexus 4?


The 4.3 factory image is available right now: https://developers.google.com/android/nexus/images?hl=pt-BR#...

As for the OTA update, that will take a few weeks to get to every device.


Rolling out today, is what I read on The Verge. However, that doesn't mean you'll get it today; rollouts are usually so slow that you can wait weeks.


The Check Now button in About Phone seems to be something of a placebo button, as well. In the past I've got around this by going to Settings->Apps->Google Services and clearing the cache and killing the process. That will force an actual check by pressing the Check Now button.

Of course, if your phone isn't scheduled to receive it yet then you'll still come up bupkis, like I have thus far.


I don't think anyone has gotten the OTA update yet. Once someone has, the zip will get posted and then we can all update from that. Or, you can flash the factory image which is out now but you'll lose your data on the phone.


Just checked for the update on my N4 and got it immediately. I'm in SE Asia, if that makes any difference.


Is Google lacking imagination? This is the third version with the same name.

I'm missing the times when every release was a new sweet thing.


I suspect it's part of their strategy for deflecting from the "fragmentation" issue - "what version of Android does your phone run? Jelly Bean? Snap!"

I also reckon that they will start releasing bits of the OS via the Play Store, bypassing the manufacturers and carriers (as they are already doing with the standard keyboard).


They do that with Google Play Serivces (https://play.google.com/store/apps/details?id=com.google.and...) already. The things 4.3 has w.r.t. bluetooth, opengl es support, etc. are probably really difficult to ship independently.


None of the most recent releases have really seemed significant enough to warrant a new release name.


> I'm missing the times when every release was a new sweet thing.

There's never been a time when all point releases had a new codename. Eclair covered 2.0 and 2.1. Honeycomb covered 3.0, 3.1, and 3.2. I don't see any evidence they've changed their naming practices.


4.0 to 4.1 was a jump from ICS to JB, but that was an exception.


Except for 2.1 -> 2.2 (Froyo) -> 2.3 (Gingerbread). So, not very exceptional.


... but there are so many flavor jelly beans.


Honeycomb did the same thing.


It seems that only Nexus devices are getting the update today, and not the Samsung/HTC Play Edition phones. It will be interesting to see when those two devices get the update; in the meantime, not all Play devices are made equal?


Did they say when the source code will drop?



I'm new to the Android world and this is the first update I've seen. When should I expect an update pushed to my phone? What does it depend on? I have the Galaxy S4 so I assume Samsung has to make some modifications to the version to support some stuff?


The image is modified heavily by Samsung. Besides their custom UI, they need to write/integrate custom drivers for the hardware in the phone. As for time, it could be a few months before it's updated.

This is the advantage of Nexus phones, as Google ensures that the manufacturer has a release ready, and that previous phones are updated (within reason).


Running CyanogenMod nightly, because it's the closest I can get to open source: I love getting updates in the form of git SHA-1s every few days.

I wonder if upstream Android will ever take to a rolling-release approach.


Nice to see they're working on rendering-performance. I bought the prev Nexus 7 but returned it some days later. The jittery scrolling and constant microlag drove me crazy.


One more reason to have a Nexus device is to take advantage of these updates right away.


Does anyone know if there will be images for the Nexus Experience S4 and HTC One?


There surely will, they said in the announcement that updates for GPE devices are coming 'very soon'.


Ah, I'm so conflicted... Do I keep Sense and the IR blaster/Zoe, or do I get stock with all the improvements and saner UI?...


Reposting a dead reply to your comment:

> There are already patches for the IR blaster in CM10.1 (or 10.2 now). You have to cherrypick them though, as of two weeks ago they weren't merged yet.


Oh, thanks! I imagine CM is pretty much stock, no? It might even have PDroid patches, I'll have to look. I wonder how stable it is.


New master key?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: