Launcher v5.3 with Lock Screen Widgets Now Available

Launcher v5.3 was released on Monday, September 12, 2022 at the same time as iOS 16 was released, and once again Launcher has proven itself to be the undisputed leader of app launching widgets. This release contains both Lock Screen Widgets for iOS 16 and Watch Face Widgets for watchOS 9. One tap on a Launcher widget on the Lock Screen allow you to:

  • Contact anyone via phone calls, FaceTime, email, or message from your favorite messaging app.
  • Get directions to any location using Apple Maps, Google Maps, or Waze.
  • Run any shortcut.
  • Start playing music.
  • Launch literally any app on your phone.
  • Load your favorite websites in your chosen browser.

10 Ways Launcher Outperforms the Competition

Something about Lock Screen Widgets brought out a whole crop of new competitors to Launcher and I’ve had a bit of time this last week to check them out to see how they compare to Launcher. Now I’m certainly very biased, but I have to say that if you closely compare any of the them to Launcher you will see that Launcher is superior into them in many different ways.

Firstly, each competitor that I’ve seen so far seems to concentrate on doing one thing like contact launchers, shortcut launchers, or just launching apps, while Launcher remains the only one that does all three of these things extremely well. Please allow me to break down the many ways that Launcher is the best choice if you are interested in Lock Screen Widgets that perform any of these functions:

1. App Launchers

Launcher has had an 8 year start on most of the competing apps out there, so this comparison isn’t even close. Some of the app launching competitors claim you can “launch any app on your device”, but that is really only true for Launcher. Why is this? Because:

  • Creating an app launcher in Launcher is as easy as searching for any app on the App Store and tapping on it and saving it. The app name and icon are all included in the process. Most competitors make you upload your own app icon or choose a symbol to represent the app.
  • Launcher includes monochrome icons that look great on the Lock Screen for every built-in Apple app and dozens of popular third party apps. And if a monochrome icon isn’t included, Launcher will generate a monochrome icon for you for any app.
  • Most competitors support launching a few dozen apps at most. I didn’t see one that supported over 150. Launcher supports directly launching over 30,000 apps and that number increases daily. Launcher has a form that you can fill out to request new apps to be added and they should be added within 24 hours.
  • For apps that don’t support directly launching (which is roughly half of the apps on the App Store), the only way for a third-party app to launch another app is to launch it through Apple’s Shortcuts app. This is less convenient than launching directly, but it is a restriction that Apple places on third party apps and it is better than nothing. Launcher has shortcut launchers that can be easily imported into Shortcuts to launch every app on the App Store. It has taken several years to generate them, but we actually have over 2 million shortcut launchers available in Launcher. So when we say you can launch any app, we really mean it.
Screen recording showing scrolling through directly launchable apps in Launcher. Tens of thousands of apps are directly launchable.
This is a small fraction of the number of directly launchable apps available in Launcher

2. Contact Launchers

Launcher also has several advantages here:

  • Most competitors only support making phone calls, FaceTime, messages, and email. Launcher supports these plus many popular messaging apps like WhatsApp, Facebook Messenger, Signal, Telegram, and many popular third party email clients. No one supports the number of contact apps as Launcher.
  • Launcher supports getting directions from Apple Maps, Google Maps, and Waze. Getting driving directions to my friend’s house or my next event with one tap is my personal favorite Lock Screen launcher.
  • Launcher has a unique Multi-Contact Launcher which is just one icon that you can tap that will then allow you to choose different ways to contact that person like call them, FaceTime them, message them on your favorite app, get directions to their house, etc. With limited numbers of Lock Screen Widget slots, having one launcher to provide several different ways to contact someone is really handy. [Note that this is a Premium-only feature]

3. Shortcut Launchers

Launcher makes running shortcuts easier than any other app. Here’s how:

  • Launcher contains a shortcut that can be easily imported from its Options menu into Apple’s Shortcuts app. If you then run this “Add To Launcher” shortcut, it seemlessly allows you to import any shortcut into Launcher. This alone makes Launcher the easiest choice for running shortcuts from the Lock Screen.
  • If you import a shortcut into a Launcher Lock Screen Widget using this method, Launcher will intelligently convert the shortcuts glyph into a monochrome icon that looks great on the Lock Screen.
  • Most competitors require that you painstakingly copy the exact name of a given shortcut to set up a shortcut launcher in their app. I saw one that also had a shortcut to import a shortcut into their app, but it didn’t include the shortcut’s icon in any way, so you still have to spend time figuring out what icon you want to use to represent the imported shortcut.
Screenshot showing the Add To Launcher shortcut running and asking the user to choose which shortcut to add to Launcher
Add To Launcher shortcut makes it simple to create shortcut launchers

4. Music Launchers

Being able to tap an icon on the Lock Screen to play an Apple Music playlist, album, or artist makes it easier than ever to start your favorite music. So far I haven’t seen any other competitor with this ability.

