Widgets – Version 2.1 Update

Widgets App Icon – Fiery ThumbnailThis update is a milestone. Widgets is now in 2.x territory. That means the app is becoming more refined. Major issues are being resolved. Looking back, Apple’s been a big part of that success. Their tech support has been legendary. I rejoined the Apple Developer Program last May. Since then, Apple resolved four of my technical issues. Looking at my “App Development” folder in Thunderbird (my email client), there are 48 messages from “Apple Developer Technical Support” just this year.

These were the four issues…

  1. How to allow file downloads from a WKWebView? – Not too long ago, I was thinking about making “A Book About Hype 4” an app. That idea required the ability to download files. Local file downloads from a WKWebView was also an issue with Wrapping. But once I learned about the cancelation of Dashboard, my attention quickly moved towards the creation of the Widgets app. While “A Book About Hype” is likely to be a printed publication, and I’m not sure if Wrapping will return, the lessons learned here made the Widgets app much stronger.
  2. Blank Contact Info Causes Failure In Fetching Contact Data – This issue was a glaring oversight on my part. The Widgets app was working, but the iOS version (Apparatuses) was not. I looked and looked at the code, but I couldn’t figure out the problem. The Apple agent solved the problem without even looking at the code. I forgot to add the CNContactOrganizationNameKey property key. This happened back in September. The issue were mounting and I was getting tired.
  3. Can WKWebView and MPMusicPlayerController work together? – This was another WKWebView issue. The idea was to create a music player, but I wasn’t sure if it was possible. The source of the confusion was knowing which library to use. After a lot discussion, the “Audio Player” widget was created with AVFoundation / AVPlayer and WKWebView. Being able to build a bridge between Swift and WKWebView was a huge boon for developing the Widgets app.
  4. F12 Key as Hide/Unhide Toggle Key — That brings us up to now. One of the things I liked the most about Dashboard was the ability to display a ton of information at the press of a button. Unfortunately, I didn’t have a clue on how to add that functionality to the app. That’s because the solution requires the Carbon framework. While I was initially frustrated with this matter, Apple did not give up.

That’s the key to working with Apple Developer Technical Support. They won’t simply just give you code to solve the problem. There are certain limitations to the support they provide, but they are certainly helpful. The trick is to be prepared to learn. They’re very dedicated if you work with them.

The reason these four support incidents have happy outcomes is also because I didn’t give up either. But wow, I was so close. Fortunately, I was able to revisit the “F12” matter with a clear head. That’s important! A lesson learned was to work on one technical issue at a time. I had as many as three support issues opened at once. That can make it difficult to truly focus on the problem.

Meanwhile, I’ve been monitoring feedback regarding the Widgets app. Having a quick toggle was a popular feature request, but it wasn’t the only popular request. Having the ability to rearrange the order of the widgets was another big request.

Version 2.1 adds that feature. 😁

If you are diligently tracking the version numbering of the Widgets app, you might be wondering what happened to 1.9 or 2.0? Well, there were some issues with this big update. Fortunately, I caught them before the update launched. In 1.9, the size of the settings panel would too small if all of the settings boxes were hidden. In 2.0, the F12 toggle would break if you tapped too quickly.

And if you’re wondering… What are hidden settings boxes? …the settings panel was updated too. Instead of having to scroll and scroll to find the widget setting that you’re looking for, there’s simply a list of widget names. By clicking the widget title, the related widget settings can be shown or hidden. That keeps things neat. It’s a good idea, since the plan is to add more widgets.

A lot of thought was put into how the widgets should be ordered. How should the interface work? Drag-and-drop seemed like a possibility, until it became apparent that method would be awkward on mobile. Instead, a clean list makes it easy. The method added to the Widgets app works on macOS and iOS.

It may seem odd to design a desktop app based on mobile app requirements – especially for one that isn’t even available yet. However, Apparatuses is almost ready to launch. The app is only delayed because of an iPadOS bug. But looking back, I’ve learned to be patient with Apple. They are professional and they genuinely seem interested in doing the right thing.

Hopefully you see those same traits in the way I manage the Widgets app. 😇