Also new in macOS Mojave beta 7 is kAEDoNotPromptForUserConsent, a flag that can be added to the AESendMode that’s passed to AESend().

If the AppleEvent sent that way would require user consent, the user is not prompted for consent. Instead AESend() will return errAEEventWouldRequireUserConsent.

What’s up with the documentation this year? We’re now on beta 9, but Apple hasn’t mentioned this important stuff anywhere but the headers. And there are still no release notes for Foundation, Core Data, and other frameworks besides AppKit.

AppleEvent sandboxing, as of Mojave beta 9, is not in a good shape. The addition of new APIs in beta 7 telegraphed that Apple is still working on it. But it’s unclear what changes are still in the pipeline - and whether Apple can make enough progress before Mojave’s public release.

Apple has been talking a good game lately about the Mac and professional users, but actions like this either make it seem like mere talk or point to division within the company. The general idea of AppleEvent sandboxing is not a bad one, but the rollout was botched. Apple did not seem to be aware of how disruptive this would be for developers or how much it will degrade the user experience for customers. That is impossible to square with the idea that it understands and cares about pro users. Or, alternatively, Apple understood this but development was way behind schedule and, for no discernible reason, it decided to rush ahead rather than take the time to get it right for macOS 10.15.

Given Mojave b9 created a whole NEW set of display problems in app (none which existed in any prev beta) does not give me encouragement that Apple will fix #AEpocalypse in time or in a user-friendly manner. #bigmess

[…]

And it will be individual developers that will be left to try and work around Apple’s rushed decision making and half-assed implementations. This stuff feels seriously rushed.

When a schedule starts, those prompts suddenly appear, referencing an invisible application called Copy Job. And while a user might recognize a prompt for SuperDuper, it’s quite unlikely they’ll know what System Events is, or why they should allow the action.

Worse, a typical schedule runs when the user isn’t even present, and so the prompts go without response, and the events time out.

Worse still, a timeout (the system defaults to two minutes) doesn’t re-prompt, but assumes the answer is “no”.

[…]

It’s more than a bit ironic that an approach that avoids the prompting can do far more, silently, than the original ever could, but that’s what happens when you use a 16-ton weight to hammer in a security nail.

As part of macOS Mojave, Apple introduced new controls for accessing data in the individual user home folders. Along with these controls, Apple introduced the ability to whitelist certain actions and interactions using profiles. This repository stores Privacy Preferences Policy Control profiles, also known as TCC profiles, which I’ve created using the following tool[…]

Using the x-apple.systempreferencesURL scheme, it’s possible to open System Preferences right at “Security & Privacy > Privacy > Automation” by opening this URL[…]

[…]

Passing false, errAEEventWouldRequireUserConsent is returned even if the user was previously prompted and declined permission.

In consequence, even for running applications, AEDeterminePermissionToAutomateTarget can’t be used to silently determine the current status. To be usable for that, it would need to return errAEEventNotPermitted in case consent is required and the user has already been prompted about it and denied. This feels like a bug. Paulo Andrade has filed a radar about it.

So in many of these cases the prompt has a negative effect on user experience, can be misunderstood, and contributes even further to numbing down the importance given to security alerts (which ultimately defeats the purpose of having any).

[…]

Automation has always been a staple of macOS. And there was a time where it was booming. Apple gaves us Automator, the Scripting Bridge and bindings to other programming languages. The excitement you see today regarding Siri Shortcuts, us Mac users, we’ve experienced it before.

But a few years back (I can’t precise when), development stopped. And the only thing we would hear at WWDC was how signing, gatekeeper and sandboxing were affecting our applets, automator flows and APIs.

I cannot run a number of my automated tests.
My tests test functionality that uses AppleEvents or the tests use AppleScripts themselves to verify test results. Adding the usage description keys to the Info.plists of the xctest bundles does not work. Also, it’s unclear which app the keys should be added to as it’s not documented whether a helper app, or its enclosing app needs to include them. On top of that, I don’t own the running app in this case so changing those keys will break the code signature.

[…]

In short, unless Apple fixes this soon, or even better, rolls it back to be released later, things are going to be a bit bumpy in Mojave. As a user, you may be surprised how often AppleEvents come up in the apps that you use.

The new Apple Event Sandboxing in macOS Mojave is going to be a disaster. This is the alert when auto-filling credentials from 1Password (v. 6.8) in Chrome. Normal users will bump into this & break their system.

However, the view controller that needs camera and microphone access has multiple previews, and a live audio level meter. The calls from AVFoundation to request access are asynchronous. That means that bringing up that one view controller triggers six different alerts in rapid succession, each asking for camera or microphone access. That’s not a user experience we want to present.

[…]

There’s another complication, though. The user alert for each kind of privacy access (camera, microphone, calendar, etc) is only presented once for each application. If they clicked “grant”, that’s great, and we’re off and running. If they clicked “deny”, though, we’re stuck. We can’t present another request via the operating system, and we can’t bring up our recording preview.

Enter the nag screen. The nag screen points the user to the correct Privacy & Security pane. We will show the nag screen (optionally, depending on a parameter to our gatekeeper method) from the completion handler if permission is not granted.

Consent for automation (using AppleScript) is more complicated. You won’t know whether you can automate another application until you ask, and you won’t find out for sure unless the other application is running. The API for automation consent is not as well-crafted as the API for other privacy consent.

Mojave’s protection system, TCC (for Transparency Consent and Control), has to work with old apps, built before these controls were implemented, and new ones, which may have the protection of being App Store apps, or can be ‘hardened’ and notarized. To cope with this wide range, its rules may appear complex, so I have sketched them out in a diagram which explains what happens when an app tries to access protected data.

Honestly, I have never seen Apple adding such essential limitations so late in the beta. In this case, in beta 6. Add that to the more or less complete lack of communication about this vast limitation, and you are bound for trouble.

The limited way that Apple seems to offer to developers to tell the users why they want AppleEvent access to an app (only a single text string per application for all AppleEvent-related actions to all possible other applications!) - and the very lame idea from Apple to name this new dialog “xx wants to control yy”, will cause all kinds of important features in so many apps to break.

Developers now suddenly need to test every single one of these places in their code and add graceful, defensive code that explains to users, if and why a feature failed in macOS 10.14.

The strange thing with apps created by the Script Editor is that it does what everyone agrees you shouldn’t do: it adds usage information for every class except Location services, as shown in this shot from Taccy.

Building scripting into Mojave’s privacy control is not easy, nor is it yet complete. I think that Apple is going to have to provide more extensive support to app developers, and the human interface will inevitably improve. It would make a great deal of sense for apps to be able to obtain pre-approval when first opened, so that users can give their consent to the features that they have just paid for, to access their own data. But this is going to require great care, for fear of opening vulnerabilities which will allow rogue apps to exploit the system.

The first time you run a script that addresses an application, you will be asked to grant your permission. If you do not, the script will not run. Script Debugger’s Dictionary Explorer works by sending Apple events to applications, so you may be asked for permission when exploring an app’s dictionary, rather than directly running a script.

I’ve been testing Folder Actions in macOS Mojave 10.14.1, and the results aren’t good. Apple needs to look at how new security approvals are implemented for workflows containing Apple Event scripts, because the reliability of automated actions has taken a dive.

This was my first real experience trying to write a Mac app after years of doing iOS development and the majority of my time was spent trying to understand how sandboxing works and which entitlements I needed to specify.

It is substantially more fluent than its standard implementation of value % divisor == 0. Divisibility testing is the operation people actually want; the % operator is just the way they have to achieve it. % is rarely used outside of this idiom, and many programmers have no other reason to know it. It is not a familiar operator for new programmers especially: they will usually be comfortable with remainders in the context of division, but they aren’t used to thinking about computing a remainder as a separate operation, and they certainly don’t recognize % as a symbol for it. Even experienced programmers often mentally “pattern-match” this sort of expression to recognize it as a divisibility test instead of thinking through the arithmetic of it.

Encouraging the use of isMultiple(of:) (and !isMultiple(of:)) serves to counter bugs around negative remainders.

It has some potential for better performance, especially when applied to large integers. In this case, this impact would probably not be a sufficient justification on its own.

A related common operation, the one I want to focus on here, is to test whether a number is an exact multiple of another, using the remainder operator[…]clang and gcc leverage the same division-into-multiplication trick to optimize
this operation, first performing the division via multiplication, then
multiplying by the divisor and comparing the result to see if the result
matches[…]

[…]

Can we do better? It
turns out we can, using some tricks with modular arithmetic. Integer arithmetic
in a 32- or 64-bit CPU register wraps if it overflows, effectively implementing
the integers modulo 2³² or 2⁶⁴. An interesting property of integers modulo 2ⁿ is
that every odd number has a
modular inverse,
which is another number it can be multiplied with modulo 2ⁿ to produce 1.

Researchers at Nasdaq-listed Check Point Software Technologies said that fax machines — which still reside in many offices — have serious security flaws. Those vulnerabilities could potentially allow an attacker to steal sensitive files through a company’s network using just a phone line and a fax number.

In a report released on Sunday, Check Point researchers showed how they were able to exploit security flaws present in a Hewlett Packard all-in-one printer. Standalone fax machines are a rarity in companies today, but the fax function is still present in commonplace all-in-one printers.

They faxed over lines of malicious code disguised as an image file to the printer, relying on the fact that no one usually checks the contents received over a fax. The file was decoded and stored in the printer’s memory, which allowed the researchers to take over the machine. From there, they were able to infiltrate the entire computer network to which the printer was connected.

Oftentimes when HP releases firmware updates for printers and multifunction devices, the company only makes the firmware available in the form of an EXE file — a Windows application. In spite of the severity of the Faxploit bugs, HP has not made an exception to this unfortunate practice.

Of the more than 150 affected models for which HP released firmware updates, approximately one quarter of them do not have a Mac-compatible firmware update installer available to download through HP’s support site.

Since acquiring NetNewsWire from Newsgator in 2011, we’ve invested a great deal in the continued development and support of the product suite including the addition of a free sync service. Unfortunately, the ongoing cost of support and feature development for these products require more dedicated resources than we are able to provide.

With that in mind, today we are removing all versions of the app from sale. We’ll continue to run the sync service for another 60 days, then take it offline at the end of October.

We would also like to announce that the NetNewsWire brand will be returning to its original creator, Brent Simmons.

You might reasonably wonder if nevertheless [Black Pixel] asked for some large amount of money. There was no charge. That’s what I mean by “incredible generosity.”

[…]

You probably know that I’ve been working on a free and open source reader named Evergreen. Evergreen 1.0 will be renamed NetNewsWire 5.0 — in other words, I’ve been working on NetNewsWire 5.0 all this time without knowing it!

It will remain free and open source, and it will remain my side project.

Classy move by Black Pixel, and it’s great to have Simmons working on NetNewsWire again after all these years.

