One Click to Asana: there is more behind the ‘why’
So, there I was just minding my own business, when out of the blue, Daniel hits me up with a request. He needed a tweak to this app I'd built for him. Nothing major, just a little "Hey, Joel, can you make it so I can mark which of my favourites I've moved into Asana?" Simple enough. But why? Here's the kicker: Daniel was manually transferring data from my app into Asana, task by task. Like, with his hands. In 2023. Can you believe it?
The moment he said it, it was like a lightbulb went off over my head. Why not just create the Asana task when an item was marked as a favourite? But could it be done? Spoiler: Of course, it could. This is Ruby on Rails and Asana we are talking about.
Before touching any code, first it’s time to research and design how this feature could be delivered: identifying which items had an Asana task from those that didn’t. I found not one, but two ways to make it happen. Option A: the email method. Pretty straightforward, you format the task in an email and send it to a special email address. But you don’t get a response. Option B: the Asana API, the fancy choice that not only sends tasks over but also lets you get an answer from Asana, an answer that has a URL to the task that was created. The API was a bit more work, but hey, it was much better and the difference was hours, not days. We’re not here to take shortcuts.
领英推荐
I pitched the idea to my friend, all casual-like, "Hey, how about we make your life a gazillion times easier?" He was all in, and I got to work, fuelled by the thrill of innovation I got to work at midnight. Tomorrow is where dreams go to die!
I'm a Test Driven Development kinda guy. TDD is a great tool for building quality. I write my tests before I even think about coding. It's like making a shopping list before you go to the store—it saves you from coming back with stuff you don't need and forgetting the things you do. This approach made programming much faster, I could run a test in seconds instead of minutes and check where I was.
The techy stuff? All done in Ruby on Rails, because I have limited coding time and don’t to waste it with complicated stacks. The end result? A sleek, seamless process that catapulted Daniel’s workflow into the 21st century. No more manual data entry, no more checking if a task had been created. Just a smooth, one-click journey from my app to Asana (and back - I added a link from the task to the item in my app), complete with task URLs, automatic due dates, and dynamically generated task titles.?
So much fun in so little time. It was a small request that turned into a big leap for my friend's digital process. And me? I got to flex my coding muscles, freshen up on Test Driven Development, and make life a little easier for my buddy. All in a weekend's work. Now it’s Monday. Time for more fun in “normal” work.