MarsEdit 4.1.2: Improved Safari Extension, Image Upload Fixes

July 6th, 2018

MarsEdit 4.1.2 is now available for download from the MarsEdit home page and has been submitted to the Mac App Store.

This update includes a substantial improvement to the Safari App Extension, and a number of bug fixes and enhancements:

  • Improve reliability of the Safari App Extension which could become disabled on complex web sites
  • Fix a bug that caused non-image files such as PDF documents to be converted to single-pixel images
  • Fix a bug that prevented dragging images from the “Uploaded” tab of the Media Manager
  • Fix a problem where “Preserve All Metadata” didn’t work when attaching an image for later upload
  • Revert to pre-4.1 behavior of postponing initializing Media Manager until window is opened
  • Tag completion now prioritizes exact diacritical matches ahead of fuzzy matches
  • Restore the “Don’t show again” checkbox on the Rich/Plain text mode switch alert

I realized when I went to post about this update that I neglected to ever officially acknowledge the 4.1.1 update, which I released a couple weeks ago. That one contained fewer fixes, but they are still important:

  • Fix a crash when dragging images from Photos.app before MarsEdit’s Upload Utility window has been opened
  • Fix a crash that could occur when “Preserve All” was selected for image metadata
  • Fix a bug that prevented “Preserve All” metadata option from staying selected on a blog

Enjoy!

MarsEdit 4.1: Image Metadata and Privacy Protection

June 12th, 2018

MarsEdit 4.1 is now available for download from the MarsEdit home page and from the Mac App Store.

This update brings a variety of improvements and bug fixes, with an emphasis on issues affecting image formats and the preservation, or removal, of metadata on images that are uploaded by MarsEdit.

Previously when an image was uploaded by MarsEdit, no special care was taken with respect to metadata. If your settings in MarsEdit specified a resize of the image, all metadata was lost. If your settings specified no resize, all metadata was preserved. With MarsEdit 4.1, the preservation or removal of metadata is placed firmly in users’s hands:

Screenshot of MarsEdit image properties, including a new option to specify metadata preservation.

Now there are three choices for image metadata: Preserve All, Remove All, and Remove Location. The right choice will depend on your scenario: if you’re writing under a pen name on an anonymous blog, removing everything is probably the right choice. If you’re a pro photographer and want the detailed camera settings, copyright, etc., to remain intact, then you probably want to preserve everything. But many of you will undoubtedly choose the compromise option, to preserve almost everything, but remove location information that could inadvertently reveal sensitive information to your blog’s readers.

While I was “under the hood,” so to speak, I took a look at another detail of image file formats: the color model. Most images formats support the specification of a standard by which the image’s colors should be interpreted when displaying them on a screen. The color model information allows for different devices to handle an image consistently. The sRGB color model is considered the standard for web images, but images from your phone or camera are liable to have another more proprietary color model. Starting with MarsEdit 4.1 there are two options for color model: convert to sRGB, or leave the color model just as it is.

These options for color model and image metadata apply consistently whether your image settings specify a resize, or not. This consistency of behavior will be a very welcome change in MarsEdit 4.1!

Also in the image department, MarsEdit now supports dragging photos directly from Apple’s Photos app. You may have noticed that many apps on the Mac do not supports this, and it’s because of a novel approach to dragging that Photos uses. Because images in your Photos collection may be stored in the cloud, a drag from the app only offers a “promise” of a full copy of the image. For this reason apps such as MarsEdit needed to be revised to support the new kind of drag. You might notice when dragging that there is sometimes a delay after releasing the drag. This is because MarsEdit needs to request a “fulfillment of the promise” before it can work with the image.

In addition to the image-focused changes, there are a good number of improvements and bug fixes that will affect a wide variety of MarsEdit users. Here’s the complete list of changes in this release:

  • Media improvements
    • New options for image metadata to preserve, remove, or remove only location-specific GPS data
    • Now supports direct dragging of images from Photos.app
    • Color profile can now be either preserved or converted to sRGB automatically
    • Performance improvements for users with large numbers of previously uploaded images
    • Preload media manager contents at launch time to avoid performance hit when opening it up
  • Bug fixes
    • Fix a bug that caused some CMYK profile images to not be rotated as expected
    • Fix a bug that caused featured image to be removed from posts when preview filter was applied
    • Fix a bug that prevented the “New Post” item from being enabled in the main window contextual menu
    • Fix “Copy Published Link” from the main window when a post is selected but post list not focused
    • Fix Preview Template auto-downloading for Micro.blog and other MetaWeblog API blogs
    • Fix a crash that could occur when interacting with the Formatting Macro editor window after closing a post editor
    • Fix a bug that could prevent Google OAuth tokens from being redacted in the Network Log
    • Fix a bug that caused “more” tags and other comments to be stripped from posts in some cases
    • Fix a bug where the full temporary path of an image was shown in the user notification
  • Little things
    • Add a “Remove Link” item to the Rich Text contextual menu
    • Don’t warn about editing mode switches if the editor is empty
    • Handle clicks on “mailto” links in the Preview Window for posts that happen to have them

