Looking forward

What’s he looking at, anyway?

Fresh off the heels of the WWDC20 Keynote, I figured it’d be a good opportunity to provide a little bit of an update on some of the apps I currently maintain. I’ve already made a commitment earlier this year to focus on modernizing my apps codebase.

Considering the huge announcement that Apple let loose regarding the shift to Apple-based SoC’s for Mac (and the move away from the macOS/OS X 10.x naming scheme), I wanted to provide a little insight into my current plans for existing apps (which is a relatively big undertaking, albeit not as big as the one Apple has planned for their Mac lineup!)

You can skip all the details and see an overview of the plans
Click the link above for a brief rundown on the plans for the apps

Speech Jammer
Speech Jammer 5.0 was released earlier this year after quite a bit of testing and development. It utilizes an entirely new audio engine and added a few big features to help make sharing easier. However, the focus of Speech Jammer 5.0 was modernization. For example, 5.0 moved the app to a more modern core that allows the app to utilize proper multi-tasking support. This means that users can now leave the app and continue to experience the app, even with it closed.

Speech Jammer 5.0 was just the beginning. Although there were many optimizations and many new features added in 5.0, my plan for Speech Jammer 5.x is to re-write many parts of the app for efficiency and to make sure that it’s ready for the future. The primary goal here is to move Speech Jammer entirely to Swift. Essentially, 5.x is a period of refinement.

The real work that went into Speech Jammer 5.1 is under the hood. While some components of Speech Jammer were written, or re-written at some point in Swift (namely the tongue twister feature, the FAQ system, the support system, and shared link feature), most components are still based in Objective-C. This isn’t inherently a bad thing at all, but the codebase is getting a little long in the tooth and could use some cleanup beside an overhaul, and this is a perfect opportunity to move Speech Jammer onto a modern programming language and have it better aimed for the future.

Speech Jammer 5.1 and the move to Swift
Speech Jammer 5.1 is scheduled to be released very shortly some new features and reliability improvements. Notably, it adds a new options system that allows customization of many features of the app. It also allows users to use the microphone on their Bluetooth headphones (or, using the new options system, use their devices microphone for the highest quality audio). There are a lot of other options and feature requests that were implemented in this upcoming update, but we’ll discuss that in the update blog post when it’s released.

Speech Jammer 5.1 brings most parts of the app completely into the Swift world. The recordings service, sharing service, archiving service, and file management service have all been completely re-written in Swift (including the UI controller). This also brings some major efficiency improvements that can be felt throughout the app.

Speech Jammer 5.2 and beyond
Speech Jammer 5.1 should be released shortly, and it brings with it a new deployment target of iOS 10 or later. It is almost entirely written in Swift (sub the main core), and lays the groundwork for the future. Speech Jammer 5.2 is also under development for release later this year, which will (hopefully) have the entire app completely moved over to Swift with a new codebase. Of course, there will be new features available with it, but the focus of this post is to provide a little bit of an update on the big transition I’ve been working on.

By moving to Swift, I can make sure that the app is ready for the future. This means I can quickly implement new features in new versions of iOS, and make sure that the app is using the fastest possible libraries.

New Start Usage Meter icon for macOS

Start Usage Meter
Usage Meter for the greatest ISP ever
Start Usage Meter is another project that I’ve wanted to focus a lot of my efforts on. I’ll have some more updates on it shortly; however, I’m pretty happy with where it is right now. Version 2.5.7 will be released within a few weeks containing some very minor tweaks and enhancements.

There are a lot of pieces of Start Usage Meter that use outdated or deprecated practices. For example, it doesn’t use base localization, it uses some heavier API’s, and doesn’t have a single line written in Swift. These decisions were all intentional in an effort to offer full support going back to OS X Lion. It still provides a really modern app experience on the latest operating systems, but will still run on OS X 10.7. I would still like to move it onto a more modern codebase (written in Swift) and update it, and am currently deciding the best approach. Any changes to the deprecated practices I’m currently using, will likely mean a deployment target of OS X 10.8 Mountain Lion or later.