Over the years I considered other news readers such as Reeder (which is free for a limited time, by the way), but none of them scratched that NetNewsWire 3 itch. I rely upon some arcane features of the app including “scripted feeds,” which allow me for example to run Python scripts on my Mac that connect to Twitter and generate RSS feeds from search results. That’s not possible in most feed readers.

I used to fantasize about getting access to the NetNewsWire 3 source code and sprucing it up. I wondered how things might have turned out differently if, in addition to acquiring MarsEdit from NewsGator, I had acquired both? I can’t say I would have done a better job than Black Pixel, but I would have preserved the features I care about, and that Clippings folder icon would be the right size!

So what’s a goTenna Mesh? It’s a portable battery-powered antenna that’s capable of forming an ad-hoc wireless mesh network with other goTenna Mesh units in-range. That is to say, they don’t connect to the internet, wi-fi, or the cellular network -- just to each other.

[…]

The most realistic use-case right now is for people who need to communicate at a distance, but do not have cellular network coverage.

[…]

Unlike many goTenna users, I'm rarely off the beaten path deep in the woods, or on an ocean cruise. I bought my goTennas to show my support for an ideal that I strongly believe in: that there should be an affordable, easy-to-use, community-owned alternative to big telecom infrastructure, and that public spectrum is a wonderful thing that we should use.

I went on a bit of a journey exploring how our websites are experienced across these technologies and how we can make sure that our content is interpreted the way we want, regardless of how people are consuming it.

For demo purposes let’s look at what a simple HTML page looks like in Instapaper, Pocket and Safari’s Reader mode and compare <div> only content and semantic HTML.

Cees Links – today general manager at Qorvo – was there. Cees & his team had been working for more than a decade on introducing WLAN technology to the masses, but without luck. After plenty of attempts, Apple finally came to Lucent and said they wanted to meet, giving Cees and team a week to show up in Cupertino.

[…]

“Presenting for Steve Jobs was actually quite easy. I just put up the slides and he did the talking, and his talk was not necessarily related to the slides at all. In the end he told us he wanted the radio card at a cost of $50 because he wanted to sell it at $99,” says Cees.

Gutenberg’s key innovation was really in the typecasting process. Before Gutenberg’s time, creating letters out of metal, wood, and even ceramic was extremely time consuming and difficult to do in large quantities. Gutenberg revolutionized hot metal typesetting by coming up with an alloy mostly made of lead that could be melted and poured into a letter mold called a matrix. He also had to invent an ink that would stick to lead.

[…]

The Monotype System is an exquisite piece of engineering, and in many ways represents a perfection of Gutenberg’s original workflow using Industrial Age technology. It’s also a fantastic example of early “programming” since it made use of hole-punched paper tape to instruct the operations of a machine—an innovation that many people associate with the rise of computing in the mid-20th century, but was in use as early as 1725.

Like Gutenberg, Lanston sought to refine the workflow of typesetting by dividing it into specialized sub-steps. The Monotype System consisted of two machines: a giant keyboard and type caster.

[…]

The Selectric’s key feature was a golf ball-sized typeball that could be interchanged. One of the typeballs IBM made contained math symbols, so a typist could simply swap out typeballs as needed to produce a paper containing math notation. However, the printed results were arguably worse aesthetically than handwritten math and not even comparable to Monotype.

[…]

TeX was a remarkable invention, but its original form could only be used in a handful of locations—a few mainframe computers here and there. What really allowed TeX to succeed was its portability—something made possible by TeX82, a second version of TeX created for multiple platforms in 1982 with the help of Frank Liang.

Apple’s AirPort line may be discontinued, but AirPort Express got one heck of an update today. Firmware update 7.8 for the latest AirPort Express hardware (2012 2nd-gen model, no longer sold) adds support for AirPlay 2 and Apple’s Home app.

What a nice surprise. Now how about making the Apple TV 3 remote work from Control Center?

My ancient AirPort Express, pulled out of a drawer, is now playing music on an external speaker synced with my HomePod stereo pair and my Mac’s external speaker, which is an iPod Hi-Fi. (Oh goodness, if I attached the iPod Hi-Fi to the AirPort Express, it would be an AirPlay 2 speaker. Would the universe implode?)

According to John Voorhees over at MacStories, this only works for the second-generation AirPort Express that looks like a white Apple TV, and it needs to be added manually to the Home app — that is, you can’t just scan it to add it.

I am not saying that this is bad for owners of the second-generation AirPort Express. It’s great that there is now a way to bring dumb speakers into the AirPlay 2 ecosystem, connecting via the Express’s aux input. Specifically, the absurd part of this is that they rolled this out to a product that they discontinued months ago, the Express has been delisted from the Apple Store, and there isn’t a replacement product for people to buy that can achieve the same result.

[…]

What I hope Apple introduces is a rebranded/redesigned AirPort Express for $49, that ditches all of the wireless networking stuff and just acts as an AirPlay 2 audio repeater.

While the lack of 3D Touch on the 6.1-inch iPhone would make sense, given expectations that it will essentially be a budget iPhone X, it’s not entirely clear why it may be removed from the more expensive OLED models next year. As a somewhat hidden feature, perhaps Apple no longer finds it essential.

The most immediate example is the home screen. Long press activates move/delete mode, 3D Touch brings up common app features and/or a widget. It might not be my primary interaction, but I do like having it there. I don’t think I’m the only one

3D Touch never took off. That’s not saying long or force pressing is dead. Do we need dedicated hardware for long or force taps? No. Do we need Force Touch to be distinct from Long Tap? No. Unadopted unnecessary complication for tiny upside → kill it.

3D Touch is difficult/expensive to implement, especially on larger screens (hello iPad.) It doesn’t sound completely incorrect to me, because the price for implementation doesn’t seem worth the payoff. But Apple would have to walk back their reliance on it for first party apps.

I think they finally found a winning / obvious use for it in the iPhone X’s flashlight / camera buttons; hopefully they keep it around and lean into it more heavily in iOS 13 for complications and such.

I don’t believe rumors of ‘no 3D Touch’ coming from component suppliers. Seems far more likely that they’ve figured out new way to do 3D Touch that doesn’t require heavy back plate, thus making viable on iPad. The answer to user problems is ‘disable by default’, like right-click

3D Touch didn’t appear out of nowhere, it was worked on for many years before it was introduced and forms a key part of contextual & haptic design on iOS. It sounds ridiculous to remove it just because some people have difficulty moving icons around

On the other hand, there may be indicators that 3D Touch hasn’t worked out as expected: it’s still not on iPad, for instance, nor the iPhone SE (which is still in the lineup). I don’t know if anybody would miss it if it were dropped on macOS, either

If you were to nix 3D Touch, you’d have to relocate (or remove, a la iPad) SpringBoard shortcuts & widgets, and view controller previewing & context menus. You’d only be left with a longpress you’d have to overload with features, which doesn’t make moving icons any easier

In my experience and estimation, I invoke 3D touch when I didn’t want to about 1-2% of the time when I only wanted a long press; and 3D touch fails to register when I wanted it to about 5-10% of attempts. Both of these percentages are frustratingly high.

while I’m here, the other issue is 3D Touch is impossible to use consistently as a designer. You have to plan 3 separate UIs (iPhone without 3D touch, iPad, iPhone with 3D touch). By its very nature, 3D Touch affordances have to be dispensable

The left image was taken in 2014 with a 2011 Pansonic Lumix DMC-ZS10 pocket camera (specifications); the right image was taken in 2018 with my 2017 iPhone 8 Plus. (Interesting to note that I didn’t bring my DSLR on either trip…the best camera is the one you have with you, right?)

Neither of the above images has been edited, beyond whatever algorithms the cameras use when saving the photo. Frankly, I was amazed at just how much better the iPhone 8 Plus photo is compared to the one from the Lumix[…]

[…]

In near-identical conditions (check the light in the windows behind the plane), the iPhone was able to shoot at a lower f-stop, with a lower ISO, and at a faster shutter speed. That’s pretty amazing. Also note the efficiency of the HEIC file format: The iPhone photo is 22% of the size of the Lumix photo!

I sold my Canon pocket camera a couple years ago. In rare cases it would take better photos than my iPhone, but (perhaps because I’m not very skilled) the average iPhone photo was better.

Siri is about to get a huge upgrade in the way it answers users questions and searches.

In a new job listing posted today, Apple says it is seeking a writer and editor who can help evolve Siri from one of the most-criticized digital assistants into a “distinct, recognizable character.”

[…]

Apple says the ideal candidate excels at the craft of writing and loves language and wordplay. The person hired will probably have a huge influence on how Siri interacts and converses with users by injecting more personality into the digital assistant.

It’s a tricky problem how to implement universal Undo without a menu bar and without keyboard shortcuts. Even Cut/Copy/Paste were tricky enough that it took until iOS 3 for the iPhone to get them. That’s why the menu bar and keyboard shortcuts are such essential elements of the Mac experience.

Shake to Undo is problematic enough that I think Apple should have figured out something better for the iPhone by now. (For accessibility reasons, you can turn Shake to Undo off, but if you do, you don’t have any Undo at all.) My best suggestion would be to take away some space from the auto-suggestion row above the keyboard and put in an Undo button on the left, just like the iPad.

I’d like to see undo available via Siri and Control Center (since that doesn’t need the keyboard). Unfortunately, it just doesn’t seem to be as pervasively implemented on iOS as on macOS.

The poll results at the bottom of this @benlovejoy piece on my Shake to Undo piece are eye-opening. Only 35 percent of responders ever use Shake to Undo, and 85 percent agree that Apple should add an Undo button above the iPhone keyboard.

And lets not forget that Shake to Undo provides no context for the undo operation. Do you want to undo the last text edit or undo the deletion of an email? With split-pane on iPad, which app should respond?

In 2014, iOS 7 was released with the new NSURLSession API for networking to replace NSURLConnection (which ended up being deprecated in iOS 9). At Twitter, we wanted to modernize our original network code and design something scalable and robust that would last at least the next 10 years. We took that opportunity to assess the drawbacks of the system we had in place and enumerated all the possible improvements we could build in an encapsulated framework that was modern and scalable.

Twitter Network Layer (TNL) was first built in 2014 and over the course of the next two years, we transitioned everything over to TNL while iterating on the framework. TNL has now been in production for 4 years, 100% adopted for over 2 years, and has had no bugs identified in the last 18 months.

[…]

There is an additional benefit of having TNL abstract away NSURLSession instances, which is an automatic performance gain of reducing the number of NSURLSessions that would need to be created.

I’ve been checking my personal emails 3 times a day or less for the last 2 months, and it’s had a noticeable effect on my mood, happiness and self-esteem.

Your compulsion of choice might be Twitter, Instagram, or Reddit. Whatever it is, you might be a bit happier if you used it a bit less, so here are the habits and thought patterns that helped me with my emails.

[…]

