Red Sweater Blog https://red-sweater.com/blog Official blog of Red Sweater Software Fri, 14 Feb 2020 20:56:06 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.2 Protecting Your Privacy with Metadata Removal https://red-sweater.com/blog/3551/protecting-your-privacy-with-metadata-removal https://red-sweater.com/blog/3551/protecting-your-privacy-with-metadata-removal#respond Fri, 14 Feb 2020 20:36:15 +0000 https://red-sweater.com/blog/?p=3551 These days people are increasingly aware of the impact that publishing information on the web has on our privacy as individuals. Each of us has our own personal comfort level with respect to the amount of information we share. In particular, as bloggers we choose to share or withhold details including our real names, gender, […]

The post Protecting Your Privacy with Metadata Removal appeared first on Red Sweater Blog.

]]>
These days people are increasingly aware of the impact that publishing information on the web has on our privacy as individuals. Each of us has our own personal comfort level with respect to the amount of information we share. In particular, as bloggers we choose to share or withhold details including our real names, gender, geographic location, political affiliation, family members, and perhaps most significantly, photographs of ourselves, our family members, and our surroundings.

If you choose to publish photos in your blog posts, it’s important to understand that image metadata may reveal more to your blog’s readers than you necessarily intended. For example, many bloggers are comfortable sharing a photo of their child playing in the grass in their backyard. Or a delicious latte from the cafe they stop at on the way to work. It’s not as if it literally show the address where these photos were taken. Yet when GPS metadata is present on photos it effectively does exactly that.

For example, here’s a delicious tofu banh-mi sandwich I once enjoyed:

Picture of a banh mi sandwich

Nothing obviously identifies the location where this picture was taken, yet it’s loaded with extremely detailed geographic information. If you’re curious, go ahead and right-click the image above, save it to your Mac, and open it in Preview. If you then select Tools -> Show Inspector, you’ll see a ton of additional information about the image:

Screenshot of Info panel for image showing a map of Paris

That’s right! If I had published a blog post with that photo shortly after enjoying the sandwich, somebody might have been able to catch up with me in Paris and introduce themselves! It might have been a friendly encounter, or it might have been … kind of creepy.

So, what can you do about this? You could turn off GPS features of your camera and/or phone, but the truth is it’s really handy to be able to look up the location of photos from our personal libraries. Alternatively you could use software such as Flying Meat’s Retrobatch, which includes a preset template called “Social Scrub” specifically for removing metadata from images.

But if you’re a blogger, and you use MarsEdit to publish your posts, it couldn’t be easier. In fact, MarsEdit includes an option to strip location and other metadata from images automatically, whenever you upload an image to your blog:

Screenshot of MarsEdit image media defaults including an option to remove metadata

Better yet? This option is enabled by default. So download MarsEdit today, start publishing images to your blog, and rest assured that unless you choose to share your location, you never will.

The post Protecting Your Privacy with Metadata Removal appeared first on Red Sweater Blog.

]]>
https://red-sweater.com/blog/3551/protecting-your-privacy-with-metadata-removal/feed 0
FastScripts 2.8.1: Bug Fixes & Performance https://red-sweater.com/blog/3545/fastscripts-2-8-1-bug-fixes-performance Thu, 23 Jan 2020 20:46:15 +0000 https://red-sweater.com/blog/?p=3545 FastScripts 2.8.1 is now available on the FastScripts site and on the Mac App Store. This update consists of minor bug fixes and performance improvements: The keyboard shortcut for opening the FastScripts menu can now be set to “None” Fix a bug that allowed the Preferences window to be resized too small to show the […]

The post FastScripts 2.8.1: Bug Fixes & Performance appeared first on Red Sweater Blog.

]]>
FastScripts 2.8.1 is now available on the FastScripts site and on the Mac App Store.

This update consists of minor bug fixes and performance improvements:

  • The keyboard shortcut for opening the FastScripts menu can now be set to “None”
  • Fix a bug that allowed the Preferences window to be resized too small to show the contents
  • Fix an issue that could impede scripts being run in quick succession with keyboard shortcuts
  • Fix an issue where the color chooser panel could be lost in the background if switching out of FastScripts while the Prefrences window is active
  • FastScript’s AppleScript interface now supports a “location” property on script library references, so you can obtain the file path to any node in its script hierarchy

