Reading time: 03:16 Since the year that Apple released its first iPhone, I’ve wanted to code apps. But, as you might have guessed, writing apps is damn hard. Over the years, I’ve spent countless hours on Treehouse, Lynda, and oh-so-many others, attempting to learn this skill. It’s been years! So long, in fact, that my first Instagram photo was a humble brag about how I was about to get an “hour for development” in after working a shift at the Apple Store. Embarrassing. 😬 Fast forward…uh…years…to May 2018, when I committed to launching my first app by the end of the year. It’s been quite a journey so far, let me tell you! In the timeless words of Seneca (spoiler, that’s from the app…):
“Putting off things is the biggest waste of life: it snatches away each day as it comes, and denies us the present by promising the future.”This is a pretty big deal for me, so it only felt right to share it with you.
Introducing Wavefully (or some other name…)I’m pretty good at making empty promises when it comes to side projects, so to successfully launch an app, I knew I needed to lay out i some basic ground rules:
- Must be a one-page app
- No cross-device syncing
- No sharing functionality
- Must be cool and fun to build
- It had to do something that was meaningful to me
- The user must press and hold a button for 10 seconds in order to complete a session. This level of interaction requires attention and commitment. If the user lifts her finger off of the button, the countdown pauses.
- Over the 10 second session, a flowing wave transitions across the screen, revealing an inspirational quote underneath.
- At the end of the 10 seconds, the user is notified that the session has completed with a sound, haptic feedback (sorta like that little vibration that you feel when you get a text), and some graceful animations.
- The experience is pleasantly calming, courtesy of the sounds, animations, and wave.
Where I’m at now.See the app in action. I’ve actually learned a ton! In no particular order, I’ve learned:
- How to create a timer
- How to chain actions and interactions to that timer
- How to initiate haptic feedback and UI Sounds
- How to use auto layout to craft a UI that adapts to different devices and rotations
- How to create graceful animations
What’s next for Wavefully?There’s still much to do. Over the coming weeks, be looking for posts about my learnings! If you’re interested in following along with the development, I’ve made my Trello board public. Thanks for reading! Please leave a comment below if you have any questions, feedback or just want to say drop by and say “hello”!