Between 2013 and a few months ago, I had an email-hungry gorilla on my back. She was always demanding to know whether any long-lost friends, reporters (it happened once, it could happen again), or well-wishers had gotten in touch during the last few minutes. I also had a vague and mounting sense of wanting to check my emails less. Every time I did open my inbox I felt like I had failed at something, and had given in to my cravings and my gorilla. Whenever I even considered checking my emails I felt a duty to try to resist. Then I either spent some willpower, which we’re assuming is a finite resource, or gave in and felt like a gross loser.

Until Paul mentioned his own problems, I glossed over these failures because I was satisfied that my production built versions, linked against the 10.13 SDK, were “working fine.” But Paul’s report got me thinking: was it possible there is some unspoken contract here, whereby linking against the 10.14 SDK opens up my app to additional privacy related requirements?

I tapped into Xcode’s Info.plist editor for FastScripts, added a new field, and typed “Privacy” on a hunch, because I’ve come to realize that Apple prefixes the plain-English description for most, if not all, of their “usage explanation” Info.plist fields with this word[…]

Aha, that first one looks promising. You can right-click on an Info.plist string in Xcode to “Show Raw Keys/Values”, and doing so reveals that the Info.plist key in question is “NSAppleEventsUsageDescription”. After adding the key to my app, I built and run again, and running the same script as above now yields the expected authorization pane[…]

I believe the WWDC session said that the other usage descriptions are required if you build with the macOS 10.14 SDK. NSAppleEventsUsageDescription was not added until Beta 7, though. It’s kind of odd that this key just has a single string value, since an app might want to send events to any number of different apps, for different reasons. Everything needs to go in that one string.

And it’s too bad there’s no corresponding usage description or prompt for Full Disk Access. Your app just gets a permissions error, and you have to explain to the user how to enable access in System Preferences.

But honestly, we’ve been resource-constrained as a small company to do justice to Manuscript, especially as Glitch has taken off and demanded our attention, and the market for software project management tools has gotten more competitive. So recently, we started looking at whether we could find a new home for Manuscript that would provide it with the investment and focus needed to not just support the current users and functionality of the platform, but to expand both.

Update (2018-09-13): Based on an e-mail I received, it looks like Manuscript is being renamed back to FogBugz and that DevFactory is using a different system for their customer support (rather than eating their own dog food, as Fog Creek did).

These images came from the OS, running on actual hardware; I didn’t use virtual machines at any point. I ran up to 10.2 on an original Power Mac G4, while a Mirror Drive Doors G4 took care of 10.3, 10.4 and 10.5. I used a 2010 Mac mini for Snow Leopard and Lion, then a couple different 15-inch Retina MacBook Pros to round out the rest.

Even here in 2018, RAW files can be difficult to deal with due to their size. In 2005, they were all but impossible to manage. Aperture set out to fix that, as Apple’s website said[…]

[…]

The specifications for Aperture 1.0 were as steep as the price. Apple created a free “Aperture Compatibility Checker” application to help determine if your system met the requirements.

[…]

No doubt the program struggled to shake its early reputation. The performance woes and underwhelming feature set in the first version tainted people’s opinions in a way that was hard for Apple to shake. I have no doubt that some who paid that initial $499 price tag were disappointed by their investment.

Despite persistent rumors that it would be cancelled, Aperture improved through its two major revisions. Apple added much-needed tools and features, all while making the software more responsive and less frustrating to use.

Another interesting tidbit is that Aperture was probably Apple’s highest profile early use of Core Data, but it was then rewritten to use SQLite directly (as does Lightroom).

Even today, I am a reluctant Lightroom user; I can’t tell you how much I wish Aperture were still around, with support for iCloud Photo Library. For all its faults and bugs, I always got a kick out of editing my photos in Aperture. In Lightroom, it feels like a chore.

Apple has announced that its Back to My Mac feature will not be supported in macOS 10.14 Mojave, when it is released shortly.

In that announcement, it provides links to articles detailing the services which it recommends users change to instead. These are iCloud Drive for file sharing, accessing another Mac using built-in screen sharing, and managing your Mac remotely using Apple Remote Desktop (which costs £74.99 from the App Store, and hasn’t been updated since February 2017).

Screens (iOS and Mac) and Screens Connect are a great alternative to Back to My Mac. In fact, Screens Connect essentially behaves like the soon to be defunct service; it manages to open a port on your router and sends that information to our server. Then, Screens retrieves that information in order to connect to your Mac remotely.

Screens Connect starts at boot time so it makes sure that your Mac remains reachable, even if no user has logged in.

Theory: Back To My Mac is going away because without a Bonjour sleep proxy, you can’t wake up your home computer remotely. And without an AirPort Extreme you don’t have a Bonjour sleep proxy. So the death of the AirPort means BtMM doesn’t work well.

I can’t even parse the logic of the change from ‘back to my Mac is part of icloud services’ to ‘back to my Mac is ending; use iCloud’ because Apple is much quieter and vague about exactly what these services are anyway. It’s all mkting buzzwords I’ve never found personally useful

I found Back to My Mac such an exciting proposition back then—and so complicated to get working just right with different routers and network setups—that I wrote a nearly 100-page book for the Take Control series just about Back to My Mac. (And a separate one about screen sharing!)

Apple Inc. will release a new low-cost laptop and a professional-focused upgrade to the Mac mini desktop later this year[…]

[…]

Apple is also planning the first upgrade to the Mac mini in about four years. […] The computer has been favored because of its lower price, and it’s popular with app developers, those running home media centers, and server farm managers. For this year’s model, Apple is focusing primarily on these pro users, and new storage and processor options are likely to make it more expensive than previous versions, the people said.

This sounds kind of like the xMac, which could be a good thing. I’m not sure that a low-cost modular Mac remains an important niche. But I do hope the new MacBook is priced a lot lower.

A new MacBook at the $999 price point and a new Mac Mini are both genuine news. But there’s no way around the fact that this report raises more questions about both products than it supplies answers. Is the new MacBook an updated MacBook Air with a retina display and smaller bezels, or the existing 12-inch MacBook with a lower price? Or is it the no-touch-bar MacBook Pro with a lower price? Or something else entirely? We don’t know, and this report doesn’t say. How can Gurman know these things are imminent but not know the details about them? Or maybe he does know the details but can’t say? At a meta level I find this fascinating.

But the more I think about it, the more I think that something along the lines of the “just put a retina display in the MacBook Air” scenario seems the most likely. Nomenclaturally it makes no sense. The computer named just-plain “MacBook” should logically be the one that is the baseline best-selling model for the masses. The one named “Air” should be the one that is as thin and lightweight as is feasible. But today we’re three years into the era when the just-plain MacBook is the radically thin and light model, and the Air is the best-selling baseline model that isn’t really any thinner or lighter than the Pro models. Well, so what? We drive on parkways and park on driveways and no one is confused.

Let it be known: I was there when the original Mac mini was announced, have been promoting it constantly for 13 years, and have purchased 1000s of them. Most of my career has been built on this box. When the new one arrives, I’d like to be there.

Intel this afternoon officially debuted its new eighth-generation U-series “Whiskey Lake” and Y-series “Amber Lake” chips, which are designed for use in thin, light notebooks like the MacBook and the MacBook Air.

So, what I’m thinking is that Apple could equip this purported low-cost MacBook Air successor with a ‘good enough’ Retina display, maybe a high-density display that’s not as full-featured as the one in the MacBook Pro line; it could lack wide colour gamut support, for example.

Or, Apple could produce a MacBook using less premium materials, while maintaining the thin-and-light design. I’m insisting on this aspect because, firstly, I see a lot of competitors manufacture decent laptops that feel nice, are affordable, and retain a certain design quality without necessarily being assembled with costly materials.

The good news is that the long wait for an update may be coming to an end, as two reliable sources in Apple analyst Ming-Chi Kuo and Apple scoopster Mark Gurman both expect a new Mac mini to be released later this year.

Kuo didn’t have a lot of information to share on the Mac mini, but he said a processor upgrade is expected. Gurman revealed more ambitious plans, claiming that the Mac mini is set to receive a “professional-focused upgrade,” with new storage and processor options likely to make it “more expensive” than previous models.

TIL that iOS, at least as of 11.4.1, does not let you directly change the year when setting the date and time manually — there’s simply a single scroller for the date.

This is problematic when you run the battery down completely: the system goes to the Unix epoch, 0 GMT 1 January 1970, and then won’t connect to the time server because it thinks the certificate is invalid. So you must manually set the date, and must scroll a lot.

I’ve never run into this particular issue, but I run into little things like this all the time on iOS.

Unfortunately, it’s priced at $70, which is expensive and can be hard to justify when there are so many wireless charging options on Amazon that are in the $20 to $40 range.

[…]

With many of the flat wireless charging pads, I have to shift my iPhone around to get it in just the right spot for charging. I’ve run into instances where I think the iPhone is charging and it’s not, or it starts charging and then gets bumped and knocked out of the proper position, something that’s impossible with the POWERED because the U-shaped cradle guides iPhone placement.

If you have similar issues with flat wireless chargers, the POWERED may be worth checking out because it solves a lot of the pain points that come with wireless charging.

Today’s DigiTimes report also claims Apple will use the September event to announce the “launch schedule” for its wireless AirPower charger, costing in the region of $160-$190. Apple previewed its multi-device AirPower charging mat at its iPhone X event last September, and confirmed that it will be released at some point in 2018, but it has yet to reveal how much it will cost. An earlier rumor citing “industry insiders” has suggested a price point of around $149.

Marco Arment, developer of podcast app Overcast, joins Lex on the Wolf Den. Lex and Marco discuss pretty much everything going on in podcasting today. The two debate the technical complications of dynamic ad insertion and how it affects both podcasters and podcast apps. The two also discuss Marco’s history with Midroll in its early days, and theorize what might happen if Apple ever exited the podcast space.

As someone who listens to podcasts but doesn’t follow the business side that closely, I found this very interesting.

We are joined by Marco Arment for a candid discussion about the state of podcasting in 2018, why podcasts should — and probably will — remain decentralized, why we should always be afraid, the problems with AR and VR, and we wrap with some advice for people who want to podcast.

While there is some good material on the Swift.org website, what is currently there underserves both of the two goals mentioned above and there is a lot more that can be done. We are preparing to open up the Swift website for contributions from the broader Swift community, and as part of that I wanted to start a conversation on what the community felt we should do to make that website a better resource for everybody.

The problem is that iMovie doesn’t let you set a project’s resolution manually—for that you seemingly need the $300 Final Cut Pro X—and on the Mac, it fixes the project’s resolution based on the first clip you insert.

This problem has stymied many people, and there are numerous YouTube videos suggesting that you create a new project and drop a high-resolution photo at the beginning of the timeline to set the project to a higher resolution. That trick didn’t work for me. But I figured out a different way of convincing iMovie to allow me to export a 4K file.