If you enjoy FastScripts, please consider writing a review or rating the app on the Mac App Store, spreading the word on Facebook or Twitter! Thanks for your support.

The post FastScripts 2.8.1: Bug Fixes & Performance appeared first on Red Sweater Blog.

]]>
MarsEdit 4.3.6: Phasing Out Blogger.com Support https://red-sweater.com/blog/3540/phasing-out-blogger Fri, 17 Jan 2020 20:03:26 +0000 https://red-sweater.com/blog/?p=3540 MarsEdit 4.3.6 is now available on the MarsEdit home page. It was submitted to the Mac App Store but has not yet been approved. With this release, I’m officially dropping support for Blogger.com. Existing configurations may continue to work, but attempts to authorize new connections will fail. This is because Google no longer supports the […]

The post MarsEdit 4.3.6: Phasing Out Blogger.com Support appeared first on Red Sweater Blog.

]]>
MarsEdit 4.3.6 is now available on the MarsEdit home page. It was submitted to the Mac App Store but has not yet been approved.

With this release, I’m officially dropping support for Blogger.com. Existing configurations may continue to work, but attempts to authorize new connections will fail. This is because Google no longer supports the authorization mechanism that MarsEdit uses. You can read more about the changes at Google that prompted this change in the Blogger page on Red Sweater Help.

For the adventurous existing customers who already have a Blogger configuration in MarsEdit, I’m offering advice for migrating existing authorizations from one Mac to another. This should be considered a stop-gap solution at best.

Dropping Blogger.com support is bittersweet for me. After I acquired MarsEdit in 2007, adding support for Blogger.com was one of the very first tasks I took on. I continue to host my own personal blog on the service. But over the years it has frankly been more of a headache to support than I wish it was, but I continued to put the work in because I both hoped Google would eventually put more effort into supporting the system, and because I knew I had a ton of passionate users who are still using the site. Unfortunately, I don’t think the prospects are good for the future of the service, and the hurdles Google has put up make it untenable for me to continue this effort.

On the bright side, this update also includes a number of bug fixes and enhancements. Here’s the complete list of changes in this update:

  • Adapt to changes in Blogger.com that require MarsEdit to drop support for the service
  • Images can now be pasted directly into the Featured Image field
  • Changes to default media size constraints no longer requires typing the “pt” units after the numeric value
  • Fix a bug that caused post editor’s sidebar width to change to match the preview template editor’s width
  • Fix a bug that could cause autoresizing text fields to not grow or shrink to match text
  • Fix a crash that could occur if a blog is deleted while it still has active network operations running

If you enjoy MarsEdit, please consider writing a review or rating the app on the Mac App Store, spreading the word on Facebook or Twitter, and of course, writing about the app on your own blog! Thanks for your support.

The post MarsEdit 4.3.6: Phasing Out Blogger.com Support appeared first on Red Sweater Blog.

]]>
Black Ink 2.0.2: Bug Fixes and Accessibility Improvement https://red-sweater.com/blog/3537/black-ink-2-0-2-bug-fixes-and-accessibility-improvement Tue, 07 Jan 2020 15:09:50 +0000 https://red-sweater.com/blog/?p=3537 Black Ink 2.0.2 is now available on the Black Ink home page and from the Mac App Store. This update is a follow-up release to Black Ink 2.0, including a number of fixes to bugs that have been reported since that release. Black Ink 2.0.1 was a Mac App Store-only release to address a problem […]

The post Black Ink 2.0.2: Bug Fixes and Accessibility Improvement appeared first on Red Sweater Blog.

]]>
Black Ink 2.0.2 is now available on the Black Ink home page and from the Mac App Store.

This update is a follow-up release to Black Ink 2.0, including a number of fixes to bugs that have been reported since that release. Black Ink 2.0.1 was a Mac App Store-only release to address a problem with in-app purchases.

