An Interview with Marcos Tanaka
Marcos Tanaka is a software developer working on apps for Apple's platforms.
Marcos Tanaka is a software developer working on apps for Apple's platforms.
Who are you, and what do you do?
Hi, I'm Marcos Tanaka! I do a bunch of apps for iPhone, iPad, Mac, and Apple TV, including MusicHarbor, MusicSmart, Play, and MusicBox.
How did you get interested in that?
I've always been interested in tech and in creating things, which is what I think led me to study software development. I love developing tools and apps that improve how I do a particular task or fix a problem I have. And since I use Apple platforms, it was natural to start exploring how to develop apps for these devices.
What tools & gear do you use? (Could be hardware, software, headphones, and anything else.)
• MacBook Air (M1, 2020) - I have had this machine for almost two years now, but it still amazes me how fast and efficient it is.
• DELL P2721Q - A 4K external monitor gives me a lot more room to work with multiple windows simultaneously.
• iPad Pro (11-inch, 2020) - I use it to test my apps, watch videos, and check Twitter and Instagram.
• iPhone 12
• HomePod mini (stereo pair) - I had to mention them here because they are great for listening to music while I work, and I think the sound quality is excellent, especially with Dolby Atmos songs.
• Standing Desk (GenioDesk) - I recently got a standing desk, and I love being able to alternate between sitting and standing throughout the day.
• AirPods 2nd Gen - I use these mostly for listening to podcasts.
• AirPods Max - To listen to music.
• Xcode - The IDE I use to create apps.
• Terminal - To execute Git commands and interact with iPhone and iPad simulators.
• Reminders - Contains the backlog of features and bug fixes that I have to work on.
• Affinity Designer - This is the image editor I use to create screenshots for the App Store and to share on social media.
• Timery - An excellent time tracking app for Mac, iPhone, iPad, and Apple Watch.
Besides the tools, what are the routines & habits that help you get your work done?
I try to work on my apps in the morning because I feel that is when I have the most energy to do software development. I also try focusing on one app at a time and only start working on another when I finish the feature I'm currently working on. I recently released two new apps, so I'm still learning the best way to maintain and work on multiple apps simultaneously.
I have one list for each app in Reminders, which I use to organize feature requests and bugs I have to work on, and I manually sort these lists by priority. So before I start working on an app, I first open Reminders to see what I have to work on. And as I complete these items, I update a separate release notes document that I use in the "What's new" section later in the App Store.
I also track the time I work on each project to get a sense of where I spend my time.
3 of the apps you've made — MusicHarbor, MusicSmart, and most recently, MusicBox — have to do with listening to & organizing music. What role does music play in your life?
I love listening to music because it brings joy, inspires, and cheers me up! I think it is also a great way to connect to the story and the feelings the artist tried to communicate when creating it, and I love going deep and learning more about a specific song or album.
I think music helped me spark a lot of the interests that got me where I am today. I remember spending a lot of time organizing my music library back when we had to rip (or download) CDs to transfer them to our iPods. The iPod was my first Apple device and the product that got me interested in what Apple was doing. Music also inspired me to learn English to understand what artists were saying. And the idea to create MusicHarbor, one of my first indie apps, came from the wish to keep track of all new music releases from my favorite artists.
As a follow-up, what kind of music & artists do you enjoy listening to?
It varies a lot from time to time. I'm currently listening to a lot of pop, alternative, and hip-hop. I also listen to rock, funk, and dance.
Last year I was obsessed with the album SAWAYAMA by Rina Sawayama. So I'm looking forward to her new album, Hold The Girl, coming out later this year.
You've written quite a few apps, so you probably have lots of ideas. How do you decide whether one is good enough to start working on?
I first try building a quick proof of concept to see if I can implement the idea. Then, I think about transforming it into a more generic solution that would be useful for different users and use cases, rather than a specialized tool that only works for my specific needs. Posting the progress on Twitter can also help measure how interested other people are in this idea and if it is worth continuing to develop and polish.
What resources (books, videos, etc.) or advice do you have for people that might be interested in what you do?
The go-to course I recommend to people that want to start developing for Apple platforms is the CS193p course from Stanford. The latest edition available is from 2021, so it already covers some of the most recent APIs and frameworks like SwiftUI.
How do you relax or take a break? How do you avoid burnout?
I try not to work on weekends to focus on something different for some time, like cooking, listening to music, reading a book, watching movies, or going out with family and friends.
Time tracking is also helpful because I can see how much I worked over the week and eliminate that feeling that I should work even more.
What are some of your favorite things that you've created? It could be some of your apps, or it could be something else.
I like to try different techniques when building new things and incorporate some of the best learning from past projects, so I tend to appreciate my recent projects more than the old ones. That's why I think MusicBox is my favorite app right now. It has some characteristics that I wish some of my old projects had but are not always possible or too difficult to implement now. But MusicHarbor also has a special place in my heart because I use it every week to check new music releases and because it was the project that started my indie development journey.
Who or what inspires or motivates you; or, alternatively, that you admire?
I take inspiration from many different indie developers and creators I follow on Twitter. I think it is fascinating that we live in a time where we can create things that we wish existed and easily distribute them on the internet from the computers in our homes. So every time I open my Twitter feed, I see what others are working on, and this inspires me to continue creating.
What would be your dream setup? This could be anything — music related, ideal hardware/software, etc.
I've been thinking about this lately, but I don't think I have a definitive answer 😅. There are a few things that I don't like about my setup with the MacBook. One is that there aren't enough ports to connect my devices to debug something on my iPad or iPhone, for example. Another problem is the cables that run on my desk to connect it to the external monitor and other peripherals. And the dual monitor situation is less than ideal because windows often lose their last position on the screen, so I have to rearrange them constantly. Having a more traditional desktop machine like the Mac Studio would solve these problems, but I would also lose the MacBook's portability. And I would also rather not have to manage two different computers, so probably a laptop is still the ideal machine for me.
Regarding the external monitor, I would love to replace my 4K Dell with a Studio Display, and I'll probably do it sometime in the future. Although my current display has decent image quality and gives me plenty of space, the Studio Display would also give me a built-in webcam and speakers, the ability to control brightness directly from the keyboard, an ambient light sensor, support for True Tone, extra USB-C ports, and "True" Retina.
Anything else you'd like to add?
I can’t think of anything else, but feel free to reach me on Twitter @mactanaka if you have any questions about my apps or indie developer journey so far!