Moving Start Usage Meter forward
My current plan is to test, release, and sit on Start Usage Meter 2.5.7 to make sure it is running smoothly and without issue. At some point after its release, I am going to stamp Start Usage Meter 2.5.7 with the “battle-tested” sticker and fork it, effectively creating two separate app builds. At that time, Start Usage Meter 2.6 will be born and will be a more modern version without support for the oldest versions of macOS. It will gain all the new features which, if possible, will be ported back to the 2.5.7 version and made available through my website for those on older versions of OS X. Otherwise, 2.5.7 will receive bug fix build updates only.

I don’t have a date in mind for this yet; however, I did want to make it clear that 2.5.7 will still be available through my website as a signed, sandboxed, and notarized app. It will receive updates alongside the new versions (which may contain new features, or just back ported bug fixes). Version 2.6 and later will still be distributed through the Mac App Store and will be the best experience you can receive, so if you can run it, stay on that build path. Start Usage Meter 2.6 will also support Apple Silicon-based Mac’s natively and will also support macOS Big Sur along with the UI improvements that come with it.

Summary of plans

Speech Jammer

  • 5.x has a goal of refinement and improvements. Building a stronger codebase for the future
  • 5.1 will be released and will have transitioned most of the app to Swift
  • 5.2 will have the entire app using Swift and modern API’s
  • 5.1 and later will require iOS 10 or later (this is potentially a moving target)
  • I plan to support the app on Apple Silicon-based Mac’s
  • The goal of Speech Jammer 5.x has always been to modernize the codebase, and that work will continue through the 5.x release cycle.
New Start Usage Meter icon for macOS

Start Usage Meter

  • Start Usage Meter 2.5.7 to be released shortly with tweaks and enhancements
  • Start Usage Meter 2.5.7 (after extended testing) will branch off into a separate release cycle with support going back to OS X 10.7 Lion
  • Start Usage Meter 2.6 will be created and updated through the Mac App Store for more modern versions of macOS
  • Mac App Store version will support Apple Silicon-based Mac’s natively and macOS Big Sur UI changes
  • 2.5.7 will receive back-ported improvements and will be distributed as a signed, notarized app on my website for versions of macOS going back to OS X 10.7 Lion.

Start Usage Meter 2.5.6 Released

New Start Usage Meter icon for macOS

Start Usage Meter 2.5.6 has been reviewed and approved by Apple and is now available on the Mac App Store.

This update includes improvements to the user interface. Specifically, this update:

  • Contains improvements to the Daily Usage window user interface. This includes (but is not limited to) correcting UI glitches that result in some rows appearing bold when they should not and improving spacing for better readability.
  • Added information text to provide clarity about the highlighted row on the Daily Usage window.
  • The Daily Usage window will now use the operating system’s default system font.

I hope everyone is staying safe during these trying times.

This update remains compatible with all releases of OS X from OS X Lion to macOS Catalina as of writing. I will always work to maintain compatibility with older versions of OS X for as long as I can; however, the best Start Usage Meter experience is on the latest version of macOS.

Start Usage Meter 2.5.5 Released

New Start Usage Meter icon for macOS

Start Usage Meter 2.5.5 has been reviewed and approved by Apple and is now available on the Mac App Store.

This update focuses on design and UI improvements. The update also changes default behaviour by modifying default settings. This update:

  • Adjusts the default update interval to every 2 hours. This will not impact users who have explicitly selected a different update interval, and updating every hour remains a selectable option; however, 2 hours is now the default.
    • This change was made to lessen the amount of times the app calls out to the Start.ca server while still providing meaningful updates. Two hours adds one additional hour to the previous update time, but it will also provide a larger glimpse of changes to data usage throughout the day.
  • Changes all menu dropdown display options to active by default to provide the most information possible. Previously, only the Downloaded (Quota/Grace) data was visible in the drop-down menu by default.
    • This change was made to provide more meaningful information at a quick glance and gives better visibility to these options for new users who may not have been aware of their availability. This should not impact users who have explicitly disabled menu dropdown options, and users may return to the previous behaviour by opening the Preferences window and deselecting desired display options.
  • New icon to match the new design patterns in the latest macOS release.
  • UI tweaks to improve clarity
  • Now built using the latest macOS Catalina technology.

