Mastodon

Interview with Shihab Mehboob, Developer of Aviary

Jul 26, 2022 • Extra OrdinaryInterview



A Twitter client for iPhone, iPad, Mac and Apple Watch

Shihab Mehboob has just released the biggest update yet to Aviary, a simple yet powerful Twitter client.

Aviary 2 has been completely rebuilt with a stronger, more reliable foundation. This has enabled a wide swath of new user features and customization options. As before, the interface is native to iOS and strictly follows Apple’s design principles.

Aviary 2 costs either $1.99 per month or $15.49 for a full year (a 40% discount); if subscriptions aren’t your style, you can buy it forever for $49.99 (an ROI of three years, three months). No ads, no suggested tweets from people you don’t follow filling up your timeline, no notification bait, and let me say this one more time for emphasis, no ads? It’s a no-brainer for an app I use every day.

Shihab is a very active developer. It’s not surprising that he’s also very active on Twitter — a good person to follow in the independent developer community. He has also published Vinyls, an Apple Music client designed around listening to albums; Get Sum, a shopping list; Agree, a group voting app; Textcraft, a text formatting tool; Memo, a Time Machine-inspired note-taking app and even more.

Interview

I interviewed Shihab by email in the week leading up to its release.

First and foremost, why a Twitter client?

Twitter is something I’ve been using for over a decade now across a variety of devices and platforms. After seeing what has been possible by Tweetbot, especially in the early days, I’ve always wanted to make my own client that elevates the experience.

Aviary 2 was, as you say, “rebuilt and redesigned from the ground up.” Starting over is not a decision developers take lightly, and this rebuild took half a year. Was this a hard decision to make?

Initially, it was quite a hard decision to make. I was facing various issues with the first version of Aviary that were causing frequent and spontaneous crashes and hangs which I couldn’t seem to resolve. I still had a lot planned for Aviary with features I wanted to add and new API endpoints I wanted to adopt.

Development was struggling, so I made the difficult decision to start from scratch and be more cautious with my development. I adopted new technologies wherever possible, opted to hop abroad the Twitter V2 API early on and tested extensively every step of the way. While it was a difficult decision, the result has been effective and made further development much easier.

Aviary 2 is available as a monthly or yearly subscription or a single lifetime purchase. What brought you to this pricing model?

I find that this model has a spot for everyone whether you’re a casual user, a more seasoned user or someone who’d prefer to own the app outright. The subscriptions also help keep frequent development going and is far more sustainable for me as a developer.

Twitter has been having, let’s say, a rough few months. How confident are you in the future of Twitter as a platform?

Twitter has always had rough times through its life, but it’s always bounced back. I’m confident that it will do the same again. Especially now that they’re a lot more transparent with their users and developers alike.

Do you find credence in the idea that Twitter has great value to society as a public forum, or do you find that a bit idealistic?

I personally find that Twitter provides great value to those that use it as such. It is what you make of it, and entirely depends on who you follow, who you interact with, what you choose to see and engage with. As with any forum, it can end up being an echo chamber, and that chamber is built by yourself.

One of my favorite Aviary features is the ability to share a tweet as a high-quality image. I use this every day to share tweets to people without Twitter accounts or to save tweets to my photo library. Do you, like me, also get sad when you see bad low-resolution screenshots of tweets or Tumblr posts go viral?

100%. I’m really glad that this is one of your favorite features, because it is mine too! I’ve always been kind of sad to see badly cropped or distorted social media images circulating on unrelated sites, and to be able to output content in better ways is a no-brainer.

Making this super easy to do — with a variety of toggles to hide on-screen elements and adjust backgrounds — is a huge plus for anyone that’s particular about the style of content they wish to share.

One of the more unique features is the ability to view media in AR. Are you excited by what Apple is doing with AR?

Very. I’m a huge believer in Apple’s push towards AR and all that comes with it. I suspect that they’ve been laying the groundwork for the past few years in ways that we haven’t even comprehended yet. From AirTags to Spatial Audio, and LiDAR to UWB chips, it’s all smaller pieces of the same larger puzzle.

If anyone can pull off AR in a meaningful and useful way, Apple can.

On a completely unrelated note, do you foresee Aviary running on an AR/VR hardware device sometime in the future?

Yes! Being able to view tweets without having to pull up a physical screen would be a game-changer.

I was really struck by the pace of development in your TestFlight. It feels like a new build arrived every day — and with a lot of new fixes and features every time. What does a day of work look like for you?