Our goal is to deliver the best Twitter for you. This year, we’re moving faster towards this goal by focusing on improving Twitter for iOS, Android, and twitter.com. As part of this, we’ve chosen to stop supporting some other experiences. We’ve removed support for Twitter for Apple Watch and Twitter for Mac, we’ve replaced our previous Twitter for Windows app with our Progressive Web App, and today we’re removing support for some outdated developer tools.

We feel the best Twitter experience we can provide today is through our owned and operated Twitter for iOS and Android apps, as well as desktop and mobile twitter.com. We’ve long believed this — we’ve focused on delivering the best experience for our apps and sites for years. Recent feature and settings improvements (many of which are only possible in a Twitter-owned app) include:

I will particularly miss the Stats and Activity view of Tweetbot, which has long been one of my favorites. Twitterrific’s Today view, which was similar to Tweetbot’s Activity view, was removed from sale as a premium feature in July, will stop working when the API changes take effect, and will be retired in the future.

Whichever app you use, the biggest changes are to timeline streaming and push notifications. Twitterrific used to allow you to live-stream your timeline over WiFi, which is no longer possible. Instead, your timeline will refresh every two minutes or so over WiFi or a mobile data connection when the app is running. Tweetbot doesn’t support streaming anymore either, but it too will periodically refresh your timeline when the app is open.

Notifications are more limited as well. Tweetbot and Twitterrific used to allow users to turn on notifications for mentions, direct messages, retweets, quote tweets, likes, and follows, but don’t anymore.

I wanted to be fair, so I gave the official client another shot this week. It still isn’t my jam. It isn’t the ads that are a problem — they’re distracting, of course, but they’re a known kind of distraction. It’s something about the app that makes Twitter, as a concept, feel heavy and burdensome. It’s not solely the prompts to follow other accounts, or the strange reversal of the reverse-chronological timeline when a self-replying thread appears, or the real-time updates to retweet and like numbers — it’s a combination of all of those things, and many more. When I use the first-party client, I feel like I’m being played around with for business reasons.

Twitter was handed a huge developer community itching to build incredible products that only serve its goals. Instead it has been kicking those developers repeatedly and blaming them for being in the way of the boot.

Their blog post on the matter brags about how major features were only available in Twitter’s official apps (which no longer exist on a lot of platforms), ignoring the fact that Twitter and only Twitter ever decided not to build APIs for them, which would immediately be adopted.

And while it’s fine that Twitter wants to replace user streams and site streams with something better, which would get adopted by devs, they’re now drastically limiting it via a paywall that explicitly outprices these apps. @robjohnson doesn’t tell you any of that.

Twitter wants 3rd party clients to die, and all of this posturing about how they “love and respect the time and passion” are simply empty words compared to their actions. What a waste. But most importantly, what a dishonest set of lies from Twitter product.

Serious question. This is obviously why Twitter doesn’t want third party clients… and it’s fair! But why don’t they just say it? “We need to make money” is so easy but they dance around it. Surely it wouldn’t upset investors, and (some) customers would (maybe) sympathize, right?

My guess is that Twitter isn’t getting rid of third-party clients because of ads. That’d be easy to fix. I bet they’re planning some truly horrible, rancid shit that everyone will hate. The “reimagined experience.”

Unpopular opinion, but: I don’t really care about Twitter’s API removals. My Twitter experience feels mostly the same; I don’t really need streaming and push notifications for it to be useful.
As a matter of fact, these non-streaming endpoints feel faster so far.

They think they’re fooling nobody, and being very honest and open. But they are fooling themselves. I think their internal jargon and logic is leaking out. The framework they use internally to run and understand the company is showing and it is at odds with reality.

I already happily pay for Tweetbot; I’d also happily pay Twitter for the privilege of using it. I am convinced there are ways Twitter could make money from people using third-party clients. I am equally convinced that there’s no way Twitter can make one interface that pleases all of its users.

I’d love to know who they’ve asked so far because I don’t recall an update to the official app that has improved things. Even in it’s latest state, blindfolded, gagged and bound, Tweetbot is still better than the official app!

Then, the landowner decided to buy one of the nicest apartment buildings on the site. And, slowly, residents of that apartment started to notice little changes being made. It began to receive new amenities, some of which were unavailable to anyone else on the land.

Here’s an example of why people are so mad at Twitter. For years people asked for a paid tier. Like $10 a month and you get full API access and verification or whatever. Twitter said no, we don’t want to charge for the service. But they do!

[…]

People get angry when you lie to them constantly and act like they’re stupid. It’s just that simple.

[…]

I’ll say this: the official iOS app is way better than it used to be, and is perfectly serviceable on its own merits. But like @gruber said: one size doesn’t fit all.

[…]

And I don’t understand people who take Twitter’s side here. For one thing, they haven’t actually presented a side.

I kinda take them at their word, actually. A public API will absolutely slow down your development, keep you from breaking assumptions to move things forward, etc. It may be worth it, goodness knows I love a good API, but it’s a major thing to do

Reason 1️⃣. The obvious answer is that it is pretty impossible to innovate in an end-user experience while constantly trying to maintain an API usable by others. This is sooo counter-intuitive to technology people.

[…]

Reason 2️⃣. Twitter has experience problems to solve and those will only get solved by FE/BE changing together. Pick you favorite twitter challenge (toxicity, spam, bots, edit button, etc.)…

While any one can easily be imagined as an API/protocol that isn’t the point.

1. Over the years, I’ve spent orders of magnitude more time in Twitter, than Facebook. The reason is the simple experience of being able to read what people I follow have to say, when they say it.

2. The best experience has always been 3rd party clients; in particular for me, @tweetbot. Over time, the native Twitter interface has tended towards that of Facebook.

3. In the native experience, the algorithmic feed killed the very essence of what Twitter is. And it doesn’t end there. I’m interrupted with proposals for people to follow, trending shit, tweets from people I don’t even follow…

4. As a Mac user, I have to use a web browser to experience native Twitter, since they killed their Mac app.

So the very last thing I’d want to do nowadays, is visit the native Twitter experience.

[…]

7. Instead of just saying Twitter depends on ad revenue, and just like Facebook, needs all its users in the native environment, so algorithms and AI can attempt to maximize my engagement and learn as much as possible about me…

[…]

8. The people at Twitter claim this is all in my best interest, in order to provide me with the “best experience possible”. That dishonesty is what drives me to hope that one day a competitor can displace them.

You know what I just realized? This annoying behavior of breaking up a thread by quote tweeting, which makes it impossible to follow, was likely started by people using 3rd party clients. Because those clients don’t show context.

Real twitter doesn’t just show a new tweet from a thread in your timeline, it shows you the thread.

I was sympathetic, but breaking up threads by quote tweeting is the worst part of twitter. So I’m declaring opposition to third party clients because they’re #BreakingMyTwitter

A lot of the tension Steven describes in this thread is real. The problem is that very, very few sticky evolutions of the platform actually came from the start out of Twitter HQ. It’s like blowing the entrance to the only known gold mine in town just because it’s not yours.

Even if it were sold to some entity with energy, resources, smarts, and good intentions, it’s too late. It has celebrities with millions of followers. It has the president. It has millions of accounts using it for unlovable purposes.

It’s never coming back, and using your emotional energy hoping it comes back is a waste.

Twitter started for me as a chat room, then it became a tech/work bulletin board, then it became my primary news source and personal/political boundary stretcher. The first two are basically gone, the last two are getting harder to filter but I’m still dealing for now.

Twitter tried to downplay the impact deactivating its legacy APIs would have on its community and the third-party Twitter clients preferred by many power users by saying that “less than 1%” of Twitter developers were using these old APIs. Twitter is correct in its characterization of the size of this developer base, but it’s overlooking millions of third-party app users in the process. According to data from Sensor Tower, six million App Store and Google Play users installed the top five third-party Twitter clients between January 2014 and July 2018.

On August 15, 1998, Apple officially released the first iMac, the candy-colored gumdrop-shaped iMac G3, launching a desktop machine that has continued to be updated and revised over the years.

[…]

Apple’s first iMac, which sold for $1,299 at launch, came equipped with a 233 - 700MHz PowerPC 750 G3 processor, 4GB of storage, a 15-inch CRT, a CD-ROM drive, and an ATI graphics card, components that don’t sound impressive today but made for a powerful, well-rounded machine, that, in combination with the design, made the iMac a best seller.

[…]

Since the iMac G3’s 1998 debut, Apple has introduced several revisions to the desktop machine, launching design revisions in 2002, 2004, 2007, 2009, 2012, and 2015.

Ars Technica first launched only a few months after the original iMac. We’ve covered the machine over the years in news, reviews, and analysis as it has evolved into numerous forms. The mantle of Apple computer reviewer has passed from person to person over the years—Eric Bangeman, Jacqui Cheng, Lee Hutchinson, Andrew Cunningham, myself, and others interspersed. Just like you, we’ve all had different takes on Apple’s priorities.

For a trip down memory lane, we’ve dug up a selection of reviews and photos from those reviews, ranging from the introduction of aluminum in 2007 to last year’s iMac Pro.

Mozilla Corp., maker of the open-source Firefox browser, bought Weiner’s 22-employee company last year for a sum neither party would disclose. The latest versions of Firefox prominently display by default a Pocket save-for-later button at the top of the browser. In the U.S., Canada, and Germany, users who open up a tab on Firefox see a carefully tended, steadily updated menu of recommended Pocket links.

[…]

Pocket’s basic version is free; paid subscriptions, starting at $4.99 a month, cut out ads and boost storage space.

[…]

Pocket is expanding its marketing of ads—stories and videos publishers can pay to place alongside the staff-recommended ones. The Wall Street Journal recently began paying to promote a rotating selection of evergreen articles on Firefox, within a handful of Pocket newsletters, and within the Pocket app, says Paul Montella, the Journal’s global digital sales manager.

In the Bay Area, Genentech and Apple are particularly aggressive in opposing tax assessors — elected officials who determine the value of property for tax purposes. Both companies are leading years-long efforts to recoup tens of millions of dollars they say they’ve overpaid in taxes on buildings, land, lab equipment, computers and other items.

[…]

There is nothing illegal or unethical about appealing assessments. Companies are entitled to contest property assessments they believe are done improperly or inaccurately. But the tactics taken by Genentech, Apple and other large corporations, county assessors say, border on abusing the system.

[…]

Some claims reflect extreme differences in estimated values. In one appeal filed in 2015, Apple said that a cluster of properties in and around Apple Park in Cupertino that the assessor valued at $1 billion was worth just $200. In another, property that the assessor valued at $384 million was, in Apple’s view, worth $200, according to an appeal application.

Hopefully the story is more complicated than that, because that sounds absurd even if the buildings are empty.

There’s a thriving market for unofficial, aftermarket iPhone parts, and in China, there are entire massive factories that are dedicated to producing these components for repair shops unable to get ahold of parts that have been produced by Apple.

