Lots of stuff being built!
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 🎁
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 🤔.
If there’s one thing I’ve realized in the last year, it’s that making an app is scary. Despite the wealth of resources out there, learning to code still feels a lot like a trip aboard the USS Enterprise: boldly going where no-one has gone before.
Of course, people have been there, Stack Overflow is a testament to that, but the universe of brackets and dot notation is so foreign at first that communicating in it feels like rowing without a paddle. Thankfully, with a little time and persistence it gets better! You learn to ask the right questions, and when you do get stuck it generally takes you less time to move forward again. The little things are also a lot more exciting at first, as shown in the graphs below. You go from being like “My Hello World works! I am a powerful wizard!” to “I named my listener method weightWatcher()! I am a powerful (and hilarious) wizard!”. The takeaway is that code is magic. ✨
Unfortunately, it’s not always a steady exponential climb. What I’m realizing now is that sharing an app is a lot scarier than making it. We’re three blog posts in and I haven’t even told you what my app does or payed for your dinner yet! I know that my blog’s tagline is “I have no idea what I’m doing”, but it’s not a crutch for inaction. A couple years ago, I hired Michelle Akin as a life coach, and one of the things that I took away from the experience was a better understanding of my fears and how they would hold me back.
If I let them.
Right now, sharing my app with the world is terrifying to me. Yes it works, but the design’s not done… it’s missing features… it has bugs… I could go on forever. Part of me wants to just keep working on it until it’s perfect, but that will never happen. I’ve put a ton of time into it and I’m scared of what people will think, but I’m at the point where I need feedback. Let’s break out of the comfort zone.
In next week’s blog post, I’m showing you my app.
There will be screenshots. There will be sketches. There will even be a comment box below the post if you want to give feedback. Or if you’ve pressed a mysterious button to receive it in your inbox, you’ll be able to hit reply and pour your heart out!
The commitment above comes from a powerful trick that I also learned from Michelle. If you’re scared of something, or if it’s outside of your comfort zone, you probably have a tendency not to attach a concrete time to it.
“I’ll get fit sometime next year.”
“I’ll start a blog when I have less on my plate.”
“I’ll learn to code once I feel ready.”
Stop doing this; it will help. If you need a reminder every now and then just bring out your inner Beyonce.
Cause if you liked it then you should have put a date on it. 🎶
Hi and welcome to my blog!
Two years ago, I embarked on a journey into the unknown. My job was pretty cool; I was making YouTube videos, and freelancing in design at the same time. That being said, the amount of things that had to be juggled to make it work was just insane, and on top of it I wanted to learn Spanish, and get fit, and work on a bunch of other skills. I realized that it was not humanly possible to focus on everything, but that gave me an idea! What if the solution to my problem wasn’t human?
Fast forward a year, and I’m working for an amazing ed-tech company and writing my first lines of Java on the side. When I opened Android Studio for the first time, I was completely overwhelmed by what seemed like a jungle of buttons and menus, and I remember thinking:
“I have no idea what I’m doing, but I’m going to make it work anyway!”
And somehow… I did!
Move the clock ahead to 2017, and I have a working Android app that I use every single day. It’s far from perfect, but that’s not the point. It works, and for someone who’s completely self-taught in all things computer science, that’s a hell of an accomplishment!
Despite all this, I still have no idea what I’m doing, so that’s where this blog comes in. From the mundane, like finding ways to save money on laundry, to the downright terrifying, like launching my app, every day I run into some new thing that I’ve never done before, and I think it’s going to be fun to document it. Lets try for something new here every week 😉
My adventures in figuring shit out are just beginning, and I’d love to have you along for the ride!