I tend to stay very organized and methodical in my development approach. I keep lengthy lists of things to do, things that are in progress, things that are done and any future ideas that would be nice to have. I tend to pick out low-hanging fruit alongside larger, more important tasks for each release so that a wide variety of features can be included in each one.

I’ll often start my day with a cup of tea, coupled with any small UI changes that I spotted the previous day browsing Aviary (and added to my list), then quickly transition to attacking the largest feature I have planned for the day. This often takes up most of my morning.

After lunch, I’ll focus on smaller issues, bug fixes and other additions that would be nice to have. If Twitter had released a new API endpoint the previous day, I’d get the model for that set up and have a play around with that as fast as I could so that I could claim to be the first to have adopted it. Worth bearing in mind that I’m in the UK time zone — almost all tech releases happen in the US timezone, after the end of my workday, so I can only really get to it the next day.

I usually unwind after 5 P.M. with some games, movies or going for a walk.

A fun easter egg in Aviary was a hidden 2048 number swiping game. Now, in Aviary 2, you built in a full-blown chess game — which, I must say, is the most beautifully designed, elegant little chess app I’ve ever seen. What inspired this?

I was inspired by James Thomson’s PCalc! He’s the king of fun easter eggs and I wanted to invoke that same level of awe for my users. I also love delivering more than promised, so this little addition will hopefully put a smile on people’s faces.

Are you a big fan of Chess.app on the Mac?

Yes! Although I do prefer my chess more physical and in the real world. There’s an untold joy in tangible products.

I have to ask: Your previous apps have been made entirely in Swift with UIKit. Have you used any SwiftUI in Aviary 2?

Not really. I have only used SwiftUI for my widgets, because that’s the only way to build them.

Apple boldly stated this year that Swift and SwiftUI is “the best way to build an app.” Independent developers like Marco Arment and Steven Troughton-Smith have been critical of its unreliability and limited utility, with Ethan Lipnik saying, “I couldn’t deliver a good product if it was 100% SwiftUI.”

Where do you stand on this, and what would Apple have to do for you to adopt SwiftUI in more places?

I agree with them. I too personally find SwiftUI too unreliable at the moment to use in a fully-fledged feature-rich app. I think it’s great for standalone screens (settings, in-app purchase, etc.), but wouldn’t dream of building an entire app that relies on it.

It is also constantly evolving and changing with each release, which must make large swaths of your code redundant with each cycle.

I think Apple would have to prove it’s stable, unlikely to make breaking changes every year and have a well-defined set of standard approaches to achieve typical use-cases for me to adopt it in a serious manner. I’d love to use it and get to grips with it more because it seems to be the sole method to adopt new features going forward, but it’s still a few years off before that seems feasible — or at least until it becomes a requirement for Apple’s AR efforts.

Do you have a back pocket, pie-in-the-sky idea for an app you would love to work on if you had unlimited time and resources?

I would love to make a custom dashboard for your day. Something that pulls in your region’s transport data, weather and maps; all your messaging platforms’ texts, media, and data; local toilets, bins, and other amenities; as well as all other useful information that we as humans need, but not yet provided via any global APIs. I think something like that would greatly enhance people’s lives.

What led you to development on the Apple platform?

I’ve always wanted to make things that I could put in people’s hands and see them use. I have always been proud of my work; being able to share that is a great feeling.

With how many people own Apple products, and how vast the App Store is, it seemed like a no-brainer to go down the Apple route. I’m a huge fan of Apple and their software and hardware. Their design sense and attention to detail really resonates with me — I try to follow the same ethos where I can.

What was your first Mac?

An 11-inch MacBook Air with 4GB of RAM! It was mind-blowing at the time. I did all my development on that, but I don’t think I could ever go back to that little RAM and that little screen real-estate ever again.

These days, I seek out the largest screens and largest RAM offerings.

What is your ‘fast and sad’ meal — what you cook when you’re feeling down and need to cook a quick dinner?

Pasta or deep fried food! I love cheese and butter and I’m a glutton for oil. It’s quite bad, but it’s very satisfying.

What will you do to unwind after Aviary 2 launches?

I am going to go on holiday!

Click here to download Aviary:

Thanks to Shihab for the interview. Have a great holiday.

Aviary is not a sponsor of Extra Ordinary. Questions and answers have been edited from their original text for formatting, grammar and accuracy.

Reply by
EmailTwitter

More from Extra Ordinary