The entire Apple device repair ecosystem is fascinating, complex, and oftentimes confusing to consumers given the disconnect between Apple, Apple Authorized Service Providers, third-party factories, and independent repair shops, so we thought we’d delve into the complicated world of Apple repairs.

[…]

Looking at the iPhone repair ecosystem holistically, there’s a disparity between what repair shops want and what Apple is offering. It’s a fascinatingly complex situation where all involved parties feel their way is the better way, and it’s easy to comprehend why.

Apple often overestimates the cost of repairs to its products and threatens third-party shops who are willing to fix them for a fraction of the price, a CBC News investigation has learned.

Customers who enter an Apple Store with a seemingly minor hardware problem, such as a flickering screen, are often faced with a large bill because they are told they need to replace major parts of the device.

[…]

CBC News used a hidden camera to verify reports that Apple customers are often told their malfunctioning computers are not worth fixing, even when minor repairs could remedy the problem.

I swear the Bluetooth drivers in MacOS went to hell somewhere around Sierra and haven’t recovered, even in Mojave. Both my Magic Trackpad 2 and old-style wireless keyboard lag. I know I’ve complained about this before but they are input devices, and ought to work perfectly.

How can a Mac randomly forget it has Bluetooth? Overnight! During sleep mode! Even a restart did not help. Had to do a parameter reset? wtf.

I continue to have problems with spontaneous Bluetooth disconnections and with mouse lag that forces me to reboot. It does seem to help to either turn off Bluetooth on other Macs in the same room or to disable Handoff, but neither of those workarounds should be necessary. Everything worked fine for me until one of the early macOS 10.12.x updates.

While not as severe as described here (Magic accessories work perfectly, actually), but my BT audio devices have a tendency to cut in and out. Hoping this is getting worked on and gets fixed in Mojave!

An update on this tweet: it’s actually even worse in Mojave. When I wake my computer, I have to wait a good minute or so before the keyboard is usable and does more than repeat the same (delayed) key twenty times.

Being able to manage my home screen. After a while on iOS you basically have to give up and use Spotlight to find anything because every app is just dumped somewhere on your home screen, and moving one app moves every other app.

Being able to comfortably hold my phone. I now pick up my phone and use it more for browsing, Twitter, YouTube, books, and comics than my I do my iPad. That was never the case with iPhones after the 5S.

iPhones since then were designed to sell cases, not be comfortable to hold.

I can spend an hour browsing the Play Store and continue to find new and interesting apps. I get bored in the App Store after five minutes. I can also browse the Play Store from my MacBook or iPad and remotely install apps to my phone.

My AirPods work better on my Android than they did on my iPhone. I get better range and the constant audio breakups I experienced with my iPhone have been greatly reduced. Switching connected devices is much faster and doesn’t require digging through the Settings app.

The iOS App Store has really spoiled me for all other app platforms. Nothing even comes close. Play Store is second, I guess, but it’s by a huge margin. And now that I have browsed the Microsoft Store for a while, I can now promote the Mac App Store from most useless app store.

Even with Location History paused, some Google apps automatically store time-stamped location data without asking. (It’s possible, although laborious, to delete it .)

For example, Google stores a snapshot of where you are when you merely open its Maps app. Automatic daily weather updates on Android phones pinpoint roughly where you are. And some searches that have nothing to do with location, like “chocolate chip cookies,” or “kids science kits,” pinpoint your precise latitude and longitude — accurate to the square foot — and save it to your Google account.

If you’re perturbed by all this, you can disable both Location History and Web & App Activity, but doing so prevents Google from storing search history, potentially making searches and other Google tools less useful. You can also delete your previous location history and search activity. iOS users have another way to avoid sharing such data with Google. Go to Settings > Privacy > Location Services, where you can fine tune when particular Google apps are allowed to access your location.

What this does is add a series of commands that will be run automatically by lldb whenever breakpoint 5 (the one I just set) is hit. This applies to any of the 634 locations that are associated with the regular expression I provided. When the breakpoint is hit, it will first invoke the “bt” command to print a backtrace of all the calls leading up to this call, and then it will invoke the “continue” command to keep running the app. After the app has run for a bit, I search the debugger console for “!!!” which I remembered from the original warning. Locating it, I simply scroll up to see the backtrace command that had most recently been invoked[…]

[…]

Next time you’re at a loss for how or where something could possibly be happening, consider the possibility of setting a broad, regular expression based breakpoint, and a series of commands to help clarify what’s happening when those breakpoints are hit.

Developers, Apple said, needed to realize the business model of apps was changing. Successful apps tended to focus on long-term engagement instead of upfront cost. Indie developers who wanted to capitalize on this needed to move to a subscription model, as Apple had made possible in the past year in a splashy announcement.

[…]

10 years later, the App Store isn’t new anymore, and Apple continues to tweak its rules so that developers can create sustainable business models, instead of selling high-quality software for a few dollars or monetizing through advertising. If Apple can’t make it worthwhile for developers to make high-quality utilities for the iPhone, then the vibrant software ecosystem that made it so valuable could decay.

Apple’s main tool to fight the downward pricing pressure on iPhone apps is subscriptions.

[…]

Still, even with some hammer-makers finding huge success, the majority of Apple’s subscription revenue doesn’t appear to come from apps that are specific tools — instead, it’s coming from big content businesses like Pandora, HBO, and Netflix.

“My suspicion is that a good portion of those subscriptions are content subscriptions,” independent Apple analyst Neil Cybart wrote in May.

I love how this is framed as Apple enlightening developers that one-time purchases are not a sustainable model. Developers had been trying to tell Apple this since day one of the App Store, and even when Apple did add subscriptions it limited which apps were allowed to use them.

Two years later, at least judging from my iPhone’s home screen, the transition to subscriptions has barely begun. There remains a high implementation hurdle.

Apple is without a doubt preparing for a world without paid-upfront apps. There are a lot of developers who are not gonna like where things are leading[…] IOW, the App Store was so big and impactful that it’s going to ruin the consumer software industry’s business model forever. As a user, I would love a Netflix-style model for apps. As a developer, this is horrifying

Apple created a self fulfilling prophecy in not allowing paid apps to have a trial period. If Apple added the option for people to try paid apps before they bought them, I would predict a hug change in this trend.

So, Apple is pushing the subscription model for apps... This may be the future, but it’s not going to be my future as a customer. I have no problems paying a bit more for quality apps, but either it’s pay upfront, or it’s highly unlikely I’ll subscribe to an app. Sorry, devs.

The article glossed over an important question. It said 15% of App Store revenue was paid apps, but then started talking about subscriptions. The question is “what constitutes the other 85%?” I think in-app-purchase is the predominant revenue driver.

It’s a shame Apple is pushing so hard on this, I understand why, but it’s a shame. The main winner from this will be Apple, not customers, and certainly not developers. Apple comes first, customers second, developers third, that’s the way it’s always been

What they are perhaps missing is that it’s the small devs that keep the Mac relevant for a lot of people. You can run the big dev’s apps on Windows and save a fortune on hardware and avoid a lot of the headaches post 2011 Apple has been inflicting on its users.

It’s no surprise that paid-upfront isn’t working well, since the App Store doesn’t allow free trials or paid upgrades. But it’s not really designed to support subscriptions well, either. They are time-consuming to implement and difficult to test. They don’t work with Family Sharing. You can’t transfer your app to another developer if you use a subscription.

And what if you already have an app and want to transition it to a subscription model? Unless you want to take away the old version that your existing customers are using, you have to create a whole new SKU. You lose your reviews and ratings, and there’s no indication to customers that the new version is available.

Subscriptions have to have high value, and deliver someone unique. I subscribe to Office 365 (I just need it) and to Adobe CC photography. Both are good deals. I’m not going to subscribe to a podcast app. Same as Netflix and Amazon Prime. Both worth it.

Exactly. So Apple attempting to convince “utility” apps that subscriptions “are the present” is just dumb. They’re doing that because they don’t have an actual answer to the monetization problem. Nobody does...yet.

missing in much of the discussion of app monetization is that in the good old days, we didn’t really need to worry as much about apps’ recurring revenue because everything kept working for years without being updated.

This phenomenon of developers being encouraged to spend a lot of time/money updating their app simply to keep it working on the latest OS / form factor / whatever is really something specific to the mobile era.

The ThinkPad P1 looks like a 15-inch Ultrabook, 0.7 inches thick and under 4lbs, but inside, it has a mobile Xeon processor, up to 64GB of ECC RAM, and as much as 4TB SSD storage. A discrete GPU, up to the Nvidia Quadro P2000, drives that display (either 1920×1080 300 nit, 72 percent of NTSC, or 3840×2160 400 nit 10-bit-per-channel supporting 100 percent of the Adobe color gamut and touch). It has a good selection of ports—two Thunderbolt 3 USB Type-C, two USB 3.1 generation 1 Type A, HDMI 2.0, mini-gigabit Ethernet (with a little dongle), 3.5mm headset, and microSD, and it has 802.11ac and Bluetooth 5.

And they also have one with a 17-inch display and 128 GB of RAM. No price or shipping date yet, though.

The two main ones I see are Micro.blog and Mastodon. Micro.blog is the more popular one right now, it seems, but Mastodon has its fair share of loyal fans. I personally have accounts with both other services, but I don’t really use them reliably. Mastodon because I can’t find anyone on there, and Micro.blog because I don’t like any of the iOS apps available for it.

[…]

It’s incredibly hard, and involves a good deal of luck, but if something is going to be a real Twitter successor/alternative, it needs to first and foremost find a way to get a critical mass of people using it. That can be a critical mass of a Twitter sub-culture, but it needs to be some group that moves in mass. App.Net get “Tech Twitter” to move, but it failed to get more than that (or to make them actually leave Twitter), but I don’t see that happening with Micro.Blog or Mastodon yet. I don’t know how you do that, but I think that’s how you get the momentum.

It seems unlikely to happen, but I would like a single app that supports multiple networks and integrates the timelines, removing duplicate posts, etc. Otherwise, there’s just a lot of overhead to trying the other ones, since I don’t feel I can leave Twitter.

Yep, different approach but some similarities. M.b is more about owning your content (using blogs and domain names) and Mastodon is more about Twitter feature parity and federation. Both have answers for curation. But we’ve been purposefully avoiding some Twitter features.

I’ve mentioned Mastodon on a number of occasions on this blog. It is the only social media platform that I use, but for a new user it can be fairly confusing, as it doesn’t work like other social media sites.

A new member of my Mastodon instance, Fosstodon, wrote their first post stating that they’re not really sure how it all works on Mastodon. Being the dutiful admin that I am, I pinged them back to let them know that I would find decent guide an post a link. To my surprise, I couldn’t find a decent guide anywhere, so I decided to write one.

