Om Malik somehow captures my inner musing in his blog post. He successfully articulates why I started my own blog, and how I try to think of it in relation to social media:

In other words, one is a performance for an audience, while the other is highly personal, though others may end up finding it interesting.

But the meat of his piece is about how future media and news consumption will continue to look more like YouTube and TikTok than anything else, which in turn have their roots in blogging:

For the future of media — including blogging — look to YouTube, Snap, TikTok, and Instagram. By the way, the content on these platforms is often created and engaged with in a spirit much more analogous to that of traditional blogs than anything you’re likely to see on Twitter.

Om’s full post is worth the read.

Go to the linked site →

Linked Blogging


Jason Snell, writing at Six Colors:

Then there’s the Globe key. Hold it down in any app in iPadOS 15, and you’ll see a different set of commands, all of which can be applied globally. (Get it?) These menus are full of shortcuts to switch to the home screen (Globe-H), open a Quick Note (Globe-Q), activate Control Center (Globe-C), and pretty much any other system-level area.

and

On the Mac, systemwide shortcuts and individual app shortcuts can collide and interact in strange ways. It’s kind of a mess. On the iPad, Apple seems to be saying that global shortcuts use the Globe, and apps use the other modifiers. That makes… a lot of sense.

I think Jason is onto something here. Upon learning that Globe-Q was for Quick Note rather than Quit, like on the Mac (they did duplicate Command-H as Globe-H to go Home after all), I wondered how it would play out as a new modifier. I’d be interested to know if apps are prevented from using Globe key — that’d be another sure sign.

One other thing to note is that Apple’s new Macs and standalone keyboards come with the Globe key. I’d be surprised if these global commands didn’t also come to macOS in due time.

Oh, and I’ll +1 on global Shortcuts commands and media controls for the iPad, please.

Go to the linked site →

Linked


Hey, would you look at that — I designed a shirt! A shirt that you can actually buy and wear. It’s available on-demand at Cotton Bureau.

The HeyDingus Shirt is adorned with the blog’s new colorful logo, and available (at the time of posting) in a variety of colors as a t-shirt, sweatshirt, tank top, and even a onesie. The standard tee goes for $29, a small portion of which would come back to me in support of this site.

A small selection of the styles and colors available.

I’ve been a big fan of Cotton Bureau’s products for quite a while. Many of my favorite podcasters and bloggers have made apparel for their fans to purchase, and they’re both high-quality and super comfortable. I don’t presume this blog has fans yet, but it is still incredibly exciting to put a physical product out into the world — even if I’m the only one to buy one.

But, I certainly don’t want to be the only one, so if you like the design I’d sure appreciate if you’d share with your friends. They don’t have to know about HeyDingus, or even what a blog is to enjoy a colorful logo shirt. You can tell them it represents calm waves if you like.

If you do end up purchasing one, I’d love to hear from you! Feel free to post a picture of you wearing it and tag @HeyDingusNet on Twitter.

Merch


Last night I went on a journey into Shortcuts and API requests while trying to solve a problem I have in managing images for this blog. One of the limitations of Squarespace, my website host, is that it’s very reliant on its online editor, including for adding arbitrary images to blog posts. Adding images to posts that use Markdown blocks, as mine do, is particularly clunky. 

I wanted an image solution that was Markdown-native, so that I could keep everything in the text file and adjust while in the writing flow. Shortcuts was the obvious place to turn, as it has Markdown actions, and I do many posts from an iPad. Furthermore, Shortcuts will be fully cross-platform when it comes to the Mac this fall. A few months ago, I found a shortcut by Matt VanOrmer on Peer Reviewed that seemed to solve the problem. Matt’s shortcut takes an image and uploads it to Imgur using the Imgur action included in Shortcuts. It returns the appropriate HTML for pasting into a text editor. 

This solution was good for a while, but I always felt a nag in the back of my mind that I didn’t have any control over what Imgur did with the image files. The hotlinks could suddenly stop working, seeing as using Imgur as a Content Delivery Network (CDN) wasn’t kosher with their Terms of Service. I needed a solution that I could control and rely on before getting too far down the road. I knew I needed to find a traditional CDN.

After some research, I found ImageKit.io which promises fast delivery, has a generous free plan, and an API. I’d heard about using APIs with Shortcuts, but never delved into using them myself. I quickly created an account and located my private API key; it was time to put the rubber to the road.


Below, I give you the full saga so that if you, too, are just starting to make more advanced shortcuts, you can learn from my mistakes. If you’d rather skip right to the goodies, here are the Upload to ImageKit and Upload Image to Text shortcuts that I created.