One notable improvement on the accessibility front, is this release includes a change to fix the behavior of “Speak Items Under Pointer,” a feature that announces items as you move the mouse cursor around. Previously this feature only announced across words, but it will now announce either across or down words, depending on the whether the current focus is on an across or down word.

Here’s the complete list of changes:

  • Accessibility
    • Improve “Speak items under the pointer” to speak the right clue for across or down depending on current focus
  • Bug Fixes
    • Fixed an issue that caused downloads of older WSJ puzzles to fail
    • Fixed a bug that caused the puzzle window to drift off screen when making it larger
    • Fixed an issue that prevented logging in to American Values Club accounts when passwords contain particular characters
    • Fixed a bug that caused the timer to not be visible/started by default
    • Improved error handling when a downloaded puzzle cannot be saved for whatever reason

If you enjoy Black Ink, please consider writing a review or rating the app on the Mac App Store, or spreading the word on Facebook or Twitter! Questions or concerns? Get in touch at support@red-sweater.com. Thank you.

The post Black Ink 2.0.2: Bug Fixes and Accessibility Improvement appeared first on Red Sweater Blog.

]]>
Black Ink 2.0 Is Here https://red-sweater.com/blog/3529/black-ink-2-0-is-here https://red-sweater.com/blog/3529/black-ink-2-0-is-here#comments Mon, 02 Dec 2019 19:14:05 +0000 https://red-sweater.com/blog/?p=3529 I’m excited to share the news that Black Ink 2 has shipped and is available for immediate download both on the Black Ink home page and from the Mac App Store. As promised, customers who purchased a license to Black Ink 1 on or after January 1, 2018, are entitled to a free upgrade to […]

The post Black Ink 2.0 Is Here appeared first on Red Sweater Blog.

]]>
I’m excited to share the news that Black Ink 2 has shipped and is available for immediate download both on the Black Ink home page and from the Mac App Store. As promised, customers who purchased a license to Black Ink 1 on or after January 1, 2018, are entitled to a free upgrade to Black Ink 2. Customers who purchased Black Ink 1 in 2017 or earlier are entitled to a discounted upgrade price.

Black Ink 2.0 is a huge update to the app, featuring a massive overhaul of the puzzle-solving window, support for new accessibility features, and at long last, Dark Mode support for macOS 10.14. Read on to learn more about the changes in this update.

Free For All

One major change that comes with this update is that the app can now be used for free, with no time limit. All the basic features to download and solve puzzles are available, but a few “premium” features are locked and available only to customers who purchase a license. These premium features include:

  • Printing puzzles
  • Using the puzzle timer
  • Checking puzzle answers
  • Revealing puzzle answers

These modest limitations leave the app delightfully useful in “free mode,” but I hope that most users will be inspired to purchase a license to unlock the extra behaviors and to help support development of the app. Additional premium features may be added in the future.

Visual Refinement

Every aspect of the puzzle-solving window has been rethought, from the elimination of the outdated “drawers” for the clue lists, to painstaking improvements to how the elements of the puzzle grid are drawn. One of my goals with Black Ink is that it embraces the aesthetic joy of working with crossword puzzles, and to that end the puzzle itself must be as beautiful as I can possibly make it.

Folks who enjoy running macOS 10.14 or later in Dark Mode will appreciate the new Dark Mode puzzle grid, drawn mostly with a combination of black and grey, with white text only for the most pertinent aspects of the puzzle: the clues and your answers.

Accessibility Improvements

I’m excited to finally offer VoiceOver support for the puzzle grid. Believe it or not, I have been wanting to add this for over 12 years, but whenever I sat down to tackle the problem it just seemed … too hard. There are aspects to a crossword puzzle that defy the usual assumptions about what elements on a screen represent. I ended up making my best effort at addressing the challenges, and I hope the VoiceOver community finds it usable. In any case, I consider this a “1.0” as far as VoiceOver support is concerned, and will be eager to hear feedback from folks in the VoiceOver community once they’ve had time to give it a spin.

