Profile

Cover photo
Dianne Hackborn
Works at Google (Android)
Attended Oregon State University
Lives in California
28,583 followers|3,139,290 views
AboutPostsPhotosVideos

Stream

Dianne Hackborn

Shared publicly  - 
 
One of the things we've been working on for M that wasn't in the keynote.  Actually we started on this in L -- if you saw that VoiceInteractionService thing appear in the L SDK and thought "wtf why is there this weird thing here that doesn't really do a whole lot?"...  well this is what it actually is. :)
159
41
David Kephart's profile photoWilliam Brine's profile photoJarek Wilkiewicz's profile photoMichel Racic (rac)'s profile photo
13 comments
 
Spanish/English
Hola tengo un móvil con 2 baterias, una interior 3,7V 2200mAh, y otra con cables fuera 3.7V 3000mAh. Pero el medidor no mide bien, al 5% tiene 3,6V y se apaga lo enciendes, y pasa a un 20%. Me gustaria quitarlo el medidor. Gracias!


Hi I have a phone with two batteries, an internal 3.7V 2200mAh and 3000mAh 3.7V connected by wires cables. But the meter does not measure well, 5% have 3.6V and you phone goes out, and restart passes 20%. I would like to remove the meter. Thanks! 
-The phone:
http://www.dx.com/p/kvd-a2800-mtk6592-octa-core-android-4-2-2-wcdma-bar-phone-w-5-0-ips-hd-fm-2gb-ram-gps-otg-306775#.VXMZ8s_tlHw -The Batterie:
*voltaje/voltage:
http://i1232.photobucket.com/albums/ff374/theluisisla/foro%20de%20electronica/Movil/SAM_0365_zpskso9s0wl.jpg
*Cargador/charger:
http://i1232.photobucket.com/albums/ff374/theluisisla/foro%20de%20electronica/Movil/SAM_0368_zpsul0gwacn.jpg
*cables/wire:
http://i1232.photobucket.com/albums/ff374/theluisisla/foro%20de%20electronica/Movil/SAM_0367_zpsptz6cxxd.jpg
*Batería segundaria/Battery secondary:
http://i1232.photobucket.com/albums/ff374/theluisisla/foro%20de%20electronica/Movil/SAM_0366_zpsraf2zydj.jpg
 ·  Translate
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Wow, this show is so incredibly good.  We just spent the past week tearing through the two current seasons...  and now have to wait for more.  *sob*

I was worried that the clone thing would end up a little gimmicky, but it is not at all, it is incredibly well done and never stands out in ways it shouldn't.
Sarah hopes that cleaning out a dead woman's bank account will solve all of her problems. Instead, h...
46
2
Mark Womack's profile photoSondra H.'s profile photoJustin Smith's profile photoArshad Khan's profile photo
15 comments
 
I think we watched a couple before we came down and it looks interesting.  I think we have a couple more in The Good Wife and then we will get back to it.
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
"From the designers of World of Goo and Henry Hatsworth in the Puzzling Adventure"

Okay, no more needs to be said, I'm there.  How did I miss this until now?!?
"A beautiful masterpiece", "inventive, moving and unrelentingly funny", "a ...
47
2
Paul M Edwards's profile photoStacy Devino's profile photoZeynel Abidin Öztürk's profile photoMike Pearce's profile photo
16 comments
 
+Paul M Edwards  I agree. I mean under his definition, Goat Simulator would not be a game. Now, I wouldn't argue that its a great game, but an interesting concept that is just kinda funny when you try it.

If looking for a great old casual game : Bubble Ghost 

My favorite version is the one for the GameBoy just because the graphics are a bit more refined. 
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
I really like this article on the importance of thinking about performance during development, instead of ignoring it completely with the excuse of "premature optimization."

This is especially relevant for mobile development: performance issues that users don't even see can have negative impact on things like battery life; the resource requirements of our code has a direct impact on the hardware it requires to run well, which can completely push the product out of large markets; and user's expectations of the responsiveness of mobile applications tends to be higher than desktop applications even though they are running on slower more constrained hardware and often with much higher-resolution screens.

My own feeling on this is that as a professional software engineer, part of our job is to understand the actual trade-offs we are making during implementation.  There are many things you can do that will be significantly more expensive than other options, which really aren't worth whatever small advantages they provide.  Integral to being proficient at a language, framework, or platform is having a general understanding of the relative efficiency of the various ways you use it so that you can use that knowledge as part of the decision making process throughout development -- from design through implementation and maintenance.  That is not "premature optimization," that is making good use of your tools.