UPDATE: These two shortcuts have since been streamlined into one standalone shortcut.

Using the Get Contents of URL Action

I knew that the key to making API calls in Shortcuts laid within the Get Contents of URL action, so I started there.

The Shortcuts editor showing an empty Get Contents of URL action.
Okay, now what?

Luckily ImageKit’s documentation for a server-side upload was clear about that first endpoint URL: https://upload.imagekit.io/api/v1/files/upload. That’s where I needed the file to end up.

I wanted to post a file to CDN, so I chose POST as the Method, and File as the Request Body. I immediately ran into a wall: I couldn’t figure out how ImageKit’s parameters fit into the Headers and Request Body. I scoured the internet for screenshots or explainers for making a similar API request. Surely someone else had used ImageKit for this or showed how they upload images to a CDN via Shortcuts. I couldn’t find anything in all the usual places, but this YouTube video did come close.

Many trials of guess-and-check later, I was still banging my head against the wall. The shortcut was reaching ImageKit, but always returned an error about missing the fileName parameter or incorrect authorization. I had to be missing something simple. 

Shortcut showing an error returned from ImageKit.
My best first guess at how to set up the Headers.

I was. It turns out that Headers are primarily for authorization, and require specific formatting. The Request Body is where other parameters should go.

Parsing ImageKit’s documentation with my non-technical eyes (what the heck is a cURL?), I realized that I needed to use Authorization as the key, and Basic username:password as the value for that key. Username is the private API key, and there is no password. I also needed to Base64 encode that user:password string, which, luckily, is trivial in Shortcuts using the Base64 Encode action.

By using Form (not File as I originally guessed) for my Request Body, I was able to add file and fileName for my required parameters, and used variables generated by the shortcut for their values. More on those variables below.

Get Contents of URL action filled out correctly for ImageKit.
I finally figured it out.

Finally, I had success. Shortcuts didn’t error out, and I was able to see my test image in my ImageKit library. Huzzah!

Click here for a screenshot of the full shortcut.

Building Out the Rest of the Shortcut

File Variable - I’m a proponent of building many individual shortcuts as building blocks so that they can be called by multiple other ones. That’s how I typically use this shortcut; I call it as a Run Shortcut action in an adapted version of that Imgur Uploader shortcut that I got from Peer Reviewed. That shortcut does some heavy lifting by getting the image, preparing it for the web by converting it to JPEG, resizing, and then passing it to the Upload to ImageKit shortcut as its input variable. That shortcut also takes the URL returned by this one and gives me a few options for formatting it (plain URL, HTML image, or Markdown image).

Auth (Base64) Variable - I’m using the app Data Jar to store my private key. That way, I can reference it across multiple shortcuts and have only one place to change it if needed. Plus, I can freely share this Shortcut without revealing the key. However, you could just paste your private key directly into the first Text action and remove the Data Jar action altogether. Just don’t forget the colon (:) at the end of your private key to satisfy the user:password format that the API expects.

File Name Variable - ImageKit needs a name for each file uploaded to the library. I enter one in an Ask For Input action, but with the default text set to the file’s existing name. That speeds things up if the file is already named on my device.

Output - A shortcut is only as good as the output, so when Get Contents of URL returns some JSON, you need to do something with it. I used the Get Dictionary Value action to specify that I wanted to get the value for the url key out of the JSON. This is the direct link to the item just uploaded, which is ultimately what I need so that it can be formatted into a Markdown image link.

Checking for Errors - Since I’m running this shortcut from the Share Sheet most often, I need some indication if something goes wrong. The final action returns an alert if I don’t get a URL back from ImageKit.


I hope you enjoyed going on this journey with me. Despite some initial frustration, I enjoyed learning more about making web requests, and how these actions work together. I plan to share more Shortcuts tips as I learn!

Get the Upload to ImageKit shortcut (Original Version) →
Get the Upload Image to Text shortcut (Original Version) →

UPDATE: I have since streamlined these two shortcuts into one. The latest version can be found on RoutineHub.


I’m new at this, so please forgive me if I used some technical language incorrectly here.

Shortcuts Blogging


Filipe Espósito writing at 9to5Mac:

Within the internal files of iOS 15 beta 1, each major feature introduced this year has a unique identifier (also known as a flag) that is associated with a disclosure requirement.” In other words, this allows Apple to enable only certain new system features in internal builds so that an engineer or designer in one area doesn’t need to see everything that’s new in others.