Separately from the all-new VoiceOver support, Black Ink 2.0 now correctly handles “focus follows zoom”, so folks who benefit from solving with the Mac’s overall screen zoomed in can enjoy the benefits of the zoom area moving automatically to reveal the currently focused word.

Streamlined Solving

Lots of little improvements have been made to “the little things” in Black Ink that make solving that much more of a joy. Nuanced behaviors in tabbing forwards and backwards in the puzzle, such as answers marked incorrect being treated as “empty” so you can easily navigate to them to re-solve them. Relatedly: the home and end keys now navigate to the beginning and end of the focused word, respectively.

Finally, puzzles that have notes from the author attached to them are now much easier to spot. Where previously you had to look for a “Show Notes” menu item, Black Ink 2 will now prompt you when opening a puzzle that has notes. If you choose to view them, you can either dismiss the notes, or drag them off into a separate window for easy reference as you solve the puzzle.

A Fresh Start

I’m excited to share Black Ink 2 with the world, and see it as a great baseline for continued development of the app. Here’s to crossword puzzles, their beautiful aesthetic, and the joy of solving them on a Mac.

The post Black Ink 2.0 Is Here appeared first on Red Sweater Blog.

]]>
https://red-sweater.com/blog/3529/black-ink-2-0-is-here/feed 2
FastScripts 2.8: Custom Folder Icons and More https://red-sweater.com/blog/3526/fastscripts-2-8-custom-folder-icons-and-more Wed, 30 Oct 2019 23:15:51 +0000 https://red-sweater.com/blog/?p=3526 FastScripts 2.8 is now available for download from the FastScripts home page and on the Mac App Store. For this update, I dug deep into the archives and looked into some long-standing feature requests and bug reports that I had simply never gotten around to fixing. Here is the complete list of changes: Custom folder […]

The post FastScripts 2.8: Custom Folder Icons and More appeared first on Red Sweater Blog.

]]>
FastScripts 2.8 is now available for download from the FastScripts home page and on the Mac App Store.

For this update, I dug deep into the archives and looked into some long-standing feature requests and bug reports that I had simply never gotten around to fixing.

Here is the complete list of changes:

  • Custom folder icons are now displayed in the FastScripts menu
  • FastScripts can now be quit by cmd-dragging the icon out of the menu bar
  • Revealing a folder from FastScripts now respects the user setting for default folder opener
  • Removed FastScripts’s custom AppleScript text suite in favor of using the standard system suite, to fix some string coercion problems when running scripts

If you enjoy FastScripts, please consider writing a review or rating the app on the Mac App Store, or spreading the word on Facebook or Twitter! Thanks for your support. Questions or concerns? Get in touch at support@red-sweater.com. Thank you.

The post FastScripts 2.8: Custom Folder Icons and More appeared first on Red Sweater Blog.

]]>
macOS 10.15 Catalina https://red-sweater.com/blog/3520/macos-10-15-catalina Mon, 07 Oct 2019 17:42:55 +0000 https://red-sweater.com/blog/?p=3520 Today’s the day! Apple is releasing macOS 10.15 Catalina. All of the shipping versions of our apps have been tested and updated for Catalina. Please let us know if you run into any issues which we didn’t catch in our own testing.

The post macOS 10.15 Catalina appeared first on Red Sweater Blog.

]]>
Today’s the day! Apple is releasing macOS 10.15 Catalina.

All of the shipping versions of our apps have been tested and updated for Catalina. Please let us know if you run into any issues which we didn’t catch in our own testing.

The post macOS 10.15 Catalina appeared first on Red Sweater Blog.

]]>
MarsEdit 4.3.5: App Movement Monitoring https://red-sweater.com/blog/3516/marsedit-4-3-5-app-movement-monitoring Fri, 20 Sep 2019 16:51:11 +0000 https://red-sweater.com/blog/?p=3516 MarsEdit 4.3.5 is now available at the MarsEdit home page and has been submitted for review to the Mac App Store. This update incorporates functionality that I developed for the open source NetNewsWire project, and shared publicly on GitHub. The gist of it is that MarsEdit will now notice if you have moved it after […]