If you have any questions or suggestions relating to these changes, feel free to email me at dwight@dwightd.com. All default behaviour changes that were made in Start Usage Meter 2.5.5 are reversible through the preferences window, and any explicitly set preferences prior to the update will be retained.

Start Usage Meter 2.5.4 released (merged with 2.5.3 announcement)

Start Usage Meter 2.5.4 has been reviewed and approved by Apple and is now available on the Mac App Store.

Start Usage Meter 2.5.3 was re-released as 2.5.4 with a fix for an issue that may cause the app to continue to display 0MB while loading data, instead of the cleaner Start.ca text.

This update focusses on improvements to the menu bar and other UI elements of the app while data is being retrieved from the Start.ca server. It also contains bug fixes for rare cases where the next update time may be incorrect. Specifically, this update:

  • Improved the initial launch experience by preventing the menu bar from rapidly displaying 0MB momentarily while actual usage data is retrieved from Start.ca servers
  • Improved the menu bar experience while switching connections or updating the current connection usage data. The menu bar will now momentarily show Start.ca, instead of previous usage data. This improvement should make it much easier to see when Start Usage Meter is actively updating usage data information.
  • Fixed an issue that could cause the next scheduled update time to be displayed incorrectly when changing the update interval while multiple keys are present
  • Improved initial setup handling and app behaviour when all keys are removed (the app should no longer display an error before you hit “Save and Check Usage.” This process is now automated)
  • Fixed an issue that caused the currently selected key text field in preferences to become empty after removing a key (even if another key is available to use)
  • Improvements to the user experience when removing keys to make sure old data is not presented to the user when it is no longer relevant after a key has been removed
  • Various improvements to efficiency, particularly with the initial app launch. The app has been streamlined to prevent unnecessary duplicate requests, which should result in a ‘snappier’ app experience
  • UI improvements and optimization to handling of multiple keys

macOS Compatibility Report
To provide a quick update on my commitment to supporting as many macOS versions as possible, Start Usage Meter 2.5.4 supports versions of OS X dating back to OS X 10.7 Lion up to macOS 10.15 Catalina.

Start Usage Meter 2.5.2 released

Start Usage Meter 2.5.2 has been reviewed and approved by Apple and is now available on the Mac App Store.

This update focuses on UI improvements throughout the app. Specifically, this update includes:

UI Improvements to the Daily Usage Window
UI Improvements to the Daily Usage window
  • UI Improvements to the daily usage window (cleaned up the layout)
  • Updates to the daily usage window which now highlights the current day in a light green colour to make it easier to get a quick glance of todays usage
  • Various improvements to performance and reliability
  • Improvements to clarity of informational text throughout the app
  • UI Improvements on the detailed usage window, particularly when the app is on top of a bright window in the background

macOS Compatibility Report
To provide a quick update on my commitment to supporting as many macOS versions as possible, Start Usage Meter 2.5.2 supports versions of OS X dating back to OS X 10.7 Lion up to macOS 10.14 Mojave.

Start Usage Meter 2.5.1 released

Start Usage Meter 2.5.1 has been reviewed and approved by Apple and is now available on the Mac App Store.

This update focuses on minor UI improvements, compatibility with older versions of macOS, and adds some clarifying warning messages to the app. This version is available for and compatible with OS X 10.7 Lion through macOS 10.14 Mojave, continuing my commitment to making sure the app works with as many versions of macOS as possible.

This update:

  • Addresses an issue which could cause the Daily Usage window to display a dark-mode background on macOS 10.13 High Sierra and earlier
  • Added a new warning on the Daily Usage window to warn when the user is not using a compatible connection and the app cannot retrieve usage details
  • Made some minor tweaks to improve compatibility across all versions of macOS

Start Usage Meter 2.5 released

Introducing Dark Mode in Start Usage Meter 2.5 on macOS Mojave

Start Usage Meter 2.5 has been reviewed and approved by Apple and is now available on the Mac App Store.

This update adds compatibility with macOS Mojave’s Dark Mode and focuses on minor usability improvements, as well as fixing an issue that caused an informational message to be inadvertently displayed numerous times on the daily usage window (in some cases). The app now knows you don’t need the same information 3+ times.