5. Web Launchers

Most competitors will let you enter URLs for websites so that you can launch web sites easily from the Lock Screen. Only Launcher lets you choose from 6 different web browsers.

Screenshot showing the list of web browsers that Launcher supports in web launchers.

6. Watch Face Widgets

Launching apps on Apple Watch is pretty limited, but the Launcher watch app has made it simple to start phone calls, FaceTime, Messages, Maps, and Mail to specific contacts with one tap for many years. With watchOS 9, Launcher brings this ability directly to your watch face which makes it even easier to quickly contact someone or get directions.

7. More Icon Customization Options

Launcher has more ways to cutomize icons than anyone else.

  • Launcher allows you to choose any of the 3,000+ SF Symbols as icons, like everyone else, but it also includes categorization and searching of the icons which makes it much easier to choose with so many options. Launcher also allows the option to choose either a solid color icon or shaded icon on the Lock Screen. It also supports multi-color icons in its Home Screen widgets.
  • In addition to the SF Symbols, Launcher includes dozen of app-specific monochrome icons and dozens more other icons to choose from so that you can find just the right icon for your Lock Screen Widget.
  • You can import any photo from Photos or Files and use it as an icon. If importing for a Lock Screen widget, you will get the option to convert the icon into monochrome so that it looks great on the Lock Screen. You can also import vector icons in SVG or PDF format and they will be converted to monochrome icons as well.

8. Ease Of Use

Launcher’s interface has been refined and improved for over the course of 8 years. Because Launcher supports many different widget types, it might seem a bit daunting at first, but if you give it a try you will see that we have made it as easy as possible to create launchers and widgets and customize them without too many bells and whistles getting in the way.

For instance, by default Launcher doesn’t show the URLs that are used to launch apps because most people don’t care or need to know about custom URL schemes. You can configure Launcher to show and edit them, of course, but not showing them keeps the interface more user friendly for the average user while allowing power users to enable them if desired.

Many of the Lock Screen competitors made the odd choice to only support 4 different Lock Screen widgets total. This might make sense for people with only one Lock Screen configured, but iOS 16 lets you set up many different Lock Screen for different Focus modes or that you can just switch to whenever you want, and each Lock Screen can have 4 different Lock Screen Widgets. That’s why, with Launcher Premium, you can configure as many Lock Screen Widgets as you want.

9. Launcher Lock Screen Icons Look Better

The Lock Screen converts any icon into a monochrome icon that is shaded using the chosen Lock Screen color. It also saturates these icons in a way that makes them look a bit washed out. By default, only Launcher converts each icon in a way that keeps them looking great even when saturated. For fully monochrome icons there is no difference, but for color icons and photos it makes a huge difference. Check out an example to see what I mean:

Screenshot of Lock Screen widgets showing a comparison of Launcher's widgets to other app's widgets
Launcher Lock Screen Widgets don’t look washed out

10. Launcher Has More Widgets and Features

So far I’ve pointed out just how Launcher compares when it comes to Lock Screen Widgets. But Launcher is much more than that and has supported Home Screen Widgets since iOS 14 and the original Today View (Classic) Widgets since the day they came out in iOS 8. So if you like Launcher for its Lock Screen Widgets and you upgrade to Launcher Premium you also get great features for the other widget types as well!

  • Launcher can be set up to launch any app directly from the Home Screen in all of the widget sizes. It allows you to choose different size icons so that you can fit way more app icons on each Home Screen than you can normally. It varies by device size, but on bigger iPhones you can have up to 70 app launching icons on one Home Screen page compared to the normal limit of 24. On iPad you can have up to 264 icons on one Home Screen page!
  • With Launcher Premium, you can configure any new style widget (Lock Screen included) so that the icons change based on time and/or location. This means you can set up specific launchers to show at home vs. work vs. the gym. Or change your icons on the weekend or in the morning.
  • Classic Widgets that appear in the Today View support advanced features as well such as folders and dynamically updating icons that can show you the weather, world clocks, CPU and Memory usage, and more. You can set up an ETA icon that will show you the estimate time to a location and when you tap it, it will launch the chosen app to give you directions to that location.
Screenshot showing over 200 app icons on one Home Screen page using Launcher Home Screen widgets on iPad.
You can fit a crazy number of app launcher icons with Launcher Home Screen widgets


If you’ve made it this far, I can assume you can now believe me when I say that Launcher is the best app launcher on the App Store, especially when it comes to the new Lock Screen in iOS 16. If you’re still not convinced, please perform a side-by-side comparison with any other app out there and let me know if you disagree. I’m confident that’s not going to happen.


Developing a SharePlay Game