The post MarsEdit 4.3.5: App Movement Monitoring appeared first on Red Sweater Blog.

]]>
MarsEdit 4.3.5 is now available at the MarsEdit home page and has been submitted for review to the Mac App Store.

This update incorporates functionality that I developed for the open source NetNewsWire project, and shared publicly on GitHub. The gist of it is that MarsEdit will now notice if you have moved it after launching it, and warn you that it must be relaunched in order to avoid any unexpected behavior.

I also fixed a few bugs. Here’s a list of all the changes for this release:

  • The app now notices if it’s been moved or renamed after launching, and prompts to relaunch
  • Fix a crash that could happen when resizing the post editor window
  • Fix a bug where the display name of a title-less post was not updating
  • Prevent the post editor window from being sized too small to show categories

If you enjoy MarsEdit, please consider writing a review or rating the app on the Mac App Store, spreading the word on Facebook or Twitter, and of course, writing about the app on your own blog! Thanks for your support.

The post MarsEdit 4.3.5: App Movement Monitoring appeared first on Red Sweater Blog.

]]>
App Movement Monitoring https://red-sweater.com/blog/3508/app-movement-monitoring Thu, 05 Sep 2019 16:14:44 +0000 https://red-sweater.com/blog/?p=3508 I’ve been helping out when I can with the NetNewsWire open source project. Recently, Brent shared one of only a couple crash reports he’s received, in which the only plausible explanation would be if the app’s own internal files had failed to load. I recognized the likely cause of the problem immediately, because … After […]

The post App Movement Monitoring appeared first on Red Sweater Blog.

]]>
I’ve been helping out when I can with the NetNewsWire open source project. Recently, Brent shared one of only a couple crash reports he’s received, in which the only plausible explanation would be if the app’s own internal files had failed to load. I recognized the likely cause of the problem immediately, because …

The Problem

Essentially, when a Mac app is launched, the location of that app on disk is saved, and used repeatedly whenever an internal component needs to located. The dynamic nature of resource loading in Mac apps means that these components are not typically loaded until they are need. For example, if you never show the Preferences window in a typical Mac app, the resources that define that window will never be loaded.

If, on the other hand, you decide to show the Preferences window, but you’ve moved the app since it was launched, things have a tendency to go haywire. The app will go searching for its Preferences resources in the location on disk where they used to be, and it won’t find anything. In the best case, the Preferences window simply fails to show. In the worst case? Assumptions about the infallibility of loading resources are proven wrong, and the app may crash.

A Solution

For many years, I’ve had an open ticket in my bug tracking system to address this same problem in my own apps. It’s not a completely critical problem, in part because it affects only a small subset of users, and only at the critical time when they have just moved or renamed an app. But the larger one’s user base is, the more examples of these hard-to-reason crash reports there will be. For a developer who is diligent about addressing defects in application code, these crash reports are both a distraction and a real concern.

Talking with my friend Paul Kafasis of Rogue Amoeba, he confirmed that they had also seen such issues over the years, and had already implemented a solution. He shared their pertinent source code with me, and has since shared it publicly on their company blog.

The Rogue Amoeba solution, in a nutshell:

  1. Watch the location of the app on disk.
  2. Prompt the user if it moves, offering a choice to quit or proceed with caution.
  3. Quit the app after confirmation by the user.

Given a head start by their code, I decided to finally tackle this problem in my own apps, and in NetNewsWire. What the heck? If I’m going to all the trouble, why not develop something so correct, and so dead simple to add, that it would be a no-brainer for other Mac developers to drop in a ready-made solution? It’s available on GitHub:

RSAppMovementMonitor: Gracefully handling the movement of a running app.