Mastodon is different. It’s an open source software package that allows anyone with an internet-connected computer to set up an “instance”. The server administrator is responsible for setting and enforcing rules on her instance, and those rules can vary — sharply — from instance to instance. Each server has its own namespace. I’m @ethanz on octodon.social, but if you want to be @ethanz on mastodon.social, no one’s going to stop you. In this sense, Mastodon is less like Facebook and more like email — you can have your own address — and your own acceptable use policies — on one server and still send mail to a user on another server.

[…]

Needless to say, not every Mastodon administrator is excited that the protocol is being used to harbor lolicon. The terms of service for mastodon.cloud — the fifth largest Mastodon instance, and the largest based in the US — now explicitly prohibit “lolicon, immoral and indecent child pics”.

If you’re picking an ActivityPub instance, be aware that mastodon.social is a giant possibly-hostile mess like Twitter, and not really a “community” like many other instances. Pick a smaller instance, read the timeline on their instance’s front page, and make a more informed choice.

How about if, instead of ditching Twitter for Mastodon, we all start blogging and subscribing to each other’s Atom feeds again instead? The original distributed social network could still work pretty well if we actually start using it

I think the people flocking to Mastodon are in fact looking for 2008-2010 Twitter, which was mostly an in-crowd of tech geeks.

Apologies, but this is precisely I haven’t run off to Mastodon. 2006-2010 Twitter was cool, but I don’t miss it. The thing Twitter has brought me since then — stories and views from diverse, often marginalized people, who I would otherwise never have met — is still here.

Most people I have worked with use both arrow-up and ctrl-r when repeating commands. However, very few are familiar with escape-dot and repeating commands from the history list. Since I use all four ways very frequently, I thought I would write a post to spread the word.

If you have “Use Option as Meta key” checked in Terminal’s preferences, you can also use Option-Period, which is much easier to type, to insert the last argument of the previous command.

The p modifier to prevent executing the command recalled from the history was new to me.

These delays are disappointing, yes, but I actually prefer this policy of holding off on new features until they’re ready rather than shipping them in a buggy state just because it’s September and time for new iPhones to be released.

Think of WWDC less as “Here’s what’s coming in our point-oh releases this fall” and more “Here’s our OS roadmap for the next year”.

This is fine, and I’m all for holding back software that isn’t ready. But Apple is certainly not presenting the schedule this way at WWDC, so instead it looks like they’re repeatedly misestimating with their tentpole features.

I like this book a lot. If you care about building reliable systems, reading through this book and seeing what the teams around you don’t do seems like a good exercise. That being said, the book isn’t perfect. The two big downsides for me stem from the same issue: this is one of those books that’s a collection of chapters by different people. Some of the editors are better than others, meaning that some of the chapters are clearer than others and that because the chapters seem designed to be readable as standalone chapters, there’s a fair amount of redundancy in the book if you just read it straight through. Depending on how you plan to use the book, that can be a positive, but it’s a negative to me. But even including he downsides, I’d say that this is the most valuable technical book I’ve read in the past year and I’ve covered probably 20% of the content in this set of notes. If you really like these notes, you’ll probably want to read the full book.

The first part of this concept is focused on Siri. The idea here is not to create new commands, rather to display existing vocal requests that work well (like « Find me a good restaurant nearby » or « Get me pictures of Japan I took last year ») in a different way so they could be more useful to the user.

In iOS Mogi, Siri has been designed around a concept I call parallel help. The idea is to have a vocal assistant that is non-intrusive (it won’t take the whole screen like it does today), context aware, and can do things in the background for the user while they are doing something else.

At some point I noticed how some notes are not properly synced. After further investigation, turns out, my notes haven’t properly synced in months, and my iPhone and my 2 Macs are completely out of sync.

But hey, Apple of course follows GDPR, and they offer a great way to export notes

To copy notes, open the Notes app on your Mac or at iCloud.com. Copy the text of each note and paste it into a document on your computer, such as a Pages or TextEdit document. Save the document to your computer.

The Notes app is AppleScriptable, but it only lets you access the HTML of the notes, not the attachments. Previously, people have accessed the Notes database directly using SQLite, but Krause says this is no longer possible due to encryption.

Notes also has a non-scriptable Export command that creates PDFs, but it can only be used on one note at a time.

In 2003, the Berkman Center for Internet & Society (now the Berkman Klein Center for Internet & Society) began an unusual experiment: we launched a blogging platform. That seems quaint today in the age of ubiquitous access to services that facilitate the sharing of user-generated content. But it was an uncommon achievement at the time.

[…]

Our platform no longer offers a unique opportunity for online engagement. And it is technically antiquated when compared with contemporary, streamlined platforms that offer more advanced tools for social interactions.

[…]

At this point, for all of the reasons set out above, we feel that the time for hosting content from non-Harvard-affiliated bloggers on Harvard servers has passed. We are giving non-Harvard users with active blogs the opportunity to export existing content over the coming weeks. Those users will then be transitioned off the platform.

I heard about this just now. Harvard’s was the first academic blog hosting service in the world. Apparently they’re going to take the archive offline. There’s a lot of value and history there. Please let’s discuss before throwing it away.

Throwing out this archive is like throwing out an academic journal. Why would a university do that? One of the reasons we did this work at a university was the hope/expectation it would survive over time. Only 15 years later, they want to throw it away?

Peter Steinberger, creator and CEO of PSPDFKit, joins John to talk about building and maintaining a large framework project, how PSPDFKit came to be, how his team works with Radar, and all the challenges and excitement that comes with running a business based on a closed source SDK.

For the longest time, I assumed that the “PS” was for “PostScript,” but it’s actually just namespacing using Steinberger’s initials.

In an attempt to crack down on gambling-related apps in the App Store, Apple has today implemented a new App Review policy for individual developers, but many apps that are being banned as a result appear to have very little to do with gambling at all.

[…]

The reason that apps unrelated to gambling are being removed appears to be because the ban currently applies to any apps that allow users “unrestricted web access”.

Talk about amateur hour. Apple didn’t just reject new submissions of apps, but rather it removed apps that were already in the store.

Our newsstand/news/magazine app just got removed from sale from the App Store 24 hours after our 3.0 update was approved. Reason given: gambling/fraudulent activity. We publish a magazine — nothing to do with gambling or fraud at all. 😞😢😲😱

Under fire from Chinese state media, Apple Inc. said it removed illegal gambling apps from its App Store in China—a move that could help quell the latest challenge for the American tech giant in its most important market outside of the U.S.

One thing the report does suggest is that rather than platform-based attacks, cybercriminals are moving to trust-based attacks to target the valuable Apple demographic. They work to persuade users to click on innocuous-seeming pages, persuade them to enter banking details on spoof banking pages, and so on. Apple is wise to this, and to help protect customers, it recently introduced new phishing protection tools for Macs and iOS devices.

For decades, the district south of downtown and alongside San Francisco Bay here was known as either Rincon Hill, South Beach or South of Market. This spring, it was suddenly rebranded on Google Maps to a name few had heard: the East Cut.

The peculiar moniker immediately spread digitally, from hotel sites to dating apps to Uber, which all use Google’s map data. The name soon spilled over into the physical world, too. Real-estate listings beckoned prospective tenants to the East Cut. And news organizations referred to the vicinity by that term.

[…]

Yet how Google arrives at its names in maps is often mysterious. The company declined to detail how some place names came about, though some appear to have resulted from mistakes by researchers, rebrandings by real estate agents — or just outright fiction.

At Patreon, we’re building a world-class membership platform that enables creators to own the relationship with their fans. We feel that creators should decide how and when they engage with their fans, where they build their community, and how they run their business. And, for some creators, that also means managing a fully branded membership program on their own website. That’s why, today, we’re thrilled to announce that we have acquired Memberful, adding a self-service white label membership solution to our growing product portfolio.

Patreon and Memberful share a mission to fund the creative class and we both understand there are a variety of platforms and business models available to achieve that goal. Together, we’ll now be able to offer a wider range of options for building and managing a successful membership program.

Long-time Stratechery members may recall that three years ago — a year into the Daily Update — I ripped out the old buggy membership system and installed a new-to-the-market SaaS product called Memberful. It was one of the best decisions I have made, and over the years I have recommended Memberful to the many folks that have asked me about the software I use to run their own subscription site.

I realize that this is a bit inside baseball, but I’ve been using Memberful for the membership programs for both Six Colors and The Incomparable for a couple of years. In fact, the above paragraph describes me perfectly: I didn’t want to use Patreon, I wanted to build two membership programs myself and integrate them directly with my two sites. Memberful let me do that.

First, if this lets Memberful continue to grow and expand, that’s good for everyone who uses it. The acquisition does come with a price increase for new customers, and I hope that doesn’t slow growth. A healthy Memberful means it is more likely to stick around and not be absorbed into Patreon.

With their next patch Mozilla will introduce two new features to their Firefox browser they call “DNS over HTTPs” (DoH) and Trusted Recursive Resolver (TRR). In this article we want to talk especially about the TRR.

[…]

When Mozilla turns this on by default, the DNS changes you configured in your network won’t have any effect anymore. At least for browsing with Firefox, because Mozilla has partnered up with Cloudflare, and will resolve the domain names from the application itself via a DNS server from Cloudflare based in the United States. Cloudflare will then be able to read everyone’s DNS requests.

While sophisticated users can turn to cloud-based “open resolvers” that offer better privacy controls than what is available by default from most internet service providers (ISPs), these resolvers rely on the same old unencrypted protocols so ISPs can often intercept data anyway.

Our first effort to upgrade the privacy of DNS is to implement the DNS over HTTPS (DoH) protocol, which encrypts DNS requests and responses. See Lin Clark’s terrific explainer about how DNS over HTTPS can really improve the state of the art.

The first CMD-D: Masters of Automation Conference was a resounding success!! As a gift from our CMD-D 2017 sponsors – The Omni Group and Jamf - we are sharing the videos from CMD-D 2017. We aren’t promising to always share video footage of CMD-D events, but we are thrilled to make these freely available. It was great to bring together the Apple automation and scripting community!

For 2018, we are excited to announce the CMD-D: Down-Home Scripting Boot Camp – an expanded three days of intensive scripting education. Ray Robertson and I will teach it, with hands-on exercises, and limited size for personal attention. It is designed for someone brand new to scripting, and useful for a scripter who is hungry to know more.

Supertop has released another solid update to its podcast player, Castro. In today’s update, Castro adds file sideloading for Plus subscribers, significantly adding to the app’s utility as general purpose audio player. Subscribers can also pre-select the chapters of a podcast they want to play too.

For plus subscribers, the update adds a ‘Castro’ folder in iCloud Drive. Add an MP3 or AAC file into the ‘Sideloads’ folder, and it shows up in your Castro inbox (or wherever else you designate in settings) ready for playback.