I’m actually surprised that this sort of secrecy protection presumedly didn’t exist before now. I wonder if it complicates the development of features that depend on each other (e.g., Shared with You in Messages and Safari). Apple probably has a clever solution for such a problem.

Go to the linked site →

Linked


Plant growing from a pile of pennies
Creators say Apple’s cut of in-app purchases prevents them from growing their business. (Image: Micheile Henderson on Unsplash)

Jacob Kastrenakes writing at The Verge about Fanhouse and other creator-focused apps’ clash with Apple’s App Review:

The app only takes a 10 percent cut on its own, so the platform’s creators could soon be earning a whole lot less. Rice says she would be okay with handing Apple a 30 percent cut of Fanhouse’s own profits. But once that 30 percent has to cut into creators’ profits, it starts to hurt people, not just the platform. This money really means a second job for some people, that they have a place to live, that they can afford tuition,” Rice says. And we tried to explain this to Apple.”

and

Apple’s App Store rules didn’t even acknowledge creators until this week. On Monday, they were updated with a new section saying that creator-made content and experiences are allowed in apps — so long as they’re properly moderated and monetized for Apple.

A reckoning is brewing, not just from big corporations, but from (influential) creators too. I hope Apple is willing to reconsider some of its App Store policies, which are now over ten years old, for the new lay of the land. They’re going to need to bend or risk breaking.

Go to the linked site →

Linked


June 15, 2021

Tempted by Spotify

Spotify logo.
I’m getting green with envy.

A few weeks back, José Adorno at 9to5Mac reported on Spotify’s new personalized features, and it added another straw to the camel’s back in my temptation to use Spotify:

Spotify announced today a new global campaign called Only You,” an in-app experience with personalized playlists to celebrate its users’ uniqueness. The new feature is accessible via the Spotify for iOS application and it comes with six different in-app experiences.

Those in-app experiences are ways to learn about your own music tastes based on artists you’ve enjoyed recently, the music you listen to at particular times of day, the years your music tastes stem from, and more. They’ve even introduced a new Blend feature, which automatically creates a mix of music that you and your selected friend would both enjoy.

The Blend feature would be awesome for road trips with my wife so that we’d get a good mix of music that each of us like. Meanwhile, Apple Music doesn’t even have collaborative playlists.

These interesting experiments, driven by data and algorithms, are what set Spotify apart. Apple Music’s claim to fame has been its human curation. Many of those Apple Music playlists are great — the Essentials Playlists in particular are excellent when trying out a new artist — but we miss out on neat personal insights that can only be derived by a trove of listening data. We’ve entrusted that data to Apple, but they rarely do anything interesting with it.

Apple’s Not Feeling the Competition

Before Apple Music, I was a happy Spotify subscriber. When Apple’s streaming service was introduced in 2015, there weren’t a ton of features that set the services apart, so I switched to better integrate with my existing iTunes Library. Since then, I’ve watched with some side-eye as Spotify users celebrate their discovery of new music using its algorithmic playlists, and share their Wrapped stats at the end of each year. I keep thinking that Apple will feel the pressure and respond with similar features, but so far I’ve been disappointed.

I’ll give them that Spatial Audio is genuinely great, and was a big introduction. But music made with Dolby Atmos wasn’t an Apple-first feature, and I imagine it will become table stakes sooner rather than later.

Despite longing for more social features and better use of my listening data, I’m doubtful that I’ll make the switch back to Spotify. I share Apple Music with my wife through iCloud Family Sharing, and it’s bundled in with an Apple One subscription at a great price. So, I’ll continue gazing toward the greener grass. But it draws my attention to the anti-trust and anti-competitive arguments currently being made against Apple. Do they actually face competition from outside their ecosystem? In this case, for me, no.

Music


During the whirlwind of WWDC last week, from the keynote to the session videos to the gems found within the betas, one thing kept coming back me: the lines between each operating system (OS) are blurrier than ever.

For years, we have wondered if Apple would combine its many operating systems into just one for all their devices. Indeed, since iOS was famously a variant of Mac OS X — and all the other modern OSes were forked from iOS — it didn’t seem like much of a stretch that they could be brought back together. Anxiety for this unification was rooted in fear from the Mac community that macOS was neglected in favor of iOS, which powered Apple’s more flashy and much more popular devices. Mac users feared that their preferred platform, the most powerful and flexible, would be simplified and restricted to what could run on an iPhone or iPad.