As I dug into the problem, I noticed a few areas where I thought I might deviate from Rogue Amoeba’s example. Their solution is tailor-made to the needs of their own apps, but as I thought about the problem in terms of my own apps, and in terms of the typical needs of most apps, I decided to make some changes. Roughly in order of what I perceive highest to lowest priority:

  1. The solution should be implemented in Swift, completely self-contained, and easy to drop in to any Mac app.
  2. The app should offer to relaunch instead of just quitting. This took a little extra work to keep track of both the original and final locations of the app on disk. Luckily my friend Rich Siegel of Bare Bones had good advice for me there.
  3. Relaunching should not be presented as an option, but as a necessity. In some data-critical apps, there may be cause to allow the user to keep the app running. I suspect this is the case for Rogue Amoeba’s apps, which are often doing live audio processing. In most apps however, particularly those without documents or that employ macOS autosave technologies, quitting and restarting the app is a safe operation.
  4. Localized strings should be cached at launch time. Because the prompt to the user will be presented after the app has moved, the localized resources that constitute that panel would not be available by the time they are needed. My solution loads and caches the localized strings so they’re ready if needed.
  5. Monitoring should be more aggressive. Watching for changes on the app bundle itself catches most of the user actions that lead to an app’s location changing on disk, but it misses scenarios such as when the user has renamed a folder containing the app. My solution checks whenever the app becomes active, on the assumption that the user will have made the app inactive before doing something such as renaming a folder in the Finder.
  6. The solution should be extensible through a custom handler, such that apps with differing needs can take advantage of the monitoring functionality, but act differently in response.

I think RSAppMovementMonitor serves the above priorities well, but ideally, none of this would be necessary. If only somebody were in a position to solve it even more elegantly…

Better Solutions

Apple itself could, and probably should, do more to alleviate the impact of this issue. What’s frustrating is they obviously acknowledge the problem, but have thus far done little do help. If you attempt to move a running application to the trash, you are met with a stern dialog forbidding the action. But if you attempt to rename an app, you are met merely with a warning. Finally, if you drag an app from one location to another, the Mac does nothing at all the impede you.

On a high level, there are two tacks Apple could take in addressing this:

  1. Prevent the movement or renaming of running apps.
  2. Mitigate the impact of moving a running app.

The former is probably a more pragmatic solution, along the lines of what I’ve shared here but with more reliable, and unified impact across all running apps on the system. The latter would require some kind of systematic change in the frameworks with respect to the way application resources are located and loaded at runtime. I can imagine a lot of solutions here but they may frankly be too much to bother with trying to patch on to the existing system.

MacOS 10.15 is, by all accounts, nearing completion, and there is no sign of a change in the status quo. So I suppose we can look forward to 10.16 and hope for some improvement at the system level. In the mean time, I hope that RSAppMovementMonitor proves useful either as a drop-in solution, or as an inspiration for more specialized handling of this situation in other Mac apps.

The post App Movement Monitoring appeared first on Red Sweater Blog.

]]>
NetNewsWire 5.0 https://red-sweater.com/blog/3506/netnewswire-5-0 Mon, 26 Aug 2019 18:49:43 +0000 https://red-sweater.com/blog/?p=3506 Today, Brent Simmons announced the launch of NetNewsWire 5.0. Congratulations to Brent and the rest of the open source team that made this happen! NetNewsWire is an important app to me both because I have been actively using it as my news reader for over 15 years, and because it is literally the progenitor of […]

The post NetNewsWire 5.0 appeared first on Red Sweater Blog.

]]>
Today, Brent Simmons announced the launch of NetNewsWire 5.0. Congratulations to Brent and the rest of the open source team that made this happen!

NetNewsWire is an important app to me both because I have been actively using it as my news reader for over 15 years, and because it is literally the progenitor of MarsEdit! MarsEdit began as an in-app blogging feature before Brent spun it out into its own app

Recently on Twitter, Becky Hansmeyer observed that MarsEdit and NetNewsWire’s icons appeared to be related:

In fact, they are part of some “indie blogging software suite,” as informal as it may be. And MarsEdit has been getting lonely in this suite! After a long hiatus, it’s great to see NetNewsWire being actively developed again, not only by its original author, but with the help of a bunch of fresh new minds who I’m sure will carry it forward for many major updates to come.

The post NetNewsWire 5.0 appeared first on Red Sweater Blog.

]]>