This sounds cool, and I’d like to see iCloud Drive support in Overcast. However, I’m surprised that they are able to make this a premium feature. I thought you weren’t allowed to charge for iCloud access.

To ensure Instapaper can continue for the foreseeable future, it’s essential that the product generates enough revenue to cover its costs. In order to do so, we’re relaunching Instapaper Premium today.

As a reminder, Instapaper Premium is a subscription for $2.99/month or $29.99/year that offers the following features[…]

[…]

Additionally, today we are bringing back Instapaper to European Union users. Over the past two months we have taken a number of actions to address the General Data Protection Regulation, and we are happy to announce our return to the European Union.

The designer thinks: “I know what an on-boarding flow is. It’s a splash screen, a sign-up screen and a tutorial people can swipe through.” The resulting customer experience in filling in form fields, scrolling through 17 screens of terms & conditions (yes, you are required to scroll through all of them), granting location permissions (because “background location-tracking is required”), and skipping through 6 tutorial screens featuring critical knowledge like “Welcome to Hello-Bike.”

After maneuvering through all this, I found out there were no docking stations in central Amsterdam because of government regulation. So I actually couldn’t use the Hello-Bike service to ride to my hotel. Starting the design process from the perspective of the customer would likely have revealed the importance of communicating these kinds of constraints up front. Starting by selecting design patterns would not.

[…]

It is worth noting, however, that Spin provides much better explanations for its permission requests. When requesting location permissions, Hello-Bike told me: “background-location tracking is required” and Jump explained I could help them “gather data about how electric bikes affect travel patterns.” Spin, on the other hand, explained they use location to help me find pick-up and drop off points. They also explained they needed camera permissions so I can scan the QR code on a bike to unlock it.

What a surprise, Sandboxing is costing us countless days of development time and release setbacks as usual. Sandboxing is not a trivial task for pro apps with plugins. The App Store was not designed to support such apps.

Apple moved first, striking the entire library for five of Infowars’ six podcasts from its iTunes and Podcasts apps. Among the podcasts, which were removed from Apple’s iTunes directory, are the show War Room and the popular Alex Jones Show podcast, which is hosted daily by the prominent conspiracy theorist.

After that, platforms that have come under far more scrutiny for hosting Jones and his content — Facebook and YouTube — quickly followed suit after long and tortured deliberations. Spotify also did the same.

We believe in giving people a voice, but we also want everyone using Facebook to feel safe. It’s why we have Community Standards and remove anything that violates them, including hate speech that attacks or dehumanizes others. Earlier today, we removed four Pages belonging to Alex Jones for repeatedly posting content over the past several days that breaks those Community Standards.

BuzzFeed started off talking about the conspiracy theories and that Jones “claimed he was delivering news but didn’t deal in facts,” but in all cases the stated reason for removal was hate speech rather than the informational content of the podcasts.

Facebook and YouTube are conflicted about how to handle this because their model is wrong. Unlike podcasts and blogs, which can live at a custom domain and move between hosting companies, videos on Facebook and YouTube are served directly on those platforms. If the videos are blocked, especially by YouTube which controls nearly all video on the web, there’s no obvious migration path away.

But if the same person were to fire up the Apple App Store and search for Infowars, they’d pull up Infowars Official, a free app that opens up directly into a feed topped with the most recent video of the Alex Jones Show, which can be viewed live, or listened to as background audio.

[…]

The Infowars app doesn’t contain back episodes of the Alex Jones Show, meaning you can’t use it to find the content affected by Apple’s decision.

We didn’t suspend Alex Jones or Infowars yesterday. We know that’s hard for many but the reason is simple: he hasn’t violated our rules. We’ll enforce if he does. And we’ll continue to promote a healthy conversational environment by ensuring tweets aren’t artificially amplified.

Truth is we’ve been terrible at explaining our decisions in the past. We’re fixing that. We’re going to hold Jones to the same standard we hold to every account, not taking one-off actions to make us feel good in the short term, and adding fuel to new conspiracy theories.

Apple does not plan to remove the Infowars app from the iOS App Store at this time, the company told BuzzFeed News this evening. Apple said that the Infowars app had not violated its App Store guidelines.

Several tweets and videos posted by InfoWars host Alex Jones were removed from Twitter shortly after they were reported on by CNN on Thursday.

More than a dozen videos and tweets from Jones’s account containing content that apparently violated the site’s content policy were deleted less than an hour after the article by CNN’s Oliver Darcy went live.

I know Apple loves having control over the App Store, but in today’s climate — polarized politics combined with increasing regulatory scrutiny of tech giants — I suspect they don’t want to draw attention to that control.

After holding out for a few weeks, Twitter joined the chorus of social media and tech giants that have punished conspiracy theorist Alex Jones for questionable content. Twitter suspended Jones from his account on Tuesday after he tweeted out a link to a video in which he calls for his supporters to get their “battle rifles” ready for the media and others.

But the catch is that Jones’ ban will last just seven days—the InfoWars host will not be able to tweet or retweet from his personal account during that week. The InfoWars Twitter account has not been affected by this suspension.

Twitter, on the other hand, constantly seems to be making the decision not to decide. And they don’t seem to realize that’s not actually a decision. And that such indecision manifests itself quite publicly in the issues we’re seeing now.

Mr. Dorsey told one person that he had overruled a decision by his staff to kick Mr. Jones off, according to a person familiar with the discussion. Twitter disputes that account and says Mr. Dorsey wasn’t involved in those discussions.

Today, we permanently suspended @realalexjones and @infowars from Twitter and Periscope. We took this action based on new reports of Tweets and videos posted yesterday that violate our abusive behavior policy, in addition to the accounts’ past violations.

A day after being banned from Twitter, Alex Jones and Infowars have been booted from yet another platform: Apple’s popular App Store. As of Friday evening, searches on the App Store for Infowars return no results.

Apple confirmed the app’s removal to BuzzFeed News, but declined to comment, pointing to its App Store Review Guidelines. The company said Infowars would not be permitted to return to the App Store.

In an interview with Vice News Tonight’s Elle Reeve, Cook said that getting rid of Jones’ content was a matter of content curation and reassuring users that humans were actually paying attention to what ends up in Apple’s content ecosystem. He also denied the company was responding to any kind of political pressure or that he had ever coordinated his response with executives from other tech companies.

[…]

“We have an app called Safari,” Cook added. “Safari is the app for you if you want to look at anything that’s on the free and open Internet that’s not on our app store.”

And yet, this little company with the world’s coolest name and logo, had the most compelling vision I had ever heard: a little battery-powered device that let you write electronic postcards that float up to what they called the cloud, and from there to a friend’s device. I have wondered 1,000 times how that call changed my world when I said yes.

[…]

Unlike the first iPhone, we had applications and AT&T was building a marketplace on their network. My favorite was maps from StreetLight that gave you turn-by-turn directions.

[…]

When it became clear we had a brilliant vision 10 years before it was technically possible, General Magic came to an excruciating end. Tony went on to build the iPhone, Andy Rubin built Android, Pierre Omidyar built eBay, Megan Smith became VP of Google and then America’s CTO, Kevin Lynch built apple Watch…I could keep going.

I am not arguing that the Macintosh, NeXT, and the Newton weren’t without their flaws, or that even these quotes are inaccurate, but rather that we all know about these products because they did ship and were used enough to have their flaws made widely known. People bought and used Macintoshes. They bought and used Newtons. They even bought and used NeXT workstations. You can’t criticize or even debate General Magic on the merits of their products, because they didn’t ship anything in large enough numbers for anyone to care about let alone criticize.

You want me to know how great General Magic was? Great, me too! I want to know all the crazy ideas, all the awesome people involved, how fun it was to be there, why it didn’t work out, and where these ideas ultimately ended up.

Travis rues the experience, and the stellar reviews that led him to purchase the faulty lock in the first place. He didn’t realize it at the time, he says, but he’s now certain that those glowing reviews were paid for. And that many of the people who gave the trigger lock excellent reviews may never have opened the package in the first place.

Travis is certain of this because he himself is now a prolific paid reviewer. He writes Amazon reviews for money, and he commissions others to do the same — for a company that approached him online.

In the past the V8 team focused on the performance of optimized code and somewhat neglected that of interpreted bytecode; this resulted in steep performance cliffs, which made runtime characteristics of an application very unpredictable overall. An application could be running perfectly fine until something in the code tripped up Crankshaft, causing it to deoptimize and resulting in a huge performance degradation - in some cases, sections would execute 100x slower. To avoid falling off the cliff, developers learned how to make the optimizing compiler happy by writing Crankshaft Script.

However, it was shown that for most web pages the optimizing compiler isn't as important as is the interpreter, as code needs to run fast quickly. There is no time to warm up your code and since speculative optimizations aren't cheap, the optimizing compiler even hurt performance in some cases.

The solution was to improve the baseline performance of interpreter bytecode. This is achieved by passing the bytecode through inline-optimization stages as it is generated, resulting in highly optimized and small interpreter code which can execute the instructions and interact with rest of V8 VM in a low overhead manner.

Apple currently offers its affiliate partners 7 percent of the money generated from an iTunes related purchase, including apps. Last year, Apple attempted to drop that rate to 2.5 percent on apps, but kept it at 7 percent after backlash from developers and publishers. Commission rates were, however, dropped to 2.5 percent on in-app content.

Apple plans to remove commissions for iOS apps, Mac apps, and in-app content from its affiliate program starting on October 1, 2018.

It’s hard to read this in any other way than “We went from seeing a microscopic amount of value in third party editorial to, we now see no value.” I genuinely have no idea what TouchArcade is going to do. Through thick and thin, and every curveball the industry threw at us, we always had App Store affiliate revenue- Which makes a lot of sense as we drive a ton of purchases for Apple. I don’t know how the takeaway from this move can be seen as anything other than Apple extending a massive middle finger to sites like TouchArcade, AppShopper, and many others who have spent the last decade evangelizing the App Store and iOS gaming- Particularly on the same day they announced record breaking earnings of $53.3 billion and a net quarterly profit of $11.5 billion.

A move that seems without any benefit to anyone but Apple, and benefit that’s severely outweighed by the consequences.

This is going to hurt independent app reviewers and Apple news websites that have promoted and reviewed apps fairly for years and helped services become the nearly $10B a quarter business it is today.

Many great developers got their first big piece of exposure because of reviews from @hodapp @viticci @apollozac and many other independent reviewers. That will now slow down in favor of Apple-written reviews in the Today section. Independent voices are important.

I think this change is bad for the community and disincentives existing sites from covering applications — you’ve got to go where the money is. And soon, there will be little financial incentive to write about the apps you love. The effort that used to go into app reviews, top ten lists, and the like could shift toward writing about iPhone cases, watch bands, and other accessories for which Amazon affiliate revenue is still present.

App Store affiliate revenue is going bye-bye. This is for one of two reasons. #1 Apple wants to increase its service revenue, this is a quick win. #2. Apple plans to take less than 30% from developers, and this is one way for them to recoup some of the revenue they would lose.

