September 17, 2022
This post is a bit unusual: in the software development community, we’re used to announcing products and updates while celebrating milestones and successes. Over the years, I’ve written my share of both, but what follows will be different, as I’ll tell you all the ways a launch I worked on this summer failed, and why being indie means I (you?) will nevertheless keep going on.
I hope to find a way with words to successfully convey my thoughts and avoid coming across as whiny: my intent is not to complain. On the contrary, I believe writing about what didn’t go as hoped is often overlooked, but can be a powerful moment, both for those who are sharing, and for others facing similar scenarios.
Sometimes, this indie thing is hard: you work on something for a while, making it as good as you’re able to, and in the process, you accept sacrifices to take it to the finish line. Meanwhile, you try to let other people know your brand new creation exists, in the hope it will have a modicum of success and possibly earn you a buck or two when you’re ready to ship.
Then launch day comes, you tweet and blog about it, your closest friends retweet it and take time to send you encouraging words, and a few Users love the new features and let you know with heartwarming emails.
Now you wait.
Maybe someone in the press you’ve talked to said they were considering covering your announcement, but when the day comes you realize they’ve been swamped by requests and couldn’t possibly find the time to write about everything, and your beloved app didn’t make the cut. If you’re honest with yourself, marketing is not your strong suit, and being featured was a long shot all along… you accept you’ve reached out too late and contacted only a few people you know and occasionally talk to online (otherwise it would have felt dishonest and spammy to send blanket email announcements, right?).
In this phase, slightly worried, you tell yourself that maybe people will find your app in some other ways (which they rarely do because if you build it, they will come does not apply to the App Store)… possibly if you try Product Hunt you could stir up some interest?
A few days from your announcement, you look at the numbers and your heart sinks a bit: instead of the usual 5÷10 downloads per day of the free version of your (ahem…) product, since launch you’ve had 10÷15, and just a couple more subscriptions than usual were started. You understand this is your “spike” post-announcement 😔, and the temptation of dividing the extra revenue by the number of hours poured into the development process creeps in. Months of work… for this?
Well, at this point you know you’ve tanked your launch. As you’ve figured out, I feel I’ve tanked mine. Yes, it’s been less than a week, but we’ve been here before: often most downloads arrive immediately after launch, especially if you’re anchoring your release with some external factor (in my case, adopting a lead feature from the new version of iOS).
Let’s not kid ourselves, realizing that success – however you define it – is not coming kind of sucks. This is not a good moment, even if you never thought you’d have “real” success… you knew you were targeting a niche, and you were not so naive to think the idea you had was unique (in the App Store, it’s implied that other developers will build competing products and you always accept the chance they would either make a better job in terms of features, or tell a more compelling story marketing-wise, or both… ouch!). But it’s still quite depressing to see something you made struggling to fly.
Where does an indie go from here?
They lick their wounds and reflect on what went wrong (👋). If you’ve done this indie thing for a while (for me, it’s about 9 years since I watched my first programming course from Simon Allardice on Lynda.com… remember Lynda?), you also realize that making a list of “small victories” is as important as what they call the post-mortem (which by the way is a terrible name, as things might start slowly, but not be dead, and course can sometimes be corrected even after unsatisfactory beginnings).
I’ve found out – in years of experience building products so niche they didn’t even have a market – that, if you only focus on what went wrong, it becomes very hard to find the inner motivation to tackle the next thing.
So, here are my two lists, the good and the bad, after Link HUB 2.0 less-than-stellar launch…
Mistakes were made by the team, and sadly when you’re all the team, there’s nowhere else to point the finger than towards yourself:
- I had the idea of customizable Lock screen widgets to launch URLs, and especially Shortcuts and apps, during WWDC keynote. I was sure lots of other developers had the same idea (they did) because it’s simply a good one that makes sense. Instead of building a new small app dedicated to this purpose, I’ve decided to expand an existing application of mine that was “adjacent” to the feature. While it made sense and is certainly good practice for existing Users, this took longer than it would have otherwise because I’ve had other things to tackle to make a proper 2.0 (regular widgets, as I was late to the party, but also converting a major view to SwiftUI);
- As a consequence of deciding not to make a new laser-focused app, I’ve had less time to build features specific to the scope of my idea: from day one, I wanted a mechanism to import Shortcuts instead of only relying on the shortcuts:// URL scheme, and I settled on only offering custom SF Symbols for links, while also having custom images (or app icons fetched from App Store’s APIs) would have made sense. I’ve seen both features implemented on launch day by similar apps from other developers; kudos to them for being great at keeping their eyes on the good quality of life features: by all means, those who succeeded deserved it, and while I’m not happy for where I stand today, I will always be happy when another indie succeeds!
- Having less time also meant failing at marketing: I think I’ve made good and colorful screenshots (mostly thanks to an amazing model, Milla…), but I wanted an App Store video too, and I’ve delayed it because didn’t have time. Most importantly, I’ve reached out to a few people I know / sometimes interact with in the press, but it was my usually small and late push.
- Since my main feature, Lock screen widgets, is a major one, Apple would likely feature apps including it. So, I had the brilliant idea to forget to submit my update to the App Store team for consideration up until the Friday before iOS 16 launch, when I saw another developer tweet about it. This one is the most moronic of my mistakes… by no means, my app would have had a spot “guaranteed” in App Store features, but if you don’t even try…
So, a good share of errors could have been avoided. Still, I think I have conquered a few small victories that are cheering me up a bit as I list them in my mind:
- The app might not be a resounding success so far (or ever? let’s hope it’s not ever!), but I’ve had a feature I wanted for myself “all summer long”, a way to launch apps and Shortcuts from the Lock screen: this is one of those things you build for yourself, and you cannot go wrong with that.
- I finally jumped in with SwiftUI, not only learning about lock screen widgets and regular widgets (adding those, also a belated victory) but actually getting some mileage with the language while refactoring a major view to the future of development on Apple platforms; in return, I got much less code, some additional features (custom icons, a better UI and in general a more streamlined experience) and – most important – a better understanding of SwiftUI itself and where I’ll certainly want to use it again soon.
- I’ve had fun: I was off work (classic indie, I have a day job in a different field) for three weeks this summer (classic Italy ;), and the bulk of work on Link HUB 2.0 happened during that period. It was enough coding to be interesting, and a small enough project not to take all my free time away from Milla.
- Link HUB is in a good spot, including in comparison to the other apps that launched with lock screen widgets: as I’ve mentioned, other developers had the same idea at the same time and built focused apps around it; I’ve tried them, of course, and they are all very good, each one with strong aspects. But basically, the main things that Link HUB lacks are the two nice-to-have features that I had planned and postponed: importing from Shortcuts and adding custom photos and app icons for the links. I can and will add those as soon as I’ll have the time (I’m back at work on GlanceCam, because what’s more #indielife than juggling different projects?), but in the meantime Link HUB is still on iOS, iPadOS, and Mac, is a fully-featured launcher app with all home screen widget size classes, multitasking / Stage Manager support, iCloud sync, NFC read/write capabilities… in the short term, building a small, focused app would have been easier and (results at hand) more effective, but I still think that in the long run having a well-rounded and feature-rich product could be better for Users.
In many ways, this post was a form of therapy. It didn’t feel great to see the numbers barely go up (I’ve tried to tell myself it’s been a 300% increase in downloads, but a free app on 3 platforms that gets 10 new Users per day is still a flop, and I’m not one for sugarcoating things too much), but I think I see things with a better perspective now that I wrote this.
I am sure many Indie developers know the feeling of working hard and still not being able to reach the audience you had hoped for. While it’s not great, and my friends it is not, I think it’s okay, as long as you keep learning and getting better at what you do. #indielife means you’ll live and fight another day, on your terms.
P.S. My brain is not wired for oversharing and this is a way more personal post than usual… Since I’ll only publish it on my RSS feed and share it to my small Twitter circle, chances are that only my closest online friends will see it. But if you relate with my experience and think other Indies would too, I’m also okay with you sharing my ramblings… there’s no shame in trying something and not succeeding, and we should tell that ourselves more!
Link HUB 2.0 on Product Hunt
September 14, 2022
Just a few days after launching together with iOS 16, Link HUB 2.0 - URL Launcher & Widgets is on Product Hunt!
Download Link HUB 2.0 for free on the App Store and start launching apps, Shortcuts and URLs directly from your iPhone’s Lock screen, or from the app and widgets on your iPad and Mac too! And if you like it, please give it a boost 🚀 on Product Hunt with your upvote! 😺
Link HUB 2.0 with Lock screen widgets
September 12, 2022
Just as iOS 16 lands on your iPhone today, Link HUB 2.0 - URL Launcher & Widgets is also available on iPhone, iPad and Mac!
Download it now for free to unlock a level of speed and productivity unimaginable before!
Thanks to the new Lock screen Widgets for iOS 16, the apps, Shortcuts and URLs you rely upon the most are only one tap away, in any moment; all widgets sizes for the lock-screen are supported, and for each one you can choose if you want an opaque background or a less-intrusive look, so your iPhone can serve your needs while perfectly matching your style!
Just a few examples of what you can do directly from your iPhone’s lock screen with Link HUB’s superpowers:
- Open any app you want, and in some of them – with the right URL – navigate to specific sections
- Launch automations from Shortcuts… basically Link HUB is the shortcut to your Shortcuts’ shortcuts 🤪
- Start a FaceTime call to your special someone
- Jump directly into a conversation in Messages
- Open any website
But there’s more: in Link HUB 2.0 widgets aren’t only on your lockscreen… you can now add as many super-high density “regular” Widgets as you like! While the small widget is a big convenient button for just one link, a medium widget can contain up to 8 links, a large one 16 and the extra-large widget on iPads makes 32 links available to you… that’s double of what most alternatives (including Shortcuts’ native ones 😉) offer, and you can have them on all platforms: iOS, iPadOS and macOS!
Version 2.0 also includes a redesigned (in SwiftUI!), clean and easy to use screen to add and edit URLs, the ability to finally select custom icons for every link, and improved speed and reliability.
Obviously, all the beloved features of Link HUB remain: it’s still free for up to 4 links, when you first launch the app there’s a quick tutorial and some example links to get you started even if you never worked with URL schemes before, everything syncs via iCloud, you can choose that some links should only appear on certain classes of devices, you can even program and read NFC tags (this nerdy and super-useful feature requires a subscription to Link HUB Pro, which also unlocks unlimited links for just $ 4.99 per year), or send HTTP GET requests 🤓 for IoT automations.
Link HUB 2.0 is the 8th free update since Link HUB’s launch 2 years ago and I think you’ll love it. I also hope that the convenience of having anything you want on the lock screen will be for you the game changer that’s already been for me during the months of development and refinement of the app this summer.
Get Link HUB for free from the App Store and immediately unlock the power of your iPhone’s lock screen!
Introducing Link HUB for Mac
September 24, 2020
I am very happy to announce that, less than two months after its introduction on iPhone and iPad, Link HUB is now available on macOS too, thanks to Catalyst: version 1.5 is already in the Mac App Store and is free!
Link HUB is a dashboard from which you can quickly launch any URL (and I mean any: websites, URL schemes, HTTP GET calls for automation, deep-linking into apps, IFTTT webhooks and so on).
The app started as a small utility on iOS and iPadOS (where it’s a good multi-tasking citizen), but can sync links on all platforms with iCloud (while offering the option to have some links only available on certain devices, for instance only on Macs, or only on iPhones / iPads) and even supports NFC reading and writing; getting started with Link HUB is easy, thanks to the optional examples the app can add for you during the guided onboarding.
Link HUB 1.5 for iOS / iPadOS 14 is also available today in the App Store as a free update and introduces compatibility with the Mac version while adding full support for the latest release of Apple’s mobile operating system.
For Users who want more than 4 buttons and NFC support, an inexpensive subscription ($ 3.99 total for 1 year of Pro access on all platforms) is available as an option, and highly recommended to support the app’s future development.
It would mean the world to me if you decide to try Link HUB and tell your friends about it!
Link HUB is on Product Hunt
August 12, 2020
I’ve just posted Link HUB on Product Hunt 😸!
Please take a look, let me know what you think and consider sharing it and/or showing your support with an upvote: I’m really proud of the app after less than 10 days from its launch!
You can download Link HUB for free on the App Store.
Link HUB with NFC tags support
August 8, 2020
The 4th update to Link HUB, my iOS and iPadOS dashboard to launch any kind of URL and URL scheme, has just landed in the App Store, and it is the biggest one yet… actually, version 1.4 adds the feature the app was originally imagined for: you can now use inexpensive NFC tags to trigger the launch of URLs you saved in Link HUB: Shortcuts, home automations, direct calls and messages to specific contacts, websites, web-hooks, and so on…
A short video is worth a thousand words:
As you can see, this enables all kinds of automations: Link HUB can write cheap NFC stickers for you, to associate them to specific links. After Link HUB writes a tag with the specific informations it needs to recognise it later (and this procedure is very easy and completely automatic!), scanning it from inside the app will immediately launch the link; even better, tag reading even works when the app is not running, if your iPhone supports background NFC reading: for recent iPhone models you’ll receive a notification and, as soon as you’ll tap it, your link will be immediately launched.
NFC tag support is a really cool feature, implemented for the easiest and fastest usage possible, and requires the inexpensive - $ 3.99 total per year - Link HUB Pro subscription (and, obviously, some writable NFC tags).
Please read the Frequently Asked Questions for some human-understandable and not-too-nerdy informations to get you started with NFC… no previous experience with NFC required, as everything is completely automated by Link HUB!
I really hope you’ll love using NFC tags as much as I do!
You can download Link HUB for free in the App Store.
Not how you launch an app... introducing Link HUB
July 31, 2020
Once again, I miscalculated the timing of an app launch: this morning Link HUB, a fun project I started a couple of weeks ago, debuted in the App Store after a very fast review process.
I had a few launch images and the product page ready, but not this introductory post, so I rushed out a tweet and the app debuted into the world 🎉, actually with a warmer welcome than most of my iOS apps in recent years had: according to App Store Connect, which is showing me data for the last 8 hours as I write this, over 50 people downloaded it already!
For an hobbyist, self taught developer like myself, that’s a big number. Certainly most of these downloads came from the very precious retweets from Becky, Brent, Chris and Simon, who I want to really thank for their help ❤️!
I also sent a grand total of 2 tweets and one email to promote the app to people I follow and that have an audience I believe might be interested in this kind of product. I am not sure if this massive marketing effort produced any effects yet, but somehow I doubt that…
And because haste makes waste, my rushed tweet actually bit me, because I promoted the app before its in-app purchase propagated in the App Store, something that actually pretty commonly requires a few hours after the app is approved (just like appearing in search results), but that I forgot about even if it already happened to me in the past. Do you see a pattern with my launch planning here?
And from there, my day spiralled in a bit of a mess between my day job, errands to run while outside there were 38° C (100° F) but still wearing a mask (obviously, only a crazy and irresponsible person wouldn’t), replying to a couple of support emails and submitting version 1.1 of the app to add duplication of items (Link HUB’s first feature request… thank you Scott!), fix a small bug and correct something that was really, really painful for me to see… I can honestly say that the “best” moment of the day was when I realised that I had a typo literally in the first screen of the onboarding:
Now that my day has settled a bit (I’m home, in front of a fan running at its max speed, eating watermelon 🍉 with Milla 🐺 while Link HUB 1.1 is waiting for review, and the in-app purchase is finally appearing for Users around the world… I even have my first subscriber!), I thought I’d share today’s story as a warning to myself, and maybe other developers: as you probably figured out by yourself, this is NOT how you launch an app.
If you ask me, I’ll tell you that I know it’s not enough to put a lot of effort in Xcode. If you’re an indie, you know it too.
We all read great posts on what it takes to execute a good launch, and yet when the app is ready you just want to let it fly into the world, where sadly it will probably crash because you didn’t prepare the way for it as well as you could.
So, after this — hopefully at least a bit entertaining — cautionary tale, let me finally tell you about Link HUB, an app that clearly is here despite my best efforts!
Its product page describes Link HUB in detail, so I won’t repeat everything here, especially because the app is free to use (with limits: 4 links in the free version) so you can just try it for yourself… let me just say that, if you’re interested in a dashboard from which you can quickly launch any URL (and I mean any: websites, URL schemes, HTTP GET calls for automation, deep-linking into apps, IFTTT webhooks and so on), the app works nicely on iOS and iPadOS (where it’s a good multi-tasking citizen), syncs with iCloud, helps you get started with optional examples and manages to have a few nice touches (my first app with haptics and menus!). For Users who want more than 4 buttons, an inexpensive subscription ($ 3.99 total for 1 year, I think it’s reasonable) is available as an option, and my hope is that the app can gain a niche big enough to make its future development sustainable, because I have ideas:
- NFC support (origin story: the app exists because yours truly and his brother in law wanted to play around with NFC tags… indeed, the Xcode project and repository are still called NFC because I am too lazy to rename them).
- A Mac version! I’m thinking “checkmark-Catalyst” (meaning, not too many differences from the iPadOS version, at least until I know there’s people interested), but I believe it could still be useful have it on all platforms even if it’s not the most native and chiseled Mac app ever.
- Reordering links (another feature request from Scott, thanks for this one too, I love feedback!).
- Search and maybe some sort of grouping? I don’t see folders in the immediate future, but if there’s demand I can look into that.
- When iOS 14 and iPadOS 14 ship, most likely a widget. I am familiar with the “old style”, Notification Center widgets, having built them for Tasktic, Walk More and Always There, and I actually loved the fact that they were true mini-apps, but it really doesn’t make sense to make one of those today, only to have it replaced by a less-functional one in a couple of months. But I won’t make promises on this front yet, because I still can’t read Swift UI (required for the new Springboard, non-interactive widgets): my brain breaks when I see its syntax.
Thank you for coming along in the first day of this journey.
I hope you’ll like Link HUB (App Store link here, so you don’t have to dig around in the post to find it) and that you’ll tell people about it.
As YouTubers say, please like (review in the App Store!) and subscribe (in the app, but also to my RSS feed.
And please, don’t hesitate getting in touch at email@example.com, I take great pride in replying to all emails I receive!