And the community had good reason to question Apple’s allegiance to the Mac’s future. Hardware stagnated and disappointed. Mac OS X 10.7 Lion introduced the first of several user interface (UI) transitions that brought many interface elements from the mobile systems. Leather and wood-styled window chrome did not feel at home on the Mac but wouldn’t be fully removed until the next UI makeover in OS X 10.10 Yosemite. In that release, Apple returned to a more cohesive design with the Mac itself, but it was in line with the simplified, flatter, and transparency-oriented design of iOS 7. With macOS 11 Big Sur, redid macOS again, this time with more space, unified icons with their iOS fellows, and again simplified title bars and sidebars. Indeed, on Big Sur, some Mac apps were nearly indistinguishable from their iPad counterparts.

However, during all this time of flux and redesign, Apple’s response to questions about macOS going away or uniting the OSes was a firm No!”.

Some Advantages?

Let’s say that Apple did want to unify its platforms, despite its insistence to the contrary. What would be the advantages? It would mean that developers could write apps just once to be deployed across an iPhone, iPad, Mac, Apple TV, and Apple Watch. This streamline would give them more places to acquire customers without the effort of rewriting for another device.

For users, the advantages are many. Features would be available across all platforms simultaneously instead of a slow rollout, if at all. Users would need to learn only one UI (optimized for each platform and its appropriate input devices, of course). Fewer UI paradigms mean less cognitive load, making it easier to switch between devices. If it’s easy to switch between Apple devices to get things done, more users would likely buy within the ecosystem, a bonus for developers and Apple alike to keep those customers. And the devices could work more seamlessly together if they were all running the same software.

Would it all be rosy? No, of course not. But assuming existing features were brought into this new unified OS rather than abandoned, it sounds compelling.

What Do We Have Today?

But, Wait,” you might say. All those benefits sound similar to what we have in the Apple ecosystem today, despite no unifying appleOS.” Have we arrived there anyway?

Let’s look at the newest releases coming out of WWDC21: Each platform does use a consolidated UI with similar visual styles (e.g., transparency, white space), iconography (e.g., app icons, SF Symbols), and interaction model (e.g., Control Center, keyboard shortcuts, focus engine). Each UI is refined for their screen size, direct or external input, and intended use case, but nobody could miss the family resemblance.

Furthermore, features that once would have been prioritized to come to iPhone and iPad first and now becoming available on day one for the Mac. This year’s WWDC showed off many such features like Live Text, FaceTime improvements, and Shared with You. More times than not, Apple simply recapped features in each section of their keynote, saying that they were also coming to their subsequent platforms.

Technologies like Swift, SwiftUI, and Mac Catalyst mean developers can create more efficiently across all Apple’s platforms than ever. They can share code and start to bring existing mobile apps to the Mac with the click of a button. App Bundling and Universal Purchases make getting their apps onto all of their customers’ devices seamless, which is a great selling point. Today, developers can get features for free” — like Mac Menu Bar commands appearing in iPad versions of apps, without any additional work.

And with the Mac, the last holdout, making its transition to Apple silicon means that features can be designed from the start with all of Apple’s devices in mind. We got a taste this year with innovations that use the Neural Engine, image processing pipeline, unified memory, and the guarantee for both power and efficiency cores in the CPU. And automating on and between devices is tied together ever more tightly with Shortcuts and Siri.

What’s Still Missing?

If we’ve gained the benefits of a unified OS, what keeps Apple from making the final leap to an official introduction? For one, unified input across devices isn’t quite there. The iPad is Apple’s most versatile device with native touch, keyboard, pointer, and stylus input. Device input is a sticking point for Apple, which seems reluctant to bring touch to the Mac and more complexity to the iPhone. I could envision a future in which the Mac gains basic touch interaction, and the iPhone gets compatibility with the Apple Pencil. Perhaps touch and stylus support could come to external monitors as a stopgap.


Ultimately, introducing appleOS” is a marketing decision as much as it is a technical one. All the platforms stem from the same software foundation and now run on the same chip architecture. Code and UI creation tools have been designed to work across platforms seamlessly and will only get more capable. And all this has happened without the Mac, or any other platform, losing what makes it special.

Perhaps Apple was being honest about having no plans to eliminate the Mac or create a franken-OS. Instead, they’ve elegantly transitioned and tied their OSes together right in front of our eyes. Those of us who were rooting for an appleOS can stop dreaming. If we take a look around, we’ll see that we’re living it.

WWDC


Parker Ortolani at 9to5Mac outdid himself in compiling stand-out moments from nearly 25 years of WWDCs:

