Skip to content

Instantly share code, notes, and snippets.

View mfurtak's full-sized avatar

Michael Furtak mfurtak

View GitHub Profile
@mfurtak
mfurtak / The New Android SDK Build System.md
Last active December 17, 2015 11:09
Notes from the talk, "The New Android SDK Build System" from Google I/O 2013
@mfurtak
mfurtak / What's New in Android Developer Tools.md
Created May 17, 2013 15:57
Notes from the talk, "What's New in Android Developer Tools" from Google I/O 2013

What's New in Android Developer Tools

Android Studio

  • Based on IntelliJ IDEA

IntelliJ Experience

  • Can warn you when you might be passing an incorrect variable based on a comparison of the variable name and the method name
  • Find action popup allows you to search for actions you can do by searching by their name
@mfurtak
mfurtak / Google+ Sign-In for Android Developers.md
Created May 17, 2013 15:45
Notes from the talk, "Google+ Sign-In for Android Developers" from Google I/O 2013

Google+ Sign-In for Android Developers

OTA Installs

  • During sign-in, Play offers the user to install your app on their device, if they have a compatible device.
    • The user will also automatically be signed in on that device
  • Integrated with Play Services, so is already on many devices
  • Does all the OAuth2 token management for you

Using API

@mfurtak
mfurtak / Android Graphics Performance.md
Created May 17, 2013 15:38
Notes from the talk, "Android Graphics Performance" from Google I/O 2013

Android Graphics Performance

Reordering and Merging

  • Trying to more automatically reorder graphics commands you give so that they're done in an optimal order
  • Also merging individual draw commands into groups of like commands for efficiency
  • All automatic, and potentitally available in the future

Multithreading in the Renderer

@mfurtak
mfurtak / Android Design for UI Developers.md
Created May 17, 2013 15:34
Notes from the talk "Android Design for UI Developers" at Google I/O 2013# Android Design for UI Developers

App Navigation

Lateral Navigation

  • Switching between sibling elements
  • Action bar can do this through tabs, or spinners
    • "Implementing Effective Navigation"
    • Action Bar compatibility for 2.1+ * No need to rush off ABS, but for new apps, go for ActionBarCompat
  • View Pager
@mfurtak
mfurtak / Agile UX Research in Android.md
Created May 17, 2013 13:34
Notes from the May 16 talk, "Agile UX Research in Android" from Google I/O 2013

Agile UX Research in Android

  • The goal is to provide the most value in the shortest amount of time.
  • We can have the quickest turn around by looking for insights into what people do
  • A-B Testing struggles to tell you why people do what they do

RITE - Rapid Iterative Testing and Evaluation (1-2 days)

  • Commonly used for continuous design iteration
  • Scheduled 5 users for 1 hour blocks with 1 hour in between each
@mfurtak
mfurtak / A Moving Experience.md
Created May 17, 2013 13:27
Notes from the May 16 talk, "A Moving Experience" at Google I/O 2013

A Moving Experience

Elements of Good Animations

  • Keep them short, but appropriate to the action that is happening
    • (defaults to 300ms on Android for property animator)
  • Keep them smooth
    • Don't run layout during animation! Do it first.
    • Use the right timing curve
  • Keep them natural
@mfurtak
mfurtak / .slate
Created May 3, 2013 00:50
Slate configuration for my home laptop
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config focusCheckWidthMax 3000
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
config windowHintsSpread true
# config keyboardLayout dvorak
@mfurtak
mfurtak / gist:5495531
Last active December 16, 2015 20:49
My current Slate configuration
config defaultToCurrentScreen true
config nudgePercentOf screenSize
config resizePercentOf screenSize
config secondsBetweenRepeat 0.1
config checkDefaultsOnLoad true
config focusCheckWidthMax 3000
config windowHintsShowIcons true
config windowHintsIgnoreHiddenWindows false
config windowHintsSpread true
# config keyboardLayout dvorak
@mfurtak
mfurtak / gist:5172101
Created March 15, 2013 18:49
Android exception on APK re-install via Run... from Eclipse
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate application com.speek.SpeekApplication: java.lang.NullPointerException
at android.app.LoadedApk.makeApplication(LoadedApk.java:501)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4124)
at android.app.ActivityThread.access$1300(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)