During the week of WWDC I kept wondering to myself if it would be possible to create a multiplayer game using SharePlay, aka GroupActivities. Apple advertised the upcoming feature of iOS 15 as a way to watch movies and listen to music with your friends on a FaceTime call, but after looking at the API I saw that it supports custom activities that can be used for sharing any activity you can imagine.

Like many others, I played quite a few multiplayer games over video calls with friends and family during the bulk of the pandemic when we are all desperate to connect with people that we couldn’t visit in person. I knew that, although far from a perfect substitute for in-person interactions, being able to see and talk with friends while competing in video games together was still a really fun experience. So I set out to see if it would be possible to create a fun, engaging, multiplayer game that was designed to play along with a FaceTime call once WWDC was over.

I spent the whole summer, and then even more time after SharePlay was delayed until iOS 15.1, building a prototype and slowly getting all of the pieces working reasonably well enough to prove to myself that it could be done. I released SharePlay Guessing Game on October 25, 2021, the same day that iOS 15.1 and SharePlay were released to the world.

Along the way I learned the ins and outs of the SharePlay API in a way that few others have (based on the relatively small number of SharePlay-enabled apps on the App Store) so I thought it might be interesting to share some of the things I learned about SharePlay.

What is SharePlay?

For those who may not already know, SharePlay is a new framework that Apple introduced in iOS 15.1 which allows people on a FaceTime call to watch movies or listen to music together. One person initiates the SharePlay session and everyone else on the call is invited to join. Once everyone has joined, the movie or music is automatically synced up for everyone in the session, which includes pausing and seeking the content. Since you’re on a FaceTime call you can see and hear everyone else on the call while you watch the movie or listen to the music.

If you use Apple’s built-in audio/video player in your app then implementing SharePlay is trivial. If you have a custom player, then you just have to handle callbacks for play/pause/seek in your media playing app. However, there is a third ‘custom’ mode available which has endless possibilities as it allows your app or game to share data with each other through the FaceTime connection.

This post won’t be a coding tutorial on implementing custom SharePlay experiences. Apple has a code sample and lots of documentation on this. Instead I just hope to share some interesting observations and issues that I encountered when creating my SharePlay game.

How To Share Data Between Players?

When you first dig into the SharePlay API, you will notice that there are two different ways that you can share data between the participants. How do you know which method to use?

The first way that data can be shared is through the struct (or class) that you create that implements the GroupActivity protocol. You can put anything you want in this entity and it is Codable and automatically shared among all participants, so it might be tempting to store state in it, but I recommend storing the minimum amount of data possible in it. It is better just to store mostly immutable properties that you need to start the activity on each device, such as the movie to watch or the settings for the current game. I first attempted to store game scores in it, for instance, but I found that if multiple participants are constantly updating the stored data in the GroupActivity, it will be continuously copied and sent to all participants and while it will eventually converge, there will be times where some participants have inconsistent views of the data. And you don’t want participants to all have their own unique view on the current state of the game.

The second way to share data is through peer-to-peer message passing. This is the preferred way to send data to other participants because it gives you more control over exactly what you are sending and to whom you are sending it. In my game, I use message passing for keeping all of the game state up to date: when each round is started, when a question is answered correctly, every drawing stroke, etc. The one downside to using message passing rather than sharing state in the GroupActivity entity is that the GroupActivity is stored in the SharePlay session so it persists as long as the FaceTime call is still going. So, theoretically if the game scores were stored in the GroupActivity and my game hit a bug and crashed for all participants, they could just rejoin the activity and the scores would still be there. In my case, though, my game is super casual so if the scores are lost and a new activity has to be restarted it’s not that big of a deal.

No Server Required: A Double-Edged Sword

When designing a new app, I spend an inordinate amount of time thinking about the tradeoffs of building a back-end for it. Most of the time the back-end will cost you more money as it scales. What if this freemium app takes off and the server costs bankrupt me because the business model doesn’t work? Or what if I build it on a service that goes away next year (remember Parse?) and I’m forced to reimplement the whole thing?

One of the nice things about SharePlay is that you don’t necessarily need to run a server in order to create a multiplayer game. But SharePlay being peer-to-peer presents its own complications that you should be aware of. The biggest complication is that there isn’t one arbiter of truth like you would have with a server-based game engine that keeps track of the game state, scores, etc. So you have to run the same game on all of the devices and synchronize them through message passing and shared state and make sure they all agree on what is going on.

Figuring out how to make different instances of the game all agree on the same game state and scoring was the most challenging part of making the game for me. How do you progress from one round to another for everyone at the same time? What happens if two players guess the answer at the same time? How does everyone agree on the scores? This post is intended to be an overview of SharePlay development, but if you would like to hear more details about how I solved these issues, I can go into more details in a followup post. Let me know if you would be interested in that.

Needless to say, it takes a different mindset to figure out how to coalesce a shared game state instead of having one single game state contained within a server. However, the benefit of not having to provide your own back-end in order to provide a multiplayer game or activity is a huge win.

