Speech Jammer 5.1.4 Released

Speech Jammer 5.1.4 has been reviewed and approved by Apple and is now available on the iOS App Store.

This is a maintenance update that has performance improvements and framework updates to ensure that the app continues to run smoothly. Additionally, Speech Jammer 5.1.4 adds support for Macs using Apple Silicon (M1 Base/Pro/Max/Ultra and M2 Base/Pro/Max, as of writing). Find it in the Mac App Store.

As the migration to Swift nears completion, I will begin to assess the possibility of writing a macOS version of the app to be deployed as a native app compatible with both Intel and Apple Silicon.

This update adds new enhancements and features:

  • Bug fixes and performance improvements
  • Improvements for the latest versions of iOS and iPadOS.
  • Support for macOS 11 or newer (Apple Silicon required)

Speech Jammer 5.1.2 Released

Speech Jammer 5.1.2 has been reviewed and approved by Apple and is now available on the iOS App Store.

This update adds the ability to export individual recordings off-line for sharing without uploading to the Speech Jammer Sharing Service. This was a big step for added privacy for users. Details are available below. This update also includes enhancements for the latest versions of iOS.

This update adds new enhancements and features:

  • Ability to export single recordings without uploading to the Speech Jammer Sharing Service
    • Speech Jammer has long offered the ability to share recordings by uploading your recording (encrypted during transit) to the Speech Jammer Sharing Service, which would store your recording and make it available via a generated link. This gave enhanced compatibility by making sure the recording is shared as a standards-based MP3 file and always accessible through a highly-available service.

      With this addition, users can now choose to share an individual recording without uploading it to the Speech Jammer Sharing Service. This adds an additional element of privacy for users and allows them to instantly share an Apple-codec based recording file through iMessage or any other sharing service of their choice. This will not upload any file to our servers, and will not generate any link. You can share the actual recording file.

      The Speech Jammer Sharing Service remains available as an option and the choice to share offline or through the server is up to the user.
  • Enhancements for the latest versions of iOS
  • Performance enhancements

Speech Jammer 5.1 released

Speech Jammer 5.1 has been reviewed and approved by Apple and is now available on the iOS App Store.

As mentioned earlier, this update focusses on optimizations and improvements to various areas of the app. In addition to various improvements to existing functionality, this update adds some new features.

This update adds new enhancements and features:

  • Now supported on Mac’s with Apple Silicon and macOS Big Sur
  • Added an AirPlay button to quickly switch between headphones
  • New Settings section that allows you to customize certain app behaviour
  • Added ability to adjust Bluetooth quality and profile
  • Added ability to utilize built-in device earpiece, if available
  • Added echo cancellation feature as an option
  • Added ability to adjust gain/volume
  • Added ability to disable the delay completely

This update also:

  • Fixed an issue that caused the recording upload progress bar and percentage indicator to remain stuck at 0% until the upload finished
  • Improved the display of progress when archiving recordings
  • Improved reliability of the audio system
  • Optimized many parts of the app, which will result in a much smoother experience. This is an ongoing effort.
  • Improved support request system, including a much cleaner design
  • Fixed an issue that could cause recordings with a large file size (e.g. long recordings) to fail when sharing individually
  • Fixed an issue that caused the Name and Email fields to appear empty when submitting a support request
  • Fixed some design issues with the FAQ system
  • Fixed an issue that could cause shared recordings to continue playing, even when you close the recording window
  • Improvements to localization
  • Cleaned up unused code

Speech Jammer Server Maintenance (1:20AM)

Update as of August 1st 2020 at 1:57AM Eastern
Thanks for your patience. This maintenance is complete and all services should be operational once again. Stay tuned for upcoming app updates very soon! Stay safe!

The shared recordings server is currently undergoing maintenance to resolve a server-side issue. During this time, some server-based functionality of the app will be unavailable (e.g. individual recording sharing).

This is to resolve a minor backend issue with recording file handling. The server is transferring files successfully and sharing properly with an encrypted connection; however, some recordings were being queued indefinitely at the first server that was chosen for the upload. This does not result in any user facing problems, but means that data is being unnecessarily duplicated. There is no security or privacy concern as the whole process is encrypted and files queued for sharing at the first server are never facing the public internet.

I would just like to fix the issue as I prepare for some big upcoming changes.

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.

Speech Jammer 5.0.1 released

Speech Jammer 5.0.1 has been reviewed and approved by Apple and is now available on the iOS App Store.