Apple’s Worldwide Developers Conference is our Super Bowl. It’s the most important time of the year for Apple fans, journalists, and of course developers. Each year for more than 20 years, Apple has brought its community together and spent a week detailing their next major software innovations.

[…]

Even though WWDC technically started in 1990, let’s start where things got interesting, which is in 1997.

With WWDC21 freshly in the rearview mirror, it is fun to compare this year’s conference highlights to the past 20+ years of conferences. I’ve been watching the keynote and following the development community for the past 14 or 15 years, so it was neat to catch up on Apple’s turnaround in the late 90s and early 2000s from a development perspective.

The pace at which Apple reinvented itself leading up to the launch of the iPhone was almost breakneck. I didn’t know that Xcode wasn’t even introduced until 2003, and just a few years later, it was the center of development for Apple’s most important devices. When the iPhone was introduced in 2007, Apple couldn’t and didn’t slow down. Thinking about how many operating systems they now maintain (iOS, iPadOS, macOS, watchOS, tvOS), I’m even more impressed at what Apple gets out of the door every year.

Indeed, here are three things that stood out to me from this year’s WWDC:

WWDC 2021
June 7-11 - Cupertino
Apple Park
Highlights

  • Xcode Cloud provides developer teams better and more efficient ways to work together, and even individual developers can take advantage of cloud compiling and testing.
  • Privacy features give users even more options to mask their online activity through iCloud Private Relay, Mail Privacy Protection, on-device Siri, and more.
  • Shortcuts on the Mac brings the building block-style automation that millions are familiar with to Apple’s most powerful platform.

Shortcuts is the future of automation on the Mac.” - Craig Federighi

Go to the linked site →

Linked WWDC


June 13, 2021

7 Things This Week [#13]

  1. The fine folks at Panic (historically a software company) have been working on their first hardware product for the past couple years: a delightful handheld gaming device called Playdate. This week they posted a video update about it as they near the finish line. Playdate looks like a super fun gadget full of original ideas (look at that crank!) — but the video presentation was also really creative! The graphics were next level, and I appreciated how despite the slides” being behind the presenters, they were effective and kept the focus on the person.
  2. Over the past few days, I binged a quick, five-episode podcast series about creating a new pasta shape. Sounds boring, I know, but I was enthralled! The three-year journey had success and disaster, and many experts telling Dan, the host of Mission: ImPASTAble, that his dream of creating a new kind of pasta was unrealistic and unattainable. But Dan’s infectious enthusiasm and years of hard work resulted in something great. I can’t wait for my order to arrive. [Via Kottke.org]
  3. It’s difficult to see your idols fall. People are multi-faceted, and I believe that Tim Cook and Co. from Apple do good things to advance not only computing, but society in general. However, I find it hard to disagree with Marco Arment here. The fallout from comments Apple’s leadership has made (both in public and private) on their third-party developer relations, is a black eye that they need to acknowledge. Only then can they learn, adapt, and start to heal the damage.
  4. Jason Fried, of Basecamp, wrote a short piece about listening to podcast episodes from 12 months ago — at which time we were still freshly into the pandemic. He found it insightful to look back at how much we didn’t know, even as we tried to make the best of a deeply scary and uncertain time. I’ve been listening to back to decade-old episodes of Hypercritical, a tech podcast by John Siracusa and Dan Benjamin.1 It, too, is fascinating to consume with the benefit of future knowledge.
  5. I’m glad that Twitter is exploring a paid experience, but these are not features I would have chosen for it. The most obvious feature, removing ads, is missing, and the 30-second undo feels half-assed. Instead of fully editable tweets, they provided a feature that any third-party could implement for free. Hopefully they keep iterating and adding more value here.
  6. I was one of the people crossing their fingers for Face ID on the Mac. John Gruber’s explanation of Apple’s support document about Secure Intent lends credence to why we haven’t seen it introduced yet. To confirm intent that can’t be spoofed, it would likely need a physical button press anyway, which is why we saw Touch ID introduced on an external keyboard. I’m with Gruber that Face ID would still be nice, but I’m not as eager for it anymore.
  7. Upon seeing the new logo for WarnerMedia and Discovery’s merged media company, I literally laughed out loud. M.G. Siegler had a good take: Discovery’ is a better brand for today’s world, much like how CBS All Access recently changed to Paramount+ for their streaming service. Keep Warner Brothers’ for the movie studio if you must, but Warner Bros. Discovery’ is no good.

  1. I’ve been using this neat tool to have the podcast delivered weekly, just as it was back when each episode was originally released. ↩︎

7 Things