Danielle Emma Vass

Danielle Emma Vass

  • Blog

›All Blog Posts

All Blog Posts

  • How to sign and publish an Android library using CI
  • Some surprising things about the order in which Spek runs things
  • How I connected our Christmas Tree Angel to Pusher
  • My notes from Droidcon London 2019
  • 2018 — I learned to exercise
  • My notes from Droidcon London 2018
  • Making Emojis with Code
  • A rising tide lifts all boats
  • 2017 — why I learned to crochet
  • Using APIs part 2 — JavaScript & Giphy
  • 10 things I learned at Google IO 17
  • What I learned from attending Uncodebar2
  • Using API’s — Part 1
  • How to Publish Your Android Studio Library to JCenter
  • How To Start Making your own Android Library project with Android Studio

My notes from Droidcon London 2018

October 30, 2018

Danielle Emma Vass

Danielle Emma Vass

header image

I really love attending Droidcon London every year, and this year was awesome! Each year is an opportunity to learn new things and experience new and interesting ideas from other Android programmers. So here’s some of the things I wrote down, maybe they’ll be useful for you too!

Applications Should Be For Everyone. It’s In Your Hands

Britt walked us through why and how she built an App for her Nana where she could take a picture of something, such as a tub of ice cream and it would say what was in the picture. This is pretty easy now to do with some of the Machine Learning libraries from Firebase!

Things that I learned:

  • There is a device setting to scale view size as well as text size (scales dp AND sp)

  • Use sp, not dp for button heights and widths that contain an icon

  • Colour contrast is important. Use 3:1 for large text, 4.5:1 for smaller text. You can use www.contrast-ratio.com to find out.

  • Design labels and buttons for text to grow and wrap, think how would your label look if it took up 2 lines instead of 1.

  • The average fingertip is 50dp, so make sure buttons are at least 48dp! You can use min_height and min_width if you have programmatic text on a button.

  • Using Talk Back if data on the page updates. You can use Accessibility Live Region with either assertive (it stops reading anything else to notify that somethings changed), or polite (let’s the reader finish what it was doing before announcing a change).

  • There’s an API to check if accessibility is enabled on the device, maybe consider showing an adapted UI for these people!

Pragmatic Crafting

Florina talked to us about how they re-architected their app Plaid. If you’re thinking of re-architecting an app anytime soon (or starting a new app) I’d definitely recommend a watch!

Things I learned

  • Code reviews are an opportunity to share knowledge with the team.

  • Create technology champions who are experts and owners in their area of expertise. Set up knowledge sharing sessions so everyone has some knowledge of everything!

  • Use short lived branches for version control and make sure things regularly get merged into master. This means no merge issues or lengthy rebasing!

  • Try continuous delivery to understand better if what you’re building is actually correct.

  • Decisions based on product needs — you don’t have to use all the new shiny technologies think about what you really need

Coroutines by Example

Christina gave us an introduction to coroutines with a presentation of five things we needed to know before we got started, and then she refactored an rxjava app to use coroutines live on stage. And it ran her first attempt!

Things I learned:

  • Coroutines are a state machine object.

  • Coroutines are builders and entry points into suspendible code.

  • Coroutines dispatch to threads.

  • If you want to cancel things use jobs (in rxjava land disposables)

  • Coroutines are synchronous by default. If you want concurrency it’s explicit and you have to opt in.

Smooth Criminals, Animation in Android

Stacy walked us through an example animation but using 4 different ways to achieve the animation; XML, animate(), Animation Library, Object Animator, and a bonus property versus holder. If you want to see the code in action check out www.bit.ly/AndroidAnimCode. There were questions and prizes given!

Things that I learned:

  • If you’re using Lottie for animations there’s www.lottiefiles.com to share and use other peoples animations.

  • There is a library called Kyrie which is an alternative to AnimatedVectorDrawables

  • If you’re looking for the best way to add smooth animations to your app, check out ObjectAnimators.

  • MotionLayout and ConstraintLayout 2 might solve some of these issues as it will work on a deeper level than canvas. Some issues right now include no API, and only 1 motion scene per layout.xml! However, sometime soon there will be a UI Simple animation orchestration tool which was apparently demonstrated at IO this year.

Hire Better, Faster, Stronger

Anastasia and Viv spoke about how to interview more inclusively, as both the interviewer and a potential candidate!

Things I learned:

  • Top performers always means something different at different places.

  • Fundamental attribution errors in that people tend to put more importance on the persons character or intentions than on external factors.

  • You should look at what gaps do you have in your team currently, how do you look to fill those gaps?

  • Think about your red flags when interviewing e.g. being interviewed by 7 white guys doesn’t show diversity from the employer and is for most people a major red flag.

  • Document your interview process, do all the stages and questions really need to be there?

  • Create a calibration sheet for the interview process, which means you can compare different candidates as fairly as possible with data.

  • As a candidate ask expectations at each stage. Is not knowing something really a deal breaker? For example if the technical test requires writing Kotlin and you don’t know Kotlin, would they help you learn on the job if you were successful?

  • Use the expectations to take 10 minutes ahead of an interview to get into the right mind frame.

  • As a candidate you are also interviewing the company!

The Art of Intentionality

Corey sketch-noted and spoke (!) about her journey through being more intentional.

Things I learned:

  • Joyrney — it’s a journey but with 100% more joy!

  • Use your emotions as data point, start journaling and measuring your emotions over time. Think about patterns and what leads to good or bad days.

  • You don’t have to take all feedback — saying “Thank you for the feedback but I’m moving on” is okay too.

  • Create a diverse board of directors for your life — people you can go to and ask “life” questions but will also push you to be a better person!

  • Create a vision for the next 2 to 5 years. Break it up into what you need to do for the next quarter, create 1–3 achievable BIG goals.

  • Theme your days to defragment as much as possible e.g. Mondays being for meetings, Tuesdays being for client work etc.

  • Personal feedback can be poison, think about how to give feedback as fast but remember to be as kind as possible.

  • Read the Sunflowers poem by Rupi Kaur

And finally, my all time favourite activity is catching up with all the friends I’ve not seen since last year, and all the new friends I got to meet. I got a bunch of new stickers for my sticker collection, and an amazing rainbow pin for my backpack. I also got to join the Android Peeps and play Mario Kart on the switch between sessions! Hopefully we’ll see you all again for next year :-)

Recent Posts
  • Applications Should Be For Everyone. It’s In Your Hands
  • Pragmatic Crafting
  • Coroutines by Example
  • Smooth Criminals, Animation in Android
  • Hire Better, Faster, Stronger
  • The Art of Intentionality
Danielle Emma Vass
@de_velopment @daniellevass daniellevass daniellevass_1
Copyright © 2020 Danielle Emma Vass