Handling the Chaos

Another interesting aspect of the peer-to-peer nature of SharePlay is the fact that anyone on the FaceTime call can initiate or replace a shared activity at any time. And anyone can drop out or come back at any point. This adds a special kind of chaos to a multiplayer game, which I think lends itself more to a casual game than a more serious one. If you keep track of scores, but in the end they don’t really matter that much, then the stakes are much lower when some joker on your call starts sharing a new episode of Ted Lasso and your game comes to an abrupt end. Conversely, imagine what would happen if any of the 100 participants in a Fortnite Battle Royale game could just end the game for everyone playing on a whim.

All of the chaotic actions a group of people on a FaceTime call can initiate makes for lots of different strange edge cases that can be difficult to debug and subsequently reproduce. What do you do if a new player comes in half-way through? What if you have a Guess The Drawing game and the person drawing leaves before the round is over? What happens if everyone leaves the activity at the same time? The best way to cover all possibilities is to test with multiple players as much as you can, which brings me to my next topic.

SharePlay Testing is Hard

It’s never easy to test new APIs on iOS betas, but the difficulty is increased to nightmare mode when you need to have multiple people and devices all on the new half-baked iOS beta in order to test a multiplayer game. You can use iOS simulators to see how the UI functions on different devices, but since SharePlay requires an active FaceTime call, it is not possible to test everything on simulators.

Trying to test on two devices by yourself is also difficult because you have to mute and turn the volume down on all but one of the devices to avoid brain-searing audio feedback issues. Luckily my son, like all tweens his age, is borderline obsessed with video games, and so he was always up to help me test my game as long as it didn’t count against his carefully allotted screen time.

Now that iOS 15.1 has been released to the general public, you likely won’t run into the problem that I had initially. Not only did I have to find people to help me test that were on the iOS 15.1 beta, but they had to have friends who were on the iOS 15.1 beta as well. And the more people you have testing simultaneously, the more chaotic things get, which is great for testing edge cases, but is not great for being able to properly log any discovered bugs. Special shoutout to the iOS Folks Slack #sf-coffee crew who spent many evenings doing a very good job helping me break the game in so many different ways.


Hopefully this post gives you some idea of the benefits and challenges of adopting SharePlay for your app or game. Despite the limitations and difficulty in debugging and testing, overall I found the framework to be quite powerful and relatively easy to use once you understand its properties. The ability to create custom shared activities has tons of potential to open up very interesting shared interactions over FaceTime. I’m excited to see what other ideas developers come up with to utilize this new framework.

Please let me know if you would like to see more detailed posts about how I solved some of the issues mentioned in this post. Feel free to add a comment here or find me at @gregggreg2 on Twitter.

Launcher 5 now available on the App Store

Cromulent Labs is thrilled to announce that the latest major version, 5.0, of their popular Launcher app is available for immediate download on the Apple App Store. This update is our biggest update ever and brings Launcher’s powerful widgets directly to your iPhone Home Screen on iOS 14!

Launcher 5 allows you to customize your Home Screen like never before.

With just one touch you can:

  • Call, message, FaceTime, or email a contact.
  • Get directions to a location.
  • Start playing any artist, album or playlist in Apple Music.
  • Quickly access your favorite websites.
  • Launch actions within apps like Compose Tweet or Run Shortcut.
  • Turn Wifi, Bluetooth, Low Power Mode, DND, Cellular Data, and Airplane Mode on and off.
  • Launch any app on your device.

Please note that we have decided to add a new Launcher Premium in-app purchase that unlocks many of these features for new widgets to help recoup some of the development costs. You can get one large and one medium sized new iOS 14 widget for free to try them out and see if you think they are worth paying for or not. If you have previously purchased the Pro Version or Multiple Widget features in Launcher, these features are still unlocked for all classic pre-iOS 14 widgets and you will also receive a significant discount on Launcher Premium as a thank you for being a loyal Launcher customer.

Launcher Widgets also have many customization options you can’t get with normal home screen icons (some require the Launcher Premium upgrade):

  • Customize your icons and backgrounds.
  • Change icon size from tiny to huge.
  • Remove icon labels for a cleaner look.
  • Style with background colors.
  • Stack widgets for better space utilization.
  • Unlimited number of new iOS 14 widgets.

Any widget can be configured to change its icon set automatically based on day, time, and/or location! (Premium Version only)
This allows you to set up specific icons to show based on:

  • Morning, day, evening.
  • Home, work, gym.
  • Weekdays, weekends.

And Launcher 5 contains many more powerful and useful features while keeping the same user friendly widget setup. Including:

  • Existing “classic widgets” can still be used in the Notification Center.
  • Recently Launched and Most Launched widgets update automatically based on usage.
  • Launcher triggers: Get a notification to launch an app at set times or locations.
  • Great accessibility for the sight-impaired.
  • Siri Shortcut support. Run launchers with your voice.

