Earlier this summer, we released a major update to our Android app. It
shipped with a revamped UI, a new robust networking layer, and plenty of
awesome. Our users loved the new experience and responded with a lot of
positive feedback. It was a great release, but we were a little unhappy
with how smooth the UI was. Scrolling on the feed seemed choppy, especially
when scrolling quickly.
So let’s talk about UI performance.
While buil...

I slapped this together in a few hours so it may be a bit rough (especially in the partial 3D conversion). I'd love to get some contributions in. Here's your (and my initial) inspiration: http://revealapp.com/.

Most of you know that you can (and should) use styles when defining layout XML, like so:

<Button style="@style/MyButton">

But what if you are programmatically creating a Button instead of defining it in a layout? How can you apply a style then?

It's actually pretty simple:

1. Define a custom theme attribute such as myButtonStyle.2. In your theme, set the value of the myButtonStyle attribute to the MyButton style resource.3. Pass in R.attr.myButtonStyle as the third argument to the Button constructor (or any other view class).

Take a look at the attached sample code screenshots, or view the full gist below:

Here is a demo I wrote to explain how to implement several interesting visual effects in your Android application. All the animations in this demo are implemented programmatically and do not rely on images or videos.

The source code and binary can be found with detailed explanations on my blog:

Today we're updating Google+ Hangouts for iPhone, iPad and iPod Touch. The new app includes the recent Android improvements (http://goo.gl/gd3By1), as well as some new goodies for iOS:

- You can now make calls to phones from the iOS app, and calls to the US and Canada are free! You can dial internationally too (with super low rates), but you'll first need some calling credit: google.com/voice/m/credit.

- If you're a Google Voice user, you can make and receive calls from any of your iOS devices with today's update. Outgoing calls will come from your Google Voice number, and incoming Voice calls can be answered from Google+ Hangouts.

Today's release contains lots of features based on your feedback (seeing who's reachable right now, early integrations with Google Voice), but we're always working to make the app better. So give the new version a go (http://goo.gl/FDOfq), and let us know your thoughts!

Today is my last day on the Android team at Google (I will remain at Google.)

After more than 6 years I have decided to try something new. I had the incredible luck to join Android before it was publicly announced and I would have never imagined to be part of such an amazing project. We started from scratch and Android is now everywhere! I owe a lot to this team of incredibly talented people and I will miss them dearly.