Enjoy MarsEdit 4.1!

The Future for Tumblr and MarsEdit

April 23rd, 2018

MarsEdit’s history with Tumblr has been long and bittersweet. Starting with a December, 2008 post in which I encouraged Tumblr to add fundamental support for apps like MarsEdit to their API:

There are relatively simple changes that Tumblr can make to their API to facilitate an acceptable user experience not only from MarsEdit, but from other client applications that might choose to embrace the service’s API.

That post resulted in a response from their lead developer at the time, Marco Arment, and a significant update to their API. In March, 2009, I released MarsEdit 2.3 with support for Tumblr:

It feels great to finally have an official release out there that supports Tumblr. I would like to thank Marco Arment for his patience in working with me to improve the Tumblr API, so that it will work better with MarsEdit.

Although I was satisfied with the initial changes made to the API, there were areas that still needed work. The most significant shortcoming in Tumblr’s API remains to this day: lack of support for uploading and embedding images independently from “photo” style posts. This means that MarsEdit users who write traditional “text” blog entries on Tumblr cannot add images to those posts, even though the same functionality is available in the Tumblr web editor.

Over the years, other issues have interfered with MarsEdit’s integration with Tumblr, including reliability problems, unexpected api outages and overhauls, among other surprises. In short, it’s been a bumpy road.

In recent years, things have leveled out. Stability seems to have improved after Yahoo! acquired the company in 2013, and the Tumblr API has, for better and for worse, appeared to remain unchanged for many years now. Unfortunately, this lack of change also means that the decade-old lack of support for uploading images has not improved.

The latest chapter in this saga began last year when Verizon acquired Yahoo’s major products, including Tumblr. They established a new company called Oath, which is an umbrella for many sites including Tumblr and, until a few days ago, Flickr. The sale of Flickr makes me wonder where Tumblr fits into Verizon’s overall vision for Oath’s brands.

Most of Oath’s services, including major tech press outlets such as TechCrunch, revolve around providing consumers with content, as opposed to hosting user-contributed content. Do they want out of the blog-hosting business, the way they evidently wanted out of the photo-hosting business? Or did they merely see Flickr as being redundant with Tumblr?

Amidst the uncertainty about Tumblr’s future, the Tumblr Engineering team at least seems to be very optimistic. In an April 10 post titled “A Big New Beautiful Future for the Web at Tumblr“, they write about significant plans to renovate their whole approach to developing the website:

It was time to step back, survey the world of web technology, and clean house in a big way. That we could finally test some of the new tech we’ve been itching to use was just a little bonus.

What’s most interesting, and most encouraging, to me is the list of priorities they cite in rethinking their approach. At the top of the list:

A web client codebase fully separated from the PHP codebase that gets its data from the API in the same way our mobile apps do.

In case it’s not obvious, this is very encouraging for developers of 3rd party apps such as MarsEdit. Why? Because encoded in the ambition to implement their web client using the “API in the same way our mobile apps do” is an implicit promise (though not an Oath™) that they will be modifying the existing API to supply all the same functionality that is currently available on the web. In short: anything they can do on Tumblr.com should soon be doable by apps such as MarsEdit.

This would be a very welcome change, and I’ll be eager to see how it unfolds. It’s not a sure thing, though. WordPress has made a similar shift over the past few years with the development of their WP-REST API. Theoretically, they intend to reimplement the WordPress web interface entirely in terms of that API. What I didn’t anticipate though was that the API would not have a viable authentication model for 3rd party clients. Currently the WP-REST API can only be used on standard WordPress installations with “cookie authentication,” meaning by other web software running in the same browser. It’s effectively unavailable to apps like MarsEdit, and even to WordPress own mobile app.

Tumblr’s ambitions to re-orient development around the API may come with similar gotchas. I know enough after ten years supporting the service to know that I can’t count on anything until I see it. Still, this news leaves me more cautiously optimistic about Tumblr than I have been in years! If Tumblr sticks around, and if they do expand their API to support more functionality in MarsEdit and other apps, I’ll be eager to update the app to support it. Let’s hope for the best!

FastScripts 2.6.12: Minor Script Folder Fixes

April 17th, 2018

FastScripts 2.6.12 is now available from the FastScripts home page, and on the Mac App Store.

This update brings a couple minor fixes affecting the way FastScripts deals with files in your script folders:

  • Fix a bug that could cause aliases in script trees to not resolve properly
  • Fix a bug in folder modification tests that could cause unexpected script folder resyncing

Most users shouldn’t notice much of a change, but I wanted to get these minor issues fixed. Enjoy!