Please download Launcher v5 today and give it a try. We think you’ll find the new iOS 14 widget on the Home Screen to be a game changer.

Launcher v4.0 now available on the App Store


Cromulent Labs is thrilled to announce that the latest major version, 4.0, of their popular Launcher app is available for immediate download on the Apple App Store. This version contains the following features:

  • Shortcut Launchers: Utilize the power of the Shortcuts app without the complication
    • Settings launchers are back. Launch the Settings app to specific screens.
    • New launchers to turn Wifi, Bluetooth, Airplane Mode, Low Battery Mode, Cellular Data, and DND on or off with one tap.
    • Launch any app on your device — no more limits.
  • Support for iOS 13. Launcher widgets will now automatically follow system light or dark mode.
  • New Jumbo Size Launchers: easier to tap when you are on the go.
  • Web Launchers can optionally be opened in Google Chrome, Firefox or DuckDuckGo.
  • Over 1000+ new glyphs in Create Your Own Icon.
  • New Option: Pin launchers to the bottom of the screen where they are easier to tap (app only).

Shortcut Launchers

As you may know, Apple places many limitations on third-party apps like Launcher, but because they own and develop the Shortcuts app, it is allowed to perform many functions that our users have been requesting over the years. However, with Shortcuts’ power comes complication as well, and setting up shortcuts is not nearly as easy as setting up new launchers in Launcher. Therefore, it made sense to add a tighter coupling between Launcher and Shortcuts to allow our users to take advantage of the power of Shortcuts without all of the complication, especially now that the Shortcuts app is built-in to iOS 13.

Settings Launchers


One of the most popular Launcher features were the Settings launchers that were added shortly after Launcher was originally released. It is cumbersome to navigate the Settings app to choose a different Wifi hotspot or connect to a new Bluetooth device, and some settings are buried deep within the app. So having one tap access to frequently used screens within the Settings app was a huge productivity boost.

Sadly, Apple made me remove the Settings launchers back in 2017 and they ended up removing the ability for third-party apps to open those screens in iOS 11. However, in iOS 13, the Shortcuts app has the ability to open the Settings app to any screen, so we have added shortcut launchers that open the most popular and useful screens within the Settings app in Launcher v4.0.

Please note that because this feature is currently approved by Apple, they will sometimes force developers to remove features they have previously approved. So I can’t guarantee that they won’t force me to remove the Settings launchers again in the future. Apple could also remove this functionality from the Shortcuts app at any time, which affect the shortcut launchers as well.

Shortcut Utility Launchers


One of the features that our users have requested the most over the years has been launchers that can toggle important system settings like Wifi, Bluetooth, Cellular Data, Low Power Mode, Airplane Mode and DND. Recently the Shortcuts app added the ability to toggle these settings, and so we have added shortcut launchers in Launcher v4.0 that can perform these functions as well. Note that the Shortcuts app will be launched in order to accomplish these functions.

Launch Any App


Due to limitations in iOS, Launcher can only launch apps using the app’s “custom URL scheme”, which is something that an app’s developer has to add to their app. For years our users have requested apps to be added and we have added tens of thousands of apps to the Launcher app database. However, not all apps have custom URL schemes, which means we haven’t been able to launch every app out there until now.

Shortcuts has the ability to launch any app on your device, so as long as Launcher can run a shortcut, you can now launch any app on your device using Launcher. You’ll see in the new Launcher app list that there is an option to search the App Store and in the list, any app that has the Shortcuts icon can now be launched with a shortcut launcher. We don’t have shortcut launchers for every app in the App Store yet, but so far we have almost 500,000 shortcut launchers and we are adding more every day. If you see an app that you want to launch that hasn’t been added yet, just tap on it and we should add it within 24 hours.


While the new shortcut launchers are much easier to set up in Launcher than setting up shortcuts in the Shortcuts app, there is some added complication in setting up shortcut launchers that cannot be avoided.

Firstly, before you create shortcut launchers, you have to enable a global setting in the Settings app to allow Shortcuts to import shortcuts from other apps. The steps required to enable this setting are listed in Launcher the first time you attempt to set up a shortcut launcher:


Once you have enabled importing of shortcuts, you will not have to do this again. However, for every shortcut launcher you add, there is a second step of importing the shortcut into the Shortcuts app. This will happen automatically when you save the shortcut launcher. Just make sure that you always tap the “Add Untrusted Shortcut” button in the Shortcuts app or the launcher will not function properly.

And lastly, every shortcut launcher will need to first open the Shortcuts app when it is launched before it can open the target app. We feel this is a minor inconvenience that is worth the functionality that it enables.


