Although Workflow doesn't currently have a built-in action specifically for watermarking, there are a couple of ways to accomplish this with just a little preparation.
Using the Edit Image action
Workflow has a capable image editor built-in already, powered by Aviary, which is invoked using the Edit Image action. There's a text tool within Aviary that provides control over the placement and style of text in an image. The only drawback is that the text cannot be automatically specified–it has to be entered each time.
A workaround is to include a Text action with the text to use, then have Workflow copy it to the clipboard before the rest of the workflow Is run, as shown in this example workflow. All you then need to do is paste it into the editor's text input field.
This method works great if you just need to occasionally watermark an image. If you want to fully automate the process and/or work with multiple images, there is a better solution.
Using the Overlay Image action
It's possible to create a workflow that can automate the entire process of adding a watermark to images using the Overlay Image action, a more recent addition to Workflow's collection. This particular action is very customizable, providing options for the dimensions, location and angle of the overlaid image.
Although Workflow cannot generate an image file from text, we can just create one in advance and use it within the workflow. I created a watermark in Pixelmator and saved it as a transparent PNG (delete the background layer before exporting). I recommend making the canvas size (and text) suitably large, around 2000-3000px wide, so that it can be used in images of all different sizes (Workflow will resize the image down accordingly).
With a watermark already created, it's simply a matter of overlaying the watermark onto the target image. At this point, we could use the Overlay Image action's option of Show Image Editor and manually drag and resize the watermark, but we can do better than this. Instead, Workflow can get the height of the target image, then set the size of the watermark to a proportional height.
In this example workflow, I've specified that the watermark be placed on the lower-left, at a height of 10% of the target image. The width is automatically scaled, and the opacity is set to 90%. The watermark is stored in the
/Workflow directory on iCloud Drive, as
The entire process is fully autonomous and works with multiple images. You could take this workflow even further and include options for selecting whether a black or white text overlay should be used, as well as varying the angle and location of the text (if you prefer a full-size diagonally-placed watermark, for example).
I've released a minor update to the Stripe Checkout for Kirby plugin that adds an option to specify a default charge amount and description that can be used to place SCK anywhere on your site, and have the same amount be used to create a charge. This is something I originally created for Workflow Directory to add a "Tip Jar" button site-wide, without having to specify an amount on every single page it would appear on.
The plugin is available from GitHub, either by cloning the repository or downloading a ZIP of the latest release.
Back in March, I wrote about how I manage updates to this website with Git and iOS, thanks to the app Working Copy. I only touched upon the URL scheme that the app provides, as I began writing blog posts directly within the app.
Since then, I've created a few workflows based upon the apps's URL scheme to better serve my needs (I now use Ulysses to write blog posts), and demonstrate how powerful an app Working Copy is.
- Initialize a new repository: Initializes a new repository containing an empty README
- Pull all repositories: Performs a pull command to fetch and merge changes (from origin) on all repositories within Working Copy
- Pull repository: Performs a pull command to fetch and merge changes (from origin remote) for a specific repository within Working Copy
Ulysses blogging workflow
If you're wanting to replicate some of my process of writing in Ulysses and then sending that content into Working Copy, you can download a copy of my current workflow. The workflow is an Action Extension that is run from within Ulysses (making sure that the exported text is being viewed in Markdown format). A few things to consider:
- This has been specifically tailored to my blogging setup, so you'll very likely need to make some fundamental changes, and much of this workflow may not be necessary. However, this workflow can still serve as a good starting point for a Ulysses & Working Copy combination.
- The title of the blog post should be in a Markdown H1 tag, as this is sets the name of the blog post when exported but is stripped from the text as its processed by the workflow.
- Speicfy whether the blog post is a linked post or a normal one. If it's a linked post, all the links are displayed in a list. The one selected is used as the post's link.
- Images used within a blog post aren't currently supported. I haven't got around to this just yet as my existing image workflow that operates outside of Ulysses is still something I use, and I rarely use images within blog posts. This is something I'll be working on, eventually.
With that, you can still test this workflow and see exactly what it does by creating an empty repository within Working Copy and updating the repository name within the workflow.
Apple on Thursday told The Loop that it is discontinuing the Thunderbolt Display.
“We’re discontinuing the Apple Thunderbolt Display, said an Apple spokesperson. “It will be available through Apple.com, Apple’s retail stores and Apple Authorized Resellers while supplies last. There are a number of great third-party options available for Mac users.”
Judging from the last part of the statement, it doesn’t seem likely that Apple will replace the display in the near future.
Apple doesn't usually announce the discontinuation of products, so this very public statement is a deliberate move to extinguish any hope of a new display. This is a company that prefers to EOL a product as quietly as possible. Apple didn't reach out to news sites when they killed off the 17" MacBook Pro or the iPod classic, but this time it's different.
The Thunderbolt Display wasn't exactly cutting edge, as Stephen Hackett points out:
The display never saw a hardware update, even after MagSafe 2 replaced the old charging standard, not to mention when Thunderbolt 2 and USB 3.0 started showing up on Macs of all sizes.
Despite this, it's still a product that enjoys some popularity. Look around any office space that has a heavy Mac user base and you'll find a Thunderbolt Display attached to most of them. I've no doubt that the Thunderbolt Display's biggest customer type is the IT department. As such, IT departments need to know they have a procurement process and stock availability that can be relied upon. Apple couldn't just silently axe their display and leave people wondering what was going to happen next–it had to be loud and clear.
There's been a resurgence of the rumor that Apple is going to drop the headphone jack in the next iPhone. The significance of this change, whether there is truth to the rumor or not, has resulted in a few opinion pieces on the subject.
Nilay Patel, "Taking the headphone jack off phones is user-hostile and stupid":
Look, I know you’re going to tell me that the traditional TRS headphone jack is a billion years old and prone to failure and that life is about progress and whatever else you need to repeat deliriously into your bed of old HTC extUSB dongles and insane magnetic Palm adapters to sleep at night. But just face facts: ditching the headphone jack on phones makes them worse, in extremely obvious ways.
John Gruber, "Headphone Jacks Are the New Floppy Drives":
Should the analog headphone jack remain on our devices forever?If you think so, you can stop reading. If not, when? Maybe now is the wrong time, and Apple is making a mistake. I don’t know. None of us outside the company seem to know, because all that has leaked is that the new iPhone won’t have the port, with no explanation why. But I say at some point it will go away, and now seems like it might be the right time. [...]
“No one” asked for the iMac to remove the floppy drive or switch from ADB ports to USB (at a time when PCs weren’t shipping with USB either, which meant few — I mean really few — existing USB peripherals on the market). There was a huge outcry when the iPhone 5 dumped the proprietary-but-ubiquitous 30-pin port for the proprietary-and-all-new Lightning port. MacBook Air fans are still complaining about the new MacBook’s solitary USB-C port.
Vlad Savov, "Five reasons you'll want Lightning headphones for your iPhone 7":
Love it or loathe it, the trend in advanced personal tech is to become more digital and less analog. Wireless protocols and the above benefits of Lightning make the classic 3.5mm jack redundant. I can get more convenient audio if I drop the wires, or I can get better audio if I go digital via Lightning. With upgradeable firmware and new sensors being built in, headphones are changing in function just as they're changing in connectivity. If you want to buy the headphones of the future, don't cling on to the connector of the past. Sure, there'll be an adaptation period where adapters will be necessary, but over time Apple's Lightning and the more universal USB-C standard will take over from the 3.5mm connector.
Graham Spencer, back in December 2015 with "Thoughts on the Inevitable Demise of the 3.5mm Audio Jack on the iPhone":
In essence, I think Apple should do three things. Firstly, acknowledge the trade-off Apple have made and the frustration some customers may feel. Secondly, clearly enunciate the benefits of switching away from the 3.5mm audio jack to the Lightning connector and Bluetooth audio. And thirdly, make the customer's transition away from the 3.5mm audio jack as painless as possible. I'll leave the first two up to Apple's marketing team, but I do have some thoughts on the third.
Nilay makes some interesting arguments that, though I'm not convinced by any of them. The photo of the MacBook with the USB-C adapter is humorous, but that sort of usage is definitely edge case. Most people I know with the MacBook use the USB-C port for one thing: charging.
While I agree with John that Apple is no stranger to this sort of action, I don't think the comparison to the floppy drive is a good one. The iMac was certainly a factor in the decline of the floppy disk, but its contribution is often overstated.
There were 113.5 million PCs sold worldwide in 1999. Of those, only 1.8 million were iMacs: 1.6% of the total market. The removal of the floppy disk from the rest of the Mac family would have also contributed in later years, though this just takes Apple's market share to around 3%.
The PC world didn't ditch the floppy disk because of the actions of a 3% company. It was really the availability, and reduction in cost, of writeable and rewritable CDs that killed the floppy. Apple saw the benefits of USB, and perhaps the future of optical storage, and took the plunge. They were, knowingly, in the right place at the right time.
In comparison, Apple's share of the smartphone market is almost 15% so the ramifications of ditching the headphone jack are far more wider reaching. Comparing a couple of million Mac customers to hundreds of millions of iPhone customers every year doesn't quite fit.
Personally, I do think the headphone jack's time is at an end, at least on the smartphone, but there's no question that its removal is going to be hugely disruptive. Unlike the floppy, there isn't anything on the horizon that is a quantum leap beyond the headphone jack's current capabilities. Benefits, sure, but nothing revolutionary that would ease the discomfort of the transition.
I am one of the many people who mostly use the bundled earphones with my iPhone. If the next iPhone includes a set of Lightning-equipped earphones, I'll simply use them. However, if Apple is going to do this, they need to be damn sure that it's in the best interest of their users and have a transition plan that is as painless as possible. This should include discounts for manufacturers that would need to license their headphones under the MFi Program.
If Apple try and capitalize on the change by offering overpriced adapters, or require unencessarily high royalties through the sale of MFi accessories, they could severely damage their reputation as a user-focused company and the accessories ecosystem they've built.
If you've been a longtime Mac user, their celebratory page is certain to make you feel nostalgic. I've used many of the icon sets they've produced over the years, and seeing them all again is bringing back a lot of memories of operating systems gone by.
There's a lot of great history here, from icons to gifs, and be sure to check out every version of their website since 1997.
I Sea is an iOS app (I won't link to it) that has been recently reported by a variety of news outlets, from Newsweek to Wired. It allows its users to help find migrant boats that are currently lost at sea, and report them. It supposedly does this by providing realtime satellite imagery and weather information of various parts of the sea to its users, who can then look through the imagery and flag potential sightings.
Except it doesn't, and it's almost certainly fake.
@SwiftOnSecurity spent some time trying the app over the weekend and was convinced it's fake. A few investigative Twitter users were quickly able to find enough information to show that the app is, in all likelihood, completely scam. I've Storify'd the relevant tweets from last night, which I won't repost here, so you can read through the full discussion.
Should this be true (and I believe it is), its true purpose, or motive, remains to be seen. The app may have been an immoral ploy to obtain personal information (the app apparently requires the user's passport number), a concept app that is being deliberately misleading, or something else entirely. The website has no contact information, Terms of Service, or Privacy agreement of any kind. The only external links its website has is a claim to be related to MOAS, a migrant aid station, and all of the recent press the app has received.
Whatever the reason was to release an app like this, capitalizing on the current migrant crisis happening in Europe is sickening. Given that the app and its website has several clear warning signs, it's shocking that so many reporters were duped. Did these reporters even try the app, or did they just rewrite the press release?
Update: Apple has pulled the app from the App Store.
Dr. Drang shares his experience of moving away from TextExpander after Smile switched to subscription pricing:
I’ve found no significant difference in using Keyboard Maestro instead of TextExpander. I don’t have hundreds or thousands of snippets, only dozens, so I haven’t run into any of the problems Peter Lewis, Keyboard Maestro’s developer, has warned about. The snippet expansion is plenty speedy for me.
Overall, the switch from TextExpander to Keyboard Maestro has gone much better than I’d expected. Because of Keyboard Maestro’s superior programming features, I’ve found myself creating new snippets that are more complex and capable than I could ever make in TextExpander. I’m happy with the change and don’t expect to go back.
For me, TextExpander has always been synonymous with snippet management, which is why I've habitually reached for that app without considering if there was a better tool for the task at hand.
Like the good doctor, I didn't have a large snippet collection, and creating new snippets wasn't a regular occurrence. I eventually split most of my snippets across a few different apps that were more suited to their particular task, and found the experience to be a positive one, overall.
While the notion of decentralizing snippets might sound like a drawback, it's not—I've actually found it to be quite the opposite. I spend most of my work day within BBEdit yet the snippets I regularly use had lived within TextExpander. This is despite the fact that BBEdit already has a versatile system available, Clippings, that I hadn't been taking full advantage of. I also didn't need my BBEdit snippets for work when I'm not actually working inside BBEdit.
After migrating snippets out of TextExpander and into alternative tools, I'd also found that I can create snippets that are much more functional and fit better into my workflow. There have been trade-offs with moving my work snippets out of TextExpander, but they're worth it to me and its shown me that TextExpander isn't as indispensable as I once thought. I'll keep using TextExpander 5 for a small number of miscellaneous snippets that I occasionally use, but I'll eventually move those as well, most likely to Alfred.
Only a handful of new features from each of Apple's platforms can be showcased during an Apple keynote. Apple has to be very selective in what they believe has the "wow" factor, which means that many features are first announced on either a Preview page, or the developer documentation.
While these features may not have been considered keynote-worthy, they're often the most interesting. Last year, I summarized some of those features, and I've done the same again today. So, in no particular order, here is a collection of updates to watchOS, macOS, iOS, and tvOS.
- The Photo, Timelapse, Motion, and Extra Large watch faces support complications.
- The HomeKit framework supports camera and doorbell accessories. Developers can build apps to interact with IP cameras and view live streams, access audio, etc.
- The presence of an app's complication on the watch face tells the system to keep the associated app in a ready-to-launch state. That is, the system attempts to launch your app in the background, keep it in memory, and give it additional time to update.
- Workout app can run in the background, and launched from their counterpart iOS app. I imagine this would be used by fitness apps to start a workout and have the watch automatically display the correct app.
- Support for additional Messages features that were demoed during the iOS portion of the keynote.
- Safari extensions are getting overhauled with Safari 10, and rebranded as Safari app extensions:
- Extension development is moving into Xcode, allowing for use of native APIs.
- Safari Extensions can be sold and distributed through the Mac App Store.
- The Live Photo Editing API allows third-party editing extensions to apply edits to an entire Live Photo, while retaining the motion and sound of the original Live Photo.
- Apple File System is Apple's long-awaited replacement to HFS+
- Apple Pay is also available on the web in iOS, not just a feature available in macOS.
- SiriKit cannot be used by every type of app, so being able to say "Add a new task to Omnifocus" isn't possible just yet. The types of apps that SiriKit can be used with are:
- Audio or video calling
- Searching photos
- Ride booking
- Safari supports split-view in iOS 10 on iPad, allowing you to view two pages at once.
- A Sticker pack that provides stickers for use in Messages is a specific type of Messages app extension, not just a Messages app in itself.
- You can create a Sticker pack without writing any code: Simply drag images into the Sticker Pack folder inside the Stickers asset catalog in Xcode.
- Support for RAW photos is now available on iOS devices that use the A8 or A9 CPU. iOS 10 also appears to now support RAW photo output from the camera, allowing for photos to be outputted in DNG file format.
- HealthKit adds new metadata keys to use for weather types, a feature that many popular fitness apps use. This is useful for any runners that want to include weather information for their run.
- HomeKit provides additional support for interacting with IP cameras.
- The new Photos framework allows for the editing of Live Photos.
- iOS 10 allows for the stock apps (Mail, Stocks, Calendar, etc.) to be deleted. Rather than a glitch, the apps are showing up on the App Store.
- Support for UIPasteboard allows for copy/pasting of text between devices. This is a very useful addition, especially if you make use of randomly-generated passwords that are stored within a password manager.
- Automatic App Downloads For Apple TV works similar to iOS: download a universal app to your iOS device and it will automatically download to the Apple TV, as well.
- The External Accessory framework from iOS is now available in tvOS, which "provides a conduit for communicating with accessories attached to any iOS-based device". This should allow for a whole range of additional accessories that the Apple TV can support.
- In a reversal of previous requirements, tvOS games can now require MFi controllers. Before this, Apple required that all games available for tvOS be playable with the Siri Remote. With that restriction removed, it opens up the Apple TV to a wider range of games.
The Wallet app should probably automatically hide time-based items when their time has passed. Creators of passes should be able to set an expiration date. And users should be able to batch-delete passes.
The accumulation of expired passes is frustrating, especially if you're traveling on connecting flights and have several passes from the same airline. I can't tell you how many times I've tried to board a flight with the wrong boarding pass. However, this does appear to be, in part, by design. As Apple's Wallet Developer Guide states:
Don’t try to expire or void a pass by pushing an update. Updates are not guaranteed to be delivered, because the user may not have a network connection or may have disabled updates for the pass. Instead, update your database to indicate that the pass is invalid, and consult your database when the pass is redeemed. Additionally, your app should not remove expired passes without the user’s consent.
This is likely for good reason, especially when it comes to air travel. There are always situations where passengers might need to present their boarding pass after traveling. If you've ever booked travel for multiple people, you may have only sent them their boarding passes - the only "proof" they'd readily have access to, should they require it.
Instead, I'd prefer that there is a separate section of Wallet specifically for expired passes, and echo Jason's suggestion of a means to bulk-delete all expired passes. That way, they're all grouped together and out of the main view.