I can’t help but feel that Apple is waving off the wide array of sites that help consumers find apps as being unnecessary in light of Apple’s new editorial content within the App Store. I simply don’t believe that to be the case. The App Store is massive, and the crop of websites that have come to make a name for themselves comparing and reviewing apps add value to the ecosystem.

Concerned about it’s bottom line, Apple found a way to boost Services earnings by no longer thanking publishers for spreading the word about apps in the App Store. The company announced Wednesday that apps and in-app purchases will no longer be part of the company’s iTunes affiliate program because discovery is just gonna be awesome in the new App Stores coming this fall.

I do find it interesting that the only content being dropped from the affiliate program is that which Apple takes a sizable cut of. iTunes Store and Books content remains, so why only apps?

[…]

I can say with absolute certainty that the majority of apps I’ve purchased and enjoyed over the years have been through reviews and recommendations that used affiliate links. That’s how I, and many others, discover new apps.

Personally, I think number two is the likely cause here. A bit of hubris mixed with not actually using their app store much has lead Apple to believe most of the affiliates are app scammers trying to pump up apps to skim a profit regardless of quality.

[…]

I do happen to believe that Apple is wrong here and that they will dramatically hurt small app developers and the diversity in the App Store.

The optics, announcing the end of the program right after announcing record-setting profits, were terrible. And the tone of the announcement itself was read by many as cold… even callous.

[…]

It’s the classic blunder — cutting someone else’s line instead of growing your own. And it also feels incredibly short sighted. Especially when it comes to the larger Apple community, and the ability to sustain many and diverse voices.

[…]

Many years ago, when the App Store was simpler and the bottom hadn’t yet fallen from under premium App Store pricing, iMore could pay a full-time app editor off of affiliate revenue alone.

Then came in-app purchases and value starting moving from one big up front purchase to bursts of micro-payments over time.

I don’t get the argument that it’s about Apple pinching pennies and not wanting to pay the affiliate fees. The whole point of affiliate programs is that they drive enough additional sales to increase revenue. That’s why Amazon has an affiliate program and heavily promotes it.

Although TidBITS is enrolled in the iTunes affiliate program and our previous content management system programmatically added the affiliate code to appropriate URLs, we earned too little money from it (roughly $1000 since 2014) to focus on it or even remember to move the feature forward to our new site. We’ve also always been somewhat uncomfortable with the inherent conflict of interest involved with affiliate fees—there’s an unavoidable link between publication revenues and encouraging sales.

[…]

Apple says that the new Mac App Store will have in-depth stories written by a global team of App Store editors, and while you probably won’t see their bylines on those stories, we’ve been watching Apple hire experienced industry writers for those positions. Of course, as it becomes ever harder for publications to survive, it’s not surprising that journalistic talent is being forced to make the jump to industry.

[…]

In the end, I’m disappointed in Apple. Not surprised, since Apple has never acknowledged that the media plays a vital role in the broader Apple ecosystem, but disappointed that a company that puts so much effort into bringing joy to users can simultaneously behave so callously to some of its greatest supporters.

Apple is well within its rights to do whatever it likes with the affiliate programme, including shutting it down. They owe us nothing. But implying that it’s because the new App Store provides enough discovery by itself is arrogant, and also wrong! I’m a huge fan of the new App Store stories but they are just one part of what’s needed.

It’s easy to think of Apple as an old friend and forget that they are a for-profit corporation. I think refusing to pay affiliate fees is silly in light of the fact that third parties are driving lots of sales in the Mac and iOS app stores every day. Frankly, one of the reasons I’m moving away from the iBooks platform is because I don’t want to get caught up if they decide it isn’t worth the effort in a few years.

One last thought is why they are only cancelling affiliate payments for apps? Music, video, and book affiliate links will presumably still work. Are those next or are there industry pressures keeping Apple from shutting them down.

If you write reviews of apps, you need to post links to the apps, because your readers will think you’re nuts if you don’t.

Given this, it’s hard to argue that the Affiliate Program, whatever it cost Apple, was the best use of Apple’s money. Apple had all the leverage, and it acted accordingly, as anyone should expect. Continuing the program would be an act of goodwill, maybe, but there are more effective goodwill investments, no?

This rule allows the Microsoft Word process to read/write a file as long as it matches the following regex

(^|/)~\$[^/]+$

At first I couldn’t understand why this exception was here, however when crafting a filename matching this regex, it actually starts to make sense, for example ~$document1.docx. This is the typical filename format for temporary files used by Office, so what this rule is doing is allowing the process to persist temporary files without prompting the user for permission each time.
At this point alarm bells should be ringing, as although this rule allows Word to create a temporary file, it also allows us to create a file anywhere on the filesystem as long as it ends with “~$something”.

[…]

This means that all we need to do is craft a plist with a filename matching the sandbox regex, wait for a user to log in… and we should be able to escape the Word sandbox.

Basically, this guideline makes it impossible to use the VPN API for any purpose different from establishing a real VPN connection. I can name A LOT of cool apps which can be affected by this change and can be taken down any time: Charles Proxy, DNSCloak, etc, etc. I hope they won’t, though, and the whole point of this is to get rid of known ad blockers.

[…]

We are not alone. It seems that Apple decided to ban all apps that do content blocking outside of Safari. Malwarebytes is another example.

My usual strategy for this is to write a Swift extension for the Objective-C class. The new code goes into the extension. Where necessary, @objc annotations expose the extension’s code to Objective-C. This works great until the new code requires me to add a stored property to the class. It can’t go in the extension, I have to add it to the Objective-C class definition.

This in turn means the property must have an Objective-C-compatible type, even if it’s only to be used internally by the Swift code. This is a fairly big limitation that I regularly run into: it means no structs, no enums with associated values, no generics, and more.

[…]

Here’s the workaround I use: in Swift, I define an Objective-C-compatible class that acts as a wrapper for all stored properties I want to use in my Swift extension. In Objective-C, I add a property for an instance of that class to the main class definition. Once that’s done, everything else happens in the Swift code: the properties can use Swift-only features (assuming you don’t need to access them from Objective-C) — only the class itself must be visible to Objective-C.

Associated objects may work too for simple cases. But another great solution I adopted successfully for a very large class was to rename ObjC HHFooBar into _HHFooBar and redefine HHFooBar as a Swift subclass of _HHFooBar. If possible I take the opportunity to drop the prefix too.

The subclassing approach is in many ways a cleaner design than the extension approach I discussed in the previous article. The ability to freely define stored properties is a clear win. And once you have finished the migration to Swift, simply delete the (now empty) superclass and you’re done.

The only significant downside seems to be the inability to call into the subclass code from the superclass (unless you work around it). The subclassing pattern may not be possible when the class you want to extend has Objective-C subclasses, however.

Lightroom is my go-to RAW camera app for iOS, in part because I pay for Creative Cloud and want to get my money’s worth, bot more so because I think it gets the best photos of any app I’ve tried before.

The difference between this image and what the stock camera app produced is night and day. This is a much more satisfying shot with little noise, good color, properly exposed highlights, and zero artifacts.

The built-in Camera app made an unexpectedly poor showing. I didn’t realize that the Lightroom app had a camera, but it looks pretty good: lots of controls, a clear interface, support for both RAW and HDR (which you can lock on), a widget for quick access.

However, I don’t know how to use it with my workflow, which right now is using Image Capture to import from my Camera Roll into Lightroom Classic CC. It looks like you have to manually share photos from Lightroom to the Camera Roll, and you can’t do this in bulk; you have to select the specific photos.

The other option is to let the phone upload the photos to Creative Cloud, then wait for the Mac to download them. This is slow and wastes bandwidth and may not finish if the app goes into the background or the phone sleeps. The photos do automatically show up in Lightroom Classic CC, and you can then move them into a regular Lightroom folder. However, this does not remove them from the iPhone. You have to go back there and manually delete them (again, individually). I hope I’m missing something here.

Now, iPhone unit sales are still down from the days of the iPhone 6. What’s changed is that the average selling price of an iPhone is up—way up. That’s mostly thanks to the iPhone X, which has a record-breaking price tag that hasn’t seemed to matter one whit in terms of consumer acceptance.

[…]

As someone who’s interested in products, I find the focus on Services revenue to be a bit dispiriting. I get excited at the prospect of new products and seeing how consumers are accepting or rejecting products in the market. But the discussion of Services, especially in a financial context, is essentially a conversation about how Apple can grind more money out of every single person who uses an iPhone, iPad, and Mac. (At least the Other Products line, which is also growing rapidly, contains real products like AirPods and the HomePod and the Apple Watch.)

I think it’s even worse than that. I think Apple’s (Cook’s?) interest in increasing revenue from Services is keeping them from doing what’s right — increasing the base iCloud storage from 5 GB to something more reasonable.

Macs had an odd quarter and there are good explanations as to why. I don’t expect this as a trend signal and if what I hear they have in their sleeve is correct the Mac business will be more than fine.

With 54.2 million smartphones shipped in the second calendar quarter of 2018, Chinese smartphone company Huawei has surpassed Apple to become the number two worldwide smartphone vendor, according to new data shared today by IDC.

It is estimated that Apple spent $150 million to build the first iPhone in the mid-2000s. At the time, it was a significant amount of cash for Apple. Nearly ten years later, Apple finds itself spending that much money developing one show for its upcoming video streaming service.

[…]

My theory on the dramatic rise in Apple R&D expenditures is that management is becoming more ambitious. Apple's future is found in new industries. Just as Apple moved from desktops/laptops to personal music players, smartphones, and watches, the company will need to enter new industries to remain relevant.

Not only did iPhone volumes outpace market growth this quarter, but revenue grew 20%. That is absurd for many reasons, number one being that most of the largest iPhone markets experienced an overall decline during the same period.

By now, I’m sure you’ve already seen the many charts at MacStories and Six Colors, but I still like to post my own. It gives me a chance to try out new ways of showing the data.

[…]

Everyone has pointed out that this quarter had the worst Mac unit sales since 2010. This is true, but as you can see, the June quarter of 2013 was about as bad—3.754 million units compared to the most recent quarter’s 3.740 million. “Worst quarter since waaay back in 2010” makes for a better story.

Whose work does get 10 hours out of a MacBook Pro? None of the use-cases on the marketing page — Photography, Coding, Video Editing, 3D Graphics, and Gaming — are likely to achieve even half of that in practice.

[…]

Sometimes, you just need Low Power Mode: the switch added to iOS a few years ago to conserve battery life when you need it, at the expense of full performance and background tasks.

There’s no such feature on Mac laptops, but there should be.

[…]

Since then, I’ve been running Turbo Boost Switcher Pro to automatically disable Turbo Boost when I’m running on battery power, and it has been wonderful: I made it through that 8-hour flight only because Turbo Boost was off.