Giving Back 🎁

Lately I’ve been building something in my app called a Floating Action Button (FAB). It’s just like any other button, except it’s round and it’s supposed to trigger the main action in an app. It was also notoriously long to build.

Despite being part of the Material Design Spec, which is backed by Google, many part of it were not included in the Google libraries used to build most Material Design features. For anyone who isn’t a programmer, it was kind of like getting a piece of furniture from IKEA, and finding a note in the box that says “some pieces are missing… figure it out! 😂 “.

I essentially spent the better part of a month diving through tutorials and documentation in order to figure out this fancy button. It was a total pain, and all the easy solutions out there felt a bit too much like duct tape for me to be comfortable with them, so I figured instead of just keeping my solution to myself, I should share it with the world!

Some time in the next two weeks, I’m going to publish a tutorial to build a FAB like in Inbox, Google Fit, or Google Calendar on Android. I’ll also make a public GitHub repo with all the code available for anyone who wants it.

This of course begs the question:

What can we do to make our industries better?

Publishing free code doesn’t really help me build my app, but I’m really thankful for other people doing it, and I feel like it’s important to contribute as well. No field is perfect, and there’s always ways in which they can be improved.

It’s up to us to figure out how 🎁

Floating Action Buttons!

The next piece of Material Design is being added to Compass right now! It’s not done, but it made me learn how easy it is to animate layouts in Android! I’ll let you know when it’s done!


For some reason this isn’t in any of the Google support libraries despite being in the Material Design spec, so I built it myself! Next up: icons!


Update 2: icons weren’t next, but I limited the popup to 5 items, and ranked them based on which ones are most used.

Update 3-5🎉 :

IT’S DONE! I could maybe fine tune it a bit, but it’s 99% there, and in software development, that means it’s finished! I added animations, fixed bugs in the ranking, added contextual actions and icons, and there’s now a popup in case the menu goes over 5 items (to allow for landscape mode). This would have taken a quarter of the time had it all been implemented in the Google libraries from the get go. It’s in the Material Design specs, but it’s not in the android support libraries 🤔.