This update builds upon the improvements in Speech Jammer 5.0 and brings big improvements to Bluetooth headphone support and quality, along with various bug fixes. Specifically, Speech Jammer 5.0.1 has the following features:

  • Fixed a crash that would occur if the device had an active phone call (including FaceTime or VoIP). Added a warning in these situations to let the user know that they need to hang up.
  • Speech Jammer will now default to the devices speaker rather than receiver if no headphones are connected
  • Greatly increased Bluetooth audio quality
  • Improved Bluetooth headphone compatibility
  • Increased audio volume (should help in some scenarios)
  • Fixed an issue that caused recordings to fail to export (archive) properly in some cases. Recording archiving should now be extremely reliable.

Speech Jammer 5.0 released

Speech Jammer 5.0 has been reviewed and approved by Apple and is now available on the iOS App Store.

This update contains an all-new audio engine that should result in an all around better experience that is more stable. This also brings much anticipated new features like better Bluetooth headphone support, and multitasking! Speech Jammer 5.1 will be launching shortly with a revamped iPad app!

Feature list for Speech Jammer 5.0

Introducing an all-new modern audio engine:

  • This should result in a much more stable experience.
  • Full Bluetooth headphone support is here! AirPods, and other Bluetooth headphone users rejoice!
  • Bluetooth headphones can now be used without needing to manually enable Bluetooth support
  • Swap between headphones without needing to restart the app

Multitasking support has arrived!

  • You can now close Speech Jammer and continue to experience the Speech Jammer effect while using other apps on your device!

Export all recordings at once, while offline

  • Recordings can now be exported into an archive for easier sharing or backup of multiple recordings at once. You no longer need to share each recording individually. Recordings are converted to m4a and zipped up.
  • Archived recording sharing can now be done while offline (e.g. AirDrop a zipped package of all your recordings, or share to another app)

Various improvements

  • Delay can now be increased to a higher amount than before
  • Delay setting is now saved between app launches and doesn’t need to be set each time you use the app
  • Updated all frameworks in the app to modern versions
  • Changed the name from the ambiguous “Jammer” to “Speech Jammer” in various areas of iOS to avoid confusion
  • Haptic feedback (where available) is now used in the app for an improved user experience
  • Improved design and user interface (including on larger-screen devices)
  • Updated FAQ system that is easier to maintain, which means it’ll be updated more frequently with relevant tips and answers to common questions
  • Improvements to VoiceOver support
  • Updated to support the latest iOS improvements
  • Fixed an issue that prevented the copying of a link to a shared recording
  • Fixed an issue that prevented shared recording links from properly sending to a selected app or destination
  • Fixed an issue that allowed recording playback while Speech Jammer was active when accessing recordings from the Home Screen quick actions
  • Various bug fixes and performance improvements
  • Phone calls and FaceTime calls will still temporarily interrupt Speech Jammer; however, Speech Jammer will be able to automatically resume after the call ends
  • Localization improvements (fixed some English words appearing in other languages)

Speech Jammer 4.1.2 Released

Speech Jammer 4.1.2 has been reviewed and approved by Apple and is now available on the iOS App Store.

This is a very minor update that focuses on reliability improvements and UI improvements. I have exciting things planned in the new year and can’t wait to share the overhauled app with you all. For now, Speech Jammer has been updated to support the newest iPhone and creates uniformity of the UI.

This update:

  • Adds support for the iPhone XS Max
  • Updated the UI on the shared recordings pages to now share the same overall look and feel of the new UX introduced in Speech Jammer 4.0
  • Updates frameworks
  • Addresses minor issues

This update was not phased and is available to all users immediately. Users with automatic updates should see the update happen within the next 24 hours.

Side note
Speech Jammer 4.1.1 was released on December 13th 2018. It included minor changes to frameworks and other UI enhancements. To the end user, these changes were minimal and unimportant and therefore does not have an announcement on the blog.

Speech Jammer 4.1 released

Speech Jammer 4.1 has been reviewed and approved by Apple and is now available on the iOS App Store.

This update to Speech Jammer focuses on stability and usability improvements rather than introducing new features. It includes some fixes to recording sharing, some improvements to the initial starting delay, improvements to AirPods compatibility, and updates core SDK’s that the app relies on.

This update:

  • Fixes an issue that could cause the upload to fail (but appear to succeed) when sharing a recording. Recordings of any size should now share properly once again!
  • Reduced the default/initial delay time to help have a larger impact and crank up the fun 100% (that number was arbitrarily made up, but I’ll bet it is somewhat accurate)
  • Improvements to AirPods compatibility and improves compatibility with other Bluetooth headphones. More enhancements coming soon!
  • Updated core SDK’s to improve reliability, stability, and performance

This update was set as a phased release and will release to users in phases over 1 week. You can force the update by opening the App Store and manually updating Speech Jammer.