Another way to look at it is this: the hardware you are running on has a fixed amount of resources; when you are implementing your code, you are deciding how to make use of those resources.  Every decision you make that favors other things over efficient use of those resources is also a decision that is limiting the number of features you can deliver to your users, because those resources are no longer available to deliver features.  Of course this doesn't mean you should micro-optimize everything you do, but you also shouldn't ignore efficiency at all -- you need to understand the trade-offs you are making to create the best product for your users.  If you don't, there is a good chance another developer will make better decisions, and be able to developer a superior product that is able to deliver more or better features because they have a more efficient implementation without really sacrificing their productivity.

For example, there are a lot of things in the Java language that can lead to significantly less efficient results than other equally viable approaches.  Selecting between a standard or enhanced for loop can have a 3x difference in performance when iterating over an ArrayList; Java enums are tremendously more expensive in code size than simple static final ints; classes and objects have not-insignificant overhead, so if you take a very class-heavy approach to your implementation you can end up with a significantly larger code size and RAM footprint for your app.

All of these are things that you decide throughout the implementation of your app, but are very hard to fix later on.  This is not the kind of stuff you can throw under a profiler and see, "oh here is the hot spot in these 100 lines of code" and spend a day optimizing that.  Instead what you end up with is pervasive small performance problems throughout your entire app that add up to a large problem, for which a profiler will either not reveal any clear indication of a problem at all (because it is everywhere), or you will end up in an "oh sh*t" moment where you realize that fixing your performance problems are going to require changes all through your code base.

One experience that will always stick with me was when I was working at a previous company on a mobile operating system.  We had spent a few years working on it, had the system up and running on reference hardware, but were not happy with the performance we were getting.  We did a lot of profiling, trying to find what was causing it to be slow, but couldn't find anything significant.  Finally in desperation we went to the hardware manufacturer and asked if they could help out.

The answer we got back from them: "you are running too much code."  Out first reaction was, wtf, of course there is too much stuff being done, but what is it?  But the problem wasn't that there was some specific parts of the platform that needed optimization, it was that just generally all over the place the implementation was too expensive for the hardware it was running on.  It was blowing out the CPU caches all over the place, needing too many instructions given the speed of the CPU, etc.  Fixing such issues requires tremendous work across the code-base reworking how every little thing is implemented to get rid of overhead.  It is lots of steps of find 1% here, .5% there, and on and on, until you either run out of time or you eventually decide "good enough."  It is not a situation you want to be in at the end of your product development.

Our Android documentation has a lot of information on these topics for both Java and the Android framework that every Android developer should have a good understanding of: http://developer.android.com/training/best-performance.html
384
176
Douglas Drumond's profile photoRajmohan asokakumar's profile photoAndreas Adam (AA1973)'s profile photoSeyed Mohammad Hossein Mayboudi's profile photo
38 comments
 
+Miguel Vargas I seriously think that document hasn't been given enough attention by Google, and therefore does not merit enough respect.  If they wrote that b.s. about Enums there, then how can you trust other information in there is accurate?
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Nice new storage APIs in Lollipop, courtesy of Jeff Sharkey.

Also worth noting is the new getExternalMediaDirs() method that gives you a place for your own files on any available secondary storage, without needing to request read/write permissions: https://developer.android.com/reference/android/content/Context.html#getExternalMediaDirs()
 
Richer access to secondary shared storage devices

In KitKat we introduced APIs that let apps read/write file in app-specific directories on secondary storage devices, such as SD cards.

We heard loud and clear that developers wanted richer access beyond these directories, so in Lollipop we added the new ACTION_OPEN_DOCUMENT_TREE intent.  Apps can launch this intent to pick and return a directory from any supported DocumentProvider, including any of the shared storage supported by the device.  Apps can then create, update, and delete files and directories anywhere under the picked tree without any additional user interaction.  Just like the other document intents, apps can persist this access across reboots.

This gives apps broad, powerful access to manage files while still involving the user in the initial selection process.  Users may choose to give your app access to a narrow directory like “My Vacation Photos,” or they could pick the top-level of an entire SD card; the choice is theirs.

To make it easy for developers to transition to these new APIs, there’s a new DocumentFile support library class.  It looks and feels just like a traditional java.lang.File object, which makes it easy to adapt existing code:

http://developer.android.com/reference/android/support/v4/provider/DocumentFile.html

These new APIs aren’t just limited to shared storage; they can be used with any DocumentsProvider that adds support for Root.FLAG_SUPPORTS_IS_CHILD, such as the advanced Vault example:

