Happy Monday, everyone!
We made it to the 35th issue! Thank you to everyone who read last week’s issue ❤️
📆 Today I’m featuring Shihab Mehboob.
I'm so happy to have Shihab in this week's issue 😊 Shihab has such a big presence in the indie dev community. He has been mentioned in a few previous Indie Dev Monday issues as someone that is inspirational and highly respected. It's pretty obvious to see when if you look at the apps he produces and the content he posts on Twitter. Shihab developers in the open to get quick feedback from users. This feedback is then used to keep making his apps more beautiful while also making sure they are still accessible for all users.
Aviary is my favorite third-party Twitter client. I feel like it was built specifically for me 😉 Shihab built it for everyone _but allows for plenty of settings to make it your own. There are also some great accessibility features added (see the answer to question #8 below for a feature I just found out about). Vinyls is Shihab's newest apps. It's a gorgeous interpretation of a record player built for playing your songs with Apple Music. There is something so satisfying about seeing the record spin while listening to a song.
Go check ot Aviary, Vinyls, and some other apps of Shihab's in the iOS and macOS App Store today! You'll be happy you did so ☺️
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
1) What is your name? Where do you live?
Shihab Mehboob. I live in Leicester in the United Kingdom.
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
I’m an independent iOS app developer who’s been making small apps since around 2015, with a background in Computer Science (BSc). I’ve had a variety of jobs over the years, including being a web developer at a media agency, an app developer at a sports tech startup, and a software engineer at IBM working on some exciting things like bringing Swift to the server and Linux. I’ve always been doing my own personal hobby projects alongside these main jobs though. I’m a huge fan of interesting UI and UX, and exploring how design and accessibility can go hand-in-hand to create playful interactions and cool concepts for apps (things I tend to aim for within my own apps). Outside of tech, I spend my time gaming (I’d consider myself a fairly casual gamer), and love LEGO.
3) Have you ever considered yourself an indie developer?
Yes. I think anyone who’s making apps alone would automatically fall under this bracket, but more so when it’s a bunch of apps that aren’t for another company or business, without anyone to answer to apart from the customers and users of those said apps.
4) What got you started/interested in creating your own applications outside of your “normal” job?
I’d be lying if I said it wasn’t a desire to make money on the side. But apart from that obvious motivation, having a product out there that had been hand-crafted by myself for everyone to use has always been a dream. It’s also my answer to many interview questions for jobs before I actually started making apps myself. I’d often say that I wanted to make a difference in the world and contribute to it via a product that I had made. I guess I enjoy seeing people use the things I make, and that could be said for many of the crafts including chefs with cooking, architects with buildings, etc.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
I guess I don’t. I tend to keep going and focusing solely on one area until I get tired, and then shift to the other one. I tend to think of myself as being a good multitasker, but when it comes to my work, I overemphasise the need to produce content in my head, which leads to pouring a lot of my free time into working on my apps instead of relaxing or doing anything else. I build my calendar around friends and family, with the rest of my time poured into my work and apps. Only when I feel like I’ve accomplished what I set out to do I take some time for myself and my hobbies. This is probably quite unhealthy, but it’s been working for me so far.
6) Aviary - I’ve been loving this app since the day you first tweeted you were working on it 😁 It so fun to watch you work in the open. The speed at which you add polished features in just incredible. When did you start building stuff out in the open? What were your thoughts/decisions behind doing so?
Thank you! I think I first started building stuff out in the open around July/August 2019 after WWDC that year (which I was lucky enough to attend). I got heavily inspired by everything I saw there, the people I met, and just how I felt about app development in general. I had started working on my notes app Allegory back then, which I tweeted about as I progressed through it. This was also when I started using Twitter properly and building a small audience, and networking with other indie developers who I’d met and come across. Getting recognised for the work I was doing played a huge part in motivating me to keep going and carry on with building out in the open. The instant feedback loop was a huge plus, and getting to change direction after user feedback almost instantly was something that larger companies could only dream of.
7) Aviary - I saw that Twitter featured Aviary in a tweet the other week 😊 Congrats on that! What has it been like working with Twitter’s new API? Do you have any sort of relationship with the Twitter devs when any issues arise? What has been the best and worst parts about the new API?
I was blown away by how cool it was to get featured by Twitter themselves. This would have been unheard of just a few years ago, as there rapport with third-party devs hasn’t been the strongest in past years. Although I have to say they seem to have done a 180 and really turned things around in terms of how they feel about third-party devs in general and how they interact with developers. They have been kind enough to reach out themselves telling me that they would feature me, and in the past few weeks and months when they wanted feedback on new features they were adding to their API. The new API seems to be a staged release, with things coming as and when they’re ready (a tad too slow for myself, but that’s just me), and seems to be ticking off a lot of the past requests. Rate limits are still a huge pain, and some features like bookmarking and activity metrics are absent. But I’m sure it’ll improve over time and continue to get better.
8) Aviary - What is your favorite feature that you’ve added to Aviary? Either most fun to develop or most fun to use. Your choice 😉
This is a hard one. I often forget what features I’ve added into the app as there are so many! Off the top of my head, I’d have to go with the ability to translate text from images. This feature is invoked after long-pressing any image and selecting the respective option, and will either present the image’s textual content in text format with the ability to be copied immediately if it’s in your device language, or translate the text to your native language if it isn’t. This uses Apple’s Vision API in what I believe to be quite a helpful way, enhancing accessibility and making the app better to use for many.
9) Aviary - You think of all the most amazing little details while developing an app 🥰 My favorite thing about Shihab apps is all of the different settings you allow your users to configure. I think Aviary has like 30 different settings for users to configure how they want their timelines to look/feel. How important is it to you that you give the users all of these flexibilities? How do you decide what should all be a setting?
Thank you! I tend to build upon these settings over time based on user requests and personal preferences. I’ll add in various basics for almost every app I work on, including theme and tint options, alt app icons, haptics, and other accessibility settings. But I’ll then enhance upon those after taking onboard what beta testers and general users of the app have asked for (which may cause conflict with what others have asked for). If something seems like a cool feature, but doesn’t or shouldn’t be applied app-wide and for all users, it becomes a new settings option. If something is a cool feature but I’m personally not 100% sold on it, it’ll become a settings feature with it being disabled by default. I believe in giving users choices to tweak apps just the way they want (within reason, still following iOS design guidelines), which also has the added benefit of not having to necessarily decide on what should be enforced for all users.
10) Vinyls - This is such a fun concept for an app! I’m very curious where this idea came from 😇 I can’t say I’ve seen anything like this before. Where did the idea for a record player user interface for Apple Music come from? Was it originally just a fun side project or did you always plan to release it to the App Store?
I’m all about playful UI that still serves a purpose. And the idea of a record player or vinyl associated with sounds was something I explored a few years back with my podcast player app Cosmicast. This draws some inspiration from that app but is entirely built from scratch from the ground up. Apps should be fun. If they were just a means to an end, they could just as well be achieved through Siri Shortcuts without any UI or interactive elements. The whole point of this app was to get people feeling those little moments of joy, which I think a record player even in its physical form achieves. Ever since making the podcast app, I’ve kind of kicked myself for not seeing the obvious link between a record player and a music app, duh. So it’s been on the back-burner ever since, but I’ve just never thought of it too seriously until now. I’m so glad I did end up building this though, because more than anything I love playing with it myself, scrubbing the vinyl, and just swiping around to see the animations.
11) Vinyls - How was your experience with the Apple Music API? Were there any weird gotchas? Was this your first time using?
This was indeed my first time using it, and I have to say it’s been quite pleasant. The lack of rate limits have been the biggest bonus, and the API documentation is fairly concise and descriptive. My only issue has been figuring out the differences between the local library and ‘Apple Music’, but that’s mainly a semantic thing rather than a technical one. Some API endpoints surrounding playlists have required using private APIs though, as this isn’t available to the public (showing artwork, etc).
12) Aviary & Vinyls - What’s next for these two apps? Do you have any fun future features that you can share with us? 🙂
Aviary is ever-evolving, with so many things in my list that I don’t know where to begin. None of them are exciting as such, but they are things I want to add to make it more usable and accessible. Things such as nested reply threading, time-based filters, immediate push notifications, etc. For Vinyls, I think it’s too early to say, but next steps involve a macOS app and tvOS app.
13) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?
The hardest part, for me at least, has to be monetary compensation, and wishing whether the output is worth the input and effort. It is far from a well-paying hobby for many, especially considering the amount of time and effort sunk into it. But luckily my motivations for keeping going stem from wanting to create cool products regardless, which ties into the most fun part, getting to make things that others (all around the world) will use. The community surrounding indie app development is also great, and I feel very privileged to be a part of it.
14) Is there anything else you’d like to tell the indie dev community about you? (there is probably more i could have poked at but I’m still learning over here 😇)
I’ve never had a bagel.
Here is the reference if you are all curious 👇
Here's a secret, don't tell anyone: I've never had a bagel. Also, could be a reallyyy bad 3D render. 🤷🏻♂️— Shihab (@JPEGuin) January 4, 2021
15) Do you have any other indie devs that readers should follow / lookout for?
So many to name, and if I do select just a few it would be quite unfair on those that I leave out. I’d suggest looking at who I follow on Twitter.
Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊
Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!
And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