Sorry for the delay in getting this update out (just over 2 weeks after macOS Mojave was released. It should have been earlier, and I know better from now on 😀). This update required some refactoring in order to support Dark Mode and be more context-aware for future macOS enhancements that are inevitably going to arrive. Some more details about the UI enhancements in Start Usage Meter 2.5:

About Dark Mode
macOS Mojave introduces Dark Mode for the Mac, which provides a darker appearance for UI items. Start Usage Meter 2.5 introduces support for Dark Mode across the app (including the daily usage window). There’s nothing you need to do, since Start Usage Meter will detect whether Dark Mode is enabled, and automatically show the darker interface.

About the usability improvement
As mentioned, this update includes usability improvements. This primarily surrounds the ability to identify which connection you currently have selected at a quick glance, without leaving the window you’re on. For example, the Usage Details window now displays the currently selected network on the titlebar of the window. You no longer need to click the submenu on the macOS menu bar and scroll through the list to identify your currently selected network.

It seems like a small change; however, this makes sure that the app gives you all the information you need at a quick glance, without needing to tediously click through menus to get the critical information you need.

OS Support Details
Keeping up with my goal of making sure Start Usage Meter supports all versions of macOS (ahem. OS X) going back to OS X 10.7 Lion, Start Usage Meter 2.5 also supports all versions of Mac OS X back to OS X Lion. As long as nothing forces me to increase my deployment target (i.e. Xcode requires all new builds with a new API to target OS X 10.8 or higher), I will continue to build in legacy support in the app as long as it doesn’t hinder the experience on newer versions of macOS. As always, the latest version of macOS runs Start Usage Meter the best.

Start Usage Meter 2.4.4 released

Start Usage Meter 2.4.4 has been reviewed and approved by Apple and is now available on the Mac App Store.

As previously discussed, this update addresses a few minor issues that affected users on versions of OS X older than macOS 10.12. The app has been slightly overhauled to improve compatibility with OS X versions dating back to OS X 10.7 Lion. The only feature limited to OS X 10.8 Mountain Lion and later is notifications (since OS X Lion does not have a notification API).

Please note that the best experience with Start Usage Meter is always on the latest version of macOS, although I do my best to support as far back as I can. I have no immediate plans to discontinue support for OS X Lion users, since I know there are still users with machines that cannot progress past it. As long as I still have the tools (i.e. Xcode doesn’t impose a minimum target greater than OS X 10.7), I will continue to target OS X Lion and later.

I appreciate your patience while I repaired the issues aforementioned. I have a few exciting enhancements planned for future updates and will preview them shortly. Even if you’re on a newer version of macOS, you should still update to Start Usage Meter 2.4.4.

Start Usage Meter 2.4.3 Released

Start Usage Meter 2.4.3 has been approved by Apple and is now available on the Mac App Store.

Some changes were required since the deployment of a brand new Start.ca website (that looks fantastic!) which was incompatible with previous versions of Start Usage Meter. Most of the issues were corrected with a server-side adjustment, but there are some client fixes required.

This update:

  • Addresses several issues that were introduced due to the last update to the Start.ca website including:
    • Fixed an issue that caused usage data to fail to load after the latest Start.ca website update which could cause an error to display indefinitely
    • Fixed an issue that prevented a users usage key from being populated automatically after the latest Start.ca website update
    • Improved the crash resistance throughout the app to prevent future changes like this from causing the app to crash
    • Completely revamped daily usage window to address crashing and prevent future changes from causing the app to terminate
    • This update also has the benefit of increasing performance and reliability in the daily usage window, so I’m going to go ahead and take credit for that too.

Although the website has since been slightly modified to address some of the issues users on Start Usage Meter were experiencing and usage will now display properly on 2.4.2 and earlier, there will still be some crashing issues on the daily usage window that requires 2.4.3 to be fixed.

Additionally, there is a known issue on OS X Lion that is causing the date selector on the daily usage window to stop functioning. This has already been addressed in the latest 2.4.4 beta and will be released to the App Store sometime next month. This issue is due to a missing API on OS X Lion and does not affect OS X El Capitan or later. 2.4.4 will bring a fix for users on older operating systems.

As always, thanks for continuing to support the usage meter. I love seeing the emails of happy users.