https://android.googlesource.com/platform/development/+/android-5.0.0_r2/samples/Vault/src/com/example/android/vault/VaultProvider.java#258

#android   #sdcard   #psa  
85
14
Madan Ankapura's profile photoChristian Melchior's profile photoOliver Kötter's profile photonicholas jordan's profile photo
13 comments
 
+Emil Georgiev could you advice how to choose the place to store images for a camera app which suppose to run on both Kitkat and Lollipop?
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Whew, are we done yet?
 
Introducing Build.VERSION_CODES.LOLLIPOP
89
4
Chriss Kalogeropoulos's profile photoKarim Yaghmour's profile photoKiam Kweli's profile photoOgnyan Bankov's profile photo
5 comments
 
I've always wanted to learn to make videos like this!
Add a comment...
Have her in circles
28,583 people
William David's profile photo
Justin Donnelly's profile photo
Robert Bertrand's profile photo
Hassen El kamel's profile photo
Pengfei Han's profile photo
Shan Shah's profile photo
Sherri Gastelum's profile photo
hassane sanram's profile photo
Marco Zhang's profile photo

Dianne Hackborn

Shared publicly  - 
 
As usual, great talk for developers on what is new in the next release!
 
Those I/O folks are getting faster and faster at posting our talks on YouTube. Next year, they'll be live before we give them, which would save us the effort of actually doing the talk, since we could simply queue the video instead.

Presenting... What's New in Android, with +Dan Sandler:

https://youtu.be/ndBdf1_oOGA
24 comments on original post
68
4
Vadim Tkachenko's profile photoMark Stevens's profile photoAmit Singh's profile photoFiorella Schischlik's profile photo
4 comments
 
I was there watching. Dude that was a fast talk!
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Ah Nataly Dawn, your music is so awesome.  Please please do another solo album. :)

EDIT:

Maybe here's a working link:
https://play.google.com/music/m/Bmihhwmc2scsbyo2hxejrn5c4iq
11
2
Dianne Hackborn's profile photoAlan LaMielle's profile photoSpencer Riddering's profile photoMauricio Porto's profile photo
3 comments
 
Nataly is amazing. Her and Jack are the best!
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Our neighbors right next door to us run a business, Fireworks Ceramics, where you can have parties to paint ceramics that they will then glaze and fire for you.

http://fireworksceramics.com/

While my family was visiting for the holidays this year we went over to paint some ceramics, and this is the result. :)
48
Ana Ines de la Fuente's profile photoDan Sandler's profile photoStefan Sonesson's profile photoShane Bugbee's profile photo
4 comments
 
very cool! love the red and black tile and cup next to it... hell, they are all rad!
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
90% off Shadow Warrior...!  If you don't have it, just go buy it. :)
Shadow Warrior is a bold reimagining of the classic 3D Realms’ shooter from independent developer Flying Wild Hog (Hard Reset) starring the legendary and quick-witted warrior Lo Wang. Combine the brute force of overwhelming firepower with the elegant precision of a katana to annihilate the merciless armies of the shadow realm in an...
19
1
Sascha Prüter's profile photoIan Stedman (Magic Meeple Games)'s profile photoNicolay Doytchev's profile photoHenning Hoefer's profile photo
10 comments
 
All this did is make me buy the original re-release - Shadow Warrior Redux...
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Wow, this is amazing, especially if you've played the game.
356
37
Chris Vandevelde's profile photoThomas Keller's profile photovictor guo's profile photoShaun Griffith's profile photo
26 comments
 
Totally amazing!   Best possible use of GoPro!
Add a comment...

Dianne Hackborn

Shared publicly  - 
 
Good to see they've made their funding goal!  I'm looking forward to what they produce.
26
4
Felipe Lora's profile photoAsher Wood's profile photo
Add a comment...
People
Have her in circles
28,583 people
William David's profile photo
Justin Donnelly's profile photo
Robert Bertrand's profile photo
Hassen El kamel's profile photo
Pengfei Han's profile photo
Shan Shah's profile photo
Sherri Gastelum's profile photo
hassane sanram's profile photo
Marco Zhang's profile photo
Work
Occupation
Write code and manage people who write code.
Employment
  • Google (Android)
    Android Framework Engineer, 2005 - present
  • PalmSource
  • Be Inc.
  • Lucent Technologies / AT&T
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
California
Previously
Naperville, IL - Corvallis, OR - Meridian, ID
Links
Contributor to
Story
Tagline
Google (Android Framework)
Education
  • Oregon State University
    Computer Science, 1989 - 1996
Basic Information
Gender
Female
Relationship
Married