The addition of shortcut launchers adds long-requested functionality and makes Launcher once again the most useful and powerful launcher on the App Store. With multiple widgets that can show or hide based on time or location, folders, and tons of customization options including 5 different launcher sizes, the Launcher widget is a far superior way to launch shortcuts than the Shortcuts widget or any other widget on the App Store.

Please download Launcher v4.0 today and give it a try. We think you’ll find the more powerful Launcher even more useful than it already was.

Voice Copilot now available on the App Store

We are proud to announce our latest app is now available for free on the App Store for iPhone and iPad.

Voice Copilot is an app that can be used entirely with your voice to find directions to any location. It is very powerful, yet incredibly simple to use. You can search for a location and Voice Copilot will list the possible matches to you out loud and allow you to choose the one you want with your voice. You can even add a stop along the way. It will then launch your favorite mapping app with driving directions to your destination without you needing to touch or look at your phone at all.


Voice Copilot features:

  • Get directions to locations safely by using the app entirely hands-free.
  • Ability to add a stop along your route.
  • Entire app can be navigated and manipulated using just your voice.
  • Launches directions using your favorite app: Google Maps, Waze, or Apple Maps.

All functionality is available for free with some premium features available via an in-app subscription.

Voice Copilot premium features:

  • High quality speaking voices.
  • Google Maps place search and driving ETAs.
  • Remove ads.
  • Support further development.

Download Voice Copilot today and start driving more safely.

Warning: Google Ads Location Targeting Is A Dark Pattern

With Google’s ad revenue growth slowing while their traffic acquisition costs continue to increase, we see them pulling more and more dirty tricks to keep investors happy. No wonder they dropped their “Don’t Be Evil” motto years ago!

Remember when sponsored links in search used to be very clearly labeled with a different background color? Now every year like clockwork they reduce the difference between sponsored and organic results and they are now nearly indistinguishable. On mobile, where they struggle with lower CPCs, they keep increasing the number of sponsored results and they now completely fill the first two screens of even the largest phone displays.

And despite increasing antitrust investigations from both the EU and US, Google shows no signs of stopping questionable behavior as long as it results in more ad revenue.

This is a story of just another evil way that Google is trying…

View original post 1,234 more words

On Upcoming Changes in iOS 11

UPDATE Sep 13, 2017: Apple released the final version of iOS 11 to developers yesterday and I am sad to report that none of the issues in this post were fixed, so all of these problems will remain when iOS 11 is released to the public on September 19. Hopefully feedback from users will encourage them to fix some of them in future iOS 11 releases.


iOS11 is currently still in beta and it’s impossible to know what the final product will be until it is released in mid-September, but based on the most current beta, I wanted to let Launcher users know about changes that will likely come with this new version of iOS if and when you choose to upgrade to it.

Here is a quick summary of the changes coming in iOS 11 so far that will affect Launcher (I will explain them in more detail below):

  1. Settings launchers will only launch the Settings app and no longer direct you to a specific screen like Wifi or Bluetooth settings.
  2. Several Apple built-in apps can no longer be launched. That list is: Camera, Clock, Contacts, Phone (can still launch phone calls, just not the app), Stocks, Voice Memos and Weather.
  3. Tapping on a launcher to make a phone or FaceTime call now prompts the user every time to make sure that they really want to make the call.
  4. Pulling down the notification center shows the Notifications screen every time even if the last time you had it open to the Widgets screen.
  5. Apps won’t launch properly the first time they are launched from the Notification Center due to a bug in iOS 11.

I don’t expect the first two issues to change in the final version of iOS 11, but I am hopeful that there could be some change in the last three. Continue reading for more details on each change. I plan on updating this post if anything changes in upcoming versions of iOS 11.

Settings Launchers

Back in March when submitting a bug fix, Apple App Review told me that I had to remove the Settings launchers from Launcher within one week or they would remove it from the App Store. This was unfortunate since the Settings launchers are extremely useful and were one of the most popular features of the app. I’ve received countless emails from users upset about their removal, but sadly it is out of my hands.

The silver lining was that even though I had to remove the ability for users to create new Settings launchers, existing Settings launchers still continued to function properly. Unfortunately, in the latest beta version of iOS 11, the Settings launchers will only launch the Settings app and they no longer take you to a specific screen within the app. I suspect that this change was intentional and that this will be the case when iOS 11 ships in September.

Many people have asked why Apple would want to get rid of this very useful functionality. The only reason they have given me is that the URLs used to get to specific screens within the Settings app are “private APIs” and shouldn’t be used. The App Store has always banned the use of private APIs and while a URL is not technically an API, App Review claims to be enforcing this part of the App Review Guidelines [2.5.1] in this case. From what I can tell this comes down to the fact that Apple engineers don’t want to bother with publishing a public API that can be used to get into specific screens within the Settings app, like they do in macOS. They created a way to do it on iOS with URLs, but they only wanted to use these internally for themselves and didn’t want third party developers to use them. Presumably they don’t think this is functionality is worth spending the time maintaining going forward so it’s just easier for them to ban its usage.

Un-launchable Apple Apps

As they did in iOS 10, Apple has again made it not possible to launch certain built-in Apple apps via their custom URL schemes. The list of affected apps are: Camera, Clock, Contacts, Phone (can still launch phone calls, just not the app), Stocks, Voice Memos and Weather.

In iOS 10, a workaround was discovered for this change and for the last year Launcher users have been able to launch these apps. However, in iOS 11 Apple has fixed it so that the previous workaround no longer works. I don’t expect to find another workaround for this problem, so it seems that it won’t be possible to have launchers for these apps going forward.

Note that you can launch most of these apps from the new Control Center in iOS 11, so not all hope is lost. But it is a hassle when you want to launch an app and you have to remember if it can be launched from Notification Center or Control Center.

Confirmation Required on Every Phone Call

Starting in iOS 10.3, Apple added a security “feature” that required a user to confirm every phone call initiated from a third party app. Most Launcher users didn’t notice this change since they usually initiate phone calls from Launcher widgets and this new feature only affected phone calls initiated within apps. Starting in iOS 11, Apple has extended this “feature” to widgets as well.

It makes sense that Apple doesn’t want nefarious app developers tricking users into making unwanted phone calls. However, they have implemented the fix for this issue without regard to its impact on user experience at all.

Starting in iOS 10, Apple added a confirmation prompt the first time a third party app launched another app. You see these pop ups now in Launcher when you tap on a newly added app launcher that says “Open in AppName?”  They are annoying, but at least they only pop-up once and don’t show again for the launched app once you confirm by tapping the Open button.

I filed a ticket with Apple asking them to update the implementation of this new phone call security feature in a similar fashion — only prompt the user the first time they make a phone call to a specific phone number. Once a user confirms that they really want to make that phone call, then don’t prompt them again. So far Apple has ignored this request and I don’t know if they will fix it before iOS 11 is released.

I have hopes that Apple will actually make this fix more user friendly if they receive enough feedback from users complaining about its impact on user experience. So, if you are running the iOS 11 beta, please send Apple feedback in the Feedback app telling them how the implementation of this feature needs to be improved.

Notification Center Always Opens to Notifications

As you may recall, Apple changed the behavior of the Notification Center in iOS 10 to always open to the Notifications screen which means that to get to widgets you now have to swipe down and to the left every time. It had previously always opened to either the Notifications or the Widgets screen based on which was the last one open. Thankfully, Apple reverted to the older behavior in iOS 10.2 and fans of Launcher, heavy users of widgets, rejoiced.

For some reason Apple has decided to always open the Notification Center to the Notifications screen again in iOS 11. Maybe they’ll change their mind again or perhaps this time it will stick. Feel free to send Apple feedback in the Feedback app complaining about the extra required swipe to get to widgets if you are running the iOS 11 beta.

App Launches Fail the First Time

When you add a new app launcher for a third party app, iOS will pop up a dialog and confirm that you want to launch it. This dialog says “Open in AppName?” and if you tap “Open” then the app launches and the dialog doesn’t pop up again for that app. However, this behavior is broken for widgets in the Notification Center and on the Lock Screen in iOS 11 (but not in the widgets you access by swiping right from the Home Screen for some reason). When you tap “Open” in the dialog, nothing happens and that app doesn’t launch. The workaround is to launch it again from the widget and the dialog won’t pop up again and it will launch properly.

iOS 11 is easily the buggiest iOS that Apple has released in years, possibly ever. I filed 9 different bugs with Apple that affected Launcher in iOS 11 and they fixed 3 of them. Some easily reproducible crash bugs were completely ignored. Luckily I was able to work around most of the unfixed bugs in the upcoming Launcher version 3.1. However, there is a bug that I cannot work around because it occurs outside of the Launcher app and widget. I hope that Apple will fix it soon and if you send them feedback letting them know of this bug, that may encourage them to finally get around to fixing it.


So far every change in iOS 11 that affects Launcher is a negative one. In previous iOS upgrades they at least added some useful new functionality along with new restrictions, but so far I don’t know of any positive changes for Launcher in this coming iOS version. As always, the only way to avoid these negative changes is to to stay on iOS 10 as long as you can.

On Upcoming Changes in iOS 10

UPDATE October 7, 2016: We’ve discovered a workaround for the issue with the un-launchable system apps in iOS 10 and a fix is now out in Launcher v2.2.3 now. Please note that this is just a workaround, it doesn’t mean that Apple changed their mind on the issue. In fact, it is quite possible that they could release a new version of iOS 10 that breaks this workaround, so beware when upgrading iOS 10 versions. We’ll try to keep everyone up to date if we discover that a new version of iOS 10 breaks the workaround.

UPDATE September 8, 2016: Apple has released the iOS 10 final candidate and they did not restore this functionality and these system apps are still not launchable. This is disappointing, but it is still possible that Apple could restore this functionality in an update to iOS 10 in the future. If this is something you would like to see, please send them feedback. Details on how to do this are in the original post below.

The only way currently to launch these system apps is to either remain on iOS 9 or downgrade your device back to iOS 9. However, you will only be able to downgrade back to iOS 9 until September 19, 2016 or so. Here are instructions on how to do that.

As some of you may have heard, Apple has made changes in iOS 10 so that some system apps can no longer be launched from third-party apps like Launcher. Namely, the apps that were previously launchable in iOS 8 and 9 from widgets, but can no longer be launched in iOS 10 are: Settings, Clock, Weather, Contacts, iCloud Drive, Voice Memos, and the Phone app (just launching the app is affected, you can still make phone calls).

Obviously the removal of this functionality is as disappointing to me as it is to you. In particular, Settings launchers are very popular because of the tremendous utility of being able to directly open specific screens within the Settings app without the burden of navigating to them when you want to quickly toggle a setting.

Several users have asked me if this loss of functionality is going to remain in iOS 10 once it is out of beta and only Apple knows the answer to that question. There is a precedent of Apple removing functionality in iOS betas only to add it back before the final version is released. Apple removed the ability to lookup the device’s Wifi SSID in iOS 9 betas only to have the functionality restored once iOS 9 was released.

This is where I need your help. I’m not sure that Apple understands how many users are relying on this functionality, and I hope that if enough users contact them to let them know how useful it is and that they don’t want to see it removed, perhaps Apple will change their mind before iOS 10 is released in September.

If you have the iOS 10 beta installed on your device, you can send them feedback using the installed Feedback app. If you don’t have iOS 10 installed yet, you can send them feedback here. Please remember that calm, well-reasoned justifications will go much farther than yelling and screaming.

The following is a good example of the proper feedback to send. Feel free to use it as a template for forming your own feedback.

Dear Apple,

Since widgets were introduced in iOS 8, certain system apps like Settings were able to be launched via their custom URL schemes from widgets. However, this functionality has been removed in iOS 10 as the “prefs” custom URL scheme no longer works. The ability to have a button to go straight into the Bluetooth screen within the Settings app to quickly and efficiently connect devices is invaluable to me and the loss of this functionality greatly diminishes the utility of my iPhone. Therefore, I would like to ask you to either revert this change or create an alternative way to allow the Settings app to be launched from third party widgets in iOS 10.

Thank you for your consideration.

Launcher v2.0 now out

We are thrilled to announce the the next major version of Launcher is out on the App Store today. It took by far the biggest development effort so far to get this version complete and out of the door. A special thanks to all of our great beta testers for helping test all of the great, new features.

The new features in v2.0 are:

  1. Multiple Widgets! This greatly increases the number of launchers you can have in your Notification Center and helps the organization of your launchers. Each widget can be configured to show or hide based on time, day, and/or location, which is functionality never before seen in the App Store. Set up widgets for home, work, the gym, morning, weekdays, or whatever you can come up with so that you always have relevant launchers at your fingertips.
  2. iCloud backup and restore of launchers to make your life easier when you install Launcher on multiple devices or upgrade your device.
  3. More icon customization including circular icons and the ability to create your own custom icons to help personalize your launchers.



Explanation of canOpenURL changes in iOS 9

Update 12/2/2021:

As of iOS 15, LSApplicationQueriesSchemes is now limited to a maximum of 50 entries, which effectively limits using canOpenURL to only check if up to 50 total apps are installed. This was largely thought to be the limit imposed by iOS 9 which led me to writing this blog post explaining in more detail why this was not the case. Now 6 years later, the point is moot. Launcher and many other apps are suddenly less useful and the reason for enforcing this limit is still unclear. Perhaps there were some bad actors taking advantage of this and profiling users based on installed apps and instead of punishing those responsible Apple decided to just remove a very useful feature for everyone. I’m leaving this blog post up for posterity’s sake, but if you link your app against iOS 15 or higher, it is no longer helpful to understand its explanations.


Since iOS 9 has been out for almost 4 months, I realize that this post is a bit overdue, but since I still see a lot of misinformation on the subject bandied about on social media, I figure it is better late than never.

Here are some examples of misconceptions I still hear propagated by developers about the changes Apple made to the canOpenURL call in iOS 9:

“You can now only call up to 50 unique custom URL schemes in an app.”

“Apple made this change to kill app launching apps.”

In this post I will try to explain the changes made in iOS 9 that affect the canOpenURL call as clearly and concisely as I can in order to quell any remaining fear or false information out there on the subject. And then I’ll probably discuss more of the mundane details for developers out there with too much time on their hands.

Continue Reading