Time Machine Duplication

To duplicate a Time Machine Drive, and Re-integrate it to the backup process:

  1. Switch off automatic backups.
  2. Copy the source drive using SuperDuper (the only utility that can properly clone a Time Machine volume) with the Backup All Files option.
  3. Wait hours or days for the copy to complete.
  4. Add the drive in the time machine  prefpane
  5. terminal
    1. Inherit the backup (do this by dragging the actual computer name folder from Finder into Terminal after typing the inheritbackup – the full path will then be populated):
      sudo tmutil inheritbackup /Volumes/(The Backup Drive)/Backups.backupdb/(The Computer's Name on the Backup Drive)
    2. Associate the Boot Drive (again, drag the boot disk’s entry in the latest backup entry of the duplicated Time Machine volume, from Finder, to the Terminal window, and it will populate the area in brackets – make sure you check the number and spacing of forward slashes):
      sudo tmutil associatedisk -a / /(the path to the the last backup of the boot drive on the backup drive)
    3. Associate each backed-up non-boot volume (dragging again from Finder to the Terminal window for both of these):
      sudo tmutil associatedisk -a /Volumes/(Non-Boot Disk) /(The path to the most recent backup of the Non-Boot Disk)
  6. Open a terminal window and start recording the TMUtil log output:
    1. log stream --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info
  7. Run a Time Machine backup manually and watch the terminal log to make sure each part of the backup is being connected correctly. Look for Inheritance Scans and watch the sizes of the backups, to make sure it’s not doing complete fresh backups.

Special Note: holding down the Option key in Terminal, allows you to place the cursor insertion point wherever you click in the text.

Fixing Capture One, with Keyboard Maestro.

Capture One is a RAW photo developer, editor and Digital Asset Manager app. It’s my current go-to as a long-term replacement for Apple’s long-discontinued Aperture.

In general, it has better image processing than Aperture, but falls down a bit on the DAM side of things. It can’t import directly from iOS devices, and doesn’t have export to iOS device integration through iTunes. It also lacks Aperture’s “Flag” option, which is super helpful for doing a first pass through a shoot, and flagging images as keep, or not, before filtering for flagged, and going on to subsequent passes for assigning star ratings.

The biggest problem from a fast workflow perspective, is in how it handles a multiple-display setup. You have your thumbnail Browser window open on one screen, and the image Viewer window open on another. When you click on a thumbnail, although the image is displayed in the Viewer, the application’s focus remains on the Browser. This means keyboard shortcuts to control the zoom level of the image are captured by the  Browser window, and not passed through to the Viewer. As can be seen in this video:

The workaround was to have to manually click on the Viewer window, to bring it into focus, then do the zoom keyboard shortcuts, and back and forth for every image.

This really defeats the purpose of shortcuts, which are designed to minimise unnecessary mouse movement.

I spent almost a year holding off committing to Capture One (after purchasing it) over this, before discovering Keyboard Maestro.

What Keyboard Maestro does is sit in the background, capture keystrokes, and use them to trigger various workflows & macros.

In this case, I configured it to listen for the keyboard shortcuts I had previously used in Capture One for the zoom-to-100%, & zoom-to-fit commands. I then configured it to generate two keystrokes in succession, in response to each of those original keyboard shortcuts.

  • The first, is the keyboard shortcut to make the Viewer the active window.
  • The second, is a reassigned shortcut for zoom-to-100% & zoom-to-fit respectively.
Use a Group to limit the macro’s scope to Capture One.
Set up the chain of keystrokes, triggered by the first.

So, the process now is:

Select a thumbnail, then:

  • Press the Key originally used to zoom to 100%.
    • Keyboard Maestro grabs the keystroke, and uses it as a trigger to fire off:
      • Keyboard Shortcut to make the Viewer window active, then
      • Reassigned Keyboard Shortcut to set the Viewer zoom to 100%.

Or:

  • Press the Key originally used to zoom to fit.
    • Keyboard Maestro grabs the keystroke, and uses it as a trigger to fire off:
      • Keyboard Shortcut to make the Viewer window active, then
      • Reassigned Keyboard Shortcut to set the Viewer zoom to fit.

The neat thing, is that using the shortcut to make the Viewer active while the Viewer is already active doesn’t seem to cause any problems, so there’s no need for conditional logic to test which window is currently active.

All in all, this is an elegant solution to a problem that seemed hopeless.

2022 – Week 18

Slowly, and surely we’re making progress on tidying, and reorganising the storage setup. It’s a shocking insight into just how inefficient the use of space was previously, or perhaps how lacking in ambition and tetris-playing we were in organising it. But, things are progressing.

ACCC Digital Platform Services Inquiry

Below is a submission I made to the Australian Competition & Consumer Commission, for their Digital Platforms Inquiry. It was accepted as a submission, and will go into the ACCC’s site, as a part of the public record.

It’s originally a paginated, .pdf document, which is referred to in the wording in places.


Following is a submission to the current ACCC Digital Platforms Inquiry. It is structured around three main points:

  1. My personal experiences as an independent publisher, in contending with Apple, who:
    • Manufactures and sells mobile devices on which they have sole, unchallengeable authority to approve or deny the presence of third-party eBook Reader & eBook Store Applications.
    • Operates a Digital Publishing Platform / eBook store / Reading Application.
  2. The primary source of anti-competitive behaviour within digital platforms.
  3. A suggested broad-based solution that can solve the anti-competitive problem in digital platforms.

Table of Contents:

Independent Publishing In An Anti-Competitive market: ^

My Personal Experience: ^

As a creator of Digital Graphic Novels and Photo Books, I began publishing in EPUB-standard format in 2013, through Apple’s iBooks (now Apple Books) Store.

I published exclusively on Apple’s store for just over seven years, until I launched an independent storefront with FastSpring (a general eCommerce platform) in 2021, and ceased to bring new publications to Apple’s service.

I had a number of reasons to pursue an independent store option. Most of them were related to deficiencies in Apple’s eBook business, and rooted in Apple’s ability to wield abusive control over the market for Applications & Payment Processing on its mobile devices.

These deficiencies manifest in both the cost of the service provided by Apple, but also in the quality of that service, and the lack of effort Apple put into its maintenance.

A full documentation of my reasons for leaving the Apple Books store, can be read here:

https://www.golgotha.com.au/on-leaving-the-apple-books-store/

Apple’s store was more expensive for me as a retail channel, than an independent FastSpring storefront. Cost per sale from store fees alone worked out at 30% of retail price for Apple Books, Vs. approximately 12% for FastSpring (after factoring in all currency conversion fees with FastSpring). Apple may argue that its costs include the creation & maintenance of their eBook Reader application, but that presumes an inherent need for the store and reader to be tied together, and ignores the loss-leader value for Apple in marketing their “premium” reader application as an exclusive benefit, included in the bundle pricing of Apple-branded mobile devices.

Apple’s attention to the needs of publishers has been lacking. Their reading application underwent “redesigns”, losing significant functionality which had previously differentiated it against other reader applications. Additionally, Apple was detrimentally altering book cover art when presenting it in their Apple Books Preview marketing website – changing brightness and contrast, such that areas of illustration were indistinguishable, and author names were unreadable. This situation continued, in spite of objections raised with Apple’s eBook store vendor-support staff, for most of a year.

I investigated selling my eBooks on multiple stores – Apple Books for Apple-branded device owners, Google Books for Android-device owners etc, but every format requires its own set of specialist work, and every store has its own minimum payout threshold. The risk is one can end up distributing all of a book’s sales, such that no single store sells enough units to trigger an actual return.

I then sought out an independent, multi-platform eBook reader application, with its own book store, or ability to access publishers’ independent book stores. Unfortunately, Apple requires its own merchant services be used for any in-application purchases on Apple-branded mobile devices. The fee for this service is 30% of the item’s purchase price – the same rate Apple charges a publisher to sell directly on Apple’s own store. After that fee, the independent eBook Store must deduct its fees from the remaining 70%. This results in independent eBook stores offering significantly lower returns to publishers for sales that occur on Apple- branded devices.

A number of Apple’s eBook store competitors, such as Amazon with their Kindle eBook Reader & Store, require users of Apple-branded devices to log in to their websites via a browser in order to purchase eBooks, which avoids Apple’s (expensive) merchant services fees. The books then become available to download & read within the application. Until April 2022, Apple strictly prohibited linking out to an external purchasing system, such as a website, from within applications on their mobile devices. Apple prohibited mentioning the existence of an external purchasing system, or of mentioning the rule against mentioning an external purchasing system within any application on their mobile devices. This prohibition is currently in flux, due to ongoing Dutch antitrust actions against Apple.

My only realistic option, given the file size & bandwidth requirements of my image-heavy eBook files, was to use FastSpring to set up an independent web store, and to sell my eBooks from that store, as file downloads. Customers would then have to manually load the downloaded files into their choice of eBook reader application, on their choice of device.

The consequences of leaving the Apple Books store to sell independently have been greater revenue per sale, as can be seen by the table on the next page, and a larger addressable market, with the addition of people who have Windows, Android, & Linux devices capable of running eBook reading applications. That is in contrast to Apple’s eBook store and reader application, which is only available on Apple-branded devices.

The downside, is less convenience for my customers who do use Apple devices, and must now manually load a purchased eBook into Apple’s eBook reading software. Additionally, certain organisational capabilities are denied to independently-sourced eBooks. For example, the ability for all books within a series to be grouped as a single distinct entity (shown as a stack of books) within the library view, is only available to books purchased from Apple.

Customers using Apple devices, who buy books independently, will also face a potential additional expense in cloud storage if they want their eBook libraries to retain the ability to automatically sync between their devices, which they would not have had buying the same eBook from Apple.

Additionally, selling independently means the loss of access to anti-piracy Digital Rights Management (DRM) features, such as Apple’s FairPlay DRM. Apple does not make this technology available to competing eBook stores, or to eBook reader applications on non-Apple devices. Apple also refuses to support any other DRM systems within their eBook reader application.

Apple Vs. FastSpring; eBook Merchant Fees Compared: ^

Currency conversion as of 30/03/2022

In Summary: ^

  • Apple’s Reading Application has lost functionality over time. That functionality had previously justified the investment of time in producing eBooks specifically for Apple’s eBook Reading Application, and therefore Apple’s eBook sales platform, and Apple’s mobile devices.
  • Apple’s sales service is more expensive (30% of retail price) than selling independently via the web.
  • Alternative eBook stores on Apple-branded devices are forced to choose between a lower quality web-based purchasing experience, in order to avoid Apple’s 30% merchant fees, or an uncompetitive royalty share for their publishers, with whom they must split the 70% remaining after Apple’s take. Those publishers can get the full ~70% of retail price directly from Apple.
  • eBooks purchased from independent eBook stores face the following disadvantages within Apple’s eBook Reader Application:
    1. Some organisational features within the Apple Books reading application, are not available to eBooks purchased via independent sources which compete with Apple.
    2. Independently purchased eBooks incur costs that do not apply to eBooks purchased from Apple, namely the requirement that all independently sourced documents and eBooks in a user’s eBook library must have a copy stored on iCloud, Apple’s separate subscription-priced cloud storage service, in order to synchronise between devices.
      • An eBook purchased from Apple consumes zero iCloud storage quota with full synchronisation of bookmarks, user created notes etc.
      • An eBook purchased independently consumes its full size of iCloud storage quota, as long as any library synchronisation function, for any eBooks, is enabled.
    3. Independently purchased eBooks do not have access to anti-piracy Digital Rights Management within Apple’s eBook Reader Application.

An Overview of Apple’s eBook Platform: ^

Apple’s eBook ecosystem features a number of intertwined components. The customer-facing aspect of this system is the Apple Books application. Exclusive to Apple-branded devices, Apple Books combines book library organisation, with book reading, and the sole purchasing storefront for the Apple Books Store.

Apple Books Application: ^

  1. An on-device library for storing and organising eBook-type documents.
    • Stores eBook documents sourced from the Apple Books Store, and those manually added via web downloads or file transfer.
    • Certain user interface functionality, such displaying books from a series as a distinct collected group, is only available to books purchased from the Apple Books Store.
    • Library contents are automatically synchronised with the user’s other Apple-branded devices, exclusively via Apple’s cloud storage service iCloud.
      • iCloud synchronisation is an all-or-nothing function. Users cannot choose to exclude individual eBooks from being synchronised.
      • iCloud is a separate Apple service, used by Apple and third party products, with a free minimal tier, and larger storage options available as an additional paid subscription service.
        • eBooks purchased from the Apple Books Store do not count against this storage quota, as they are downloaded (optionally automatically) directly from the Apple Books Store onto each of the user’s devices.
  2. A reader function for eBook documents.
    • Supports EPUB, Apple’s proprietary .ibooks format, and PDF.
    • DRM support is limited to purchases from the Apple Books Store, using Apple FairPlay DRM.
    • Uses iCloud-synchronisation, if enabled, to keep the user’s progress through eBooks consistent across devices.
  3. The sole storefront for the Apple Books Store.
    • Apple Books application is the only way to buy books from the Apple Books Store.
    • Payment can only be made with an AppleID, which is linked to a credit card on file with Apple, or with Apple iTunes Store credit – e.g. from an iTunes Gift Card.
    • Limits purchases to customers who own an Apple-branded device, as the Apple Books application is only available on Apple-branded devices.

Apple Books Store: ^

  1. Merchant services for publishers to sell eBooks in the Apple Books application.
    • Apple charges the customer’s credit card for the retail price of the book.
      • Apple charges the publisher 30% (plus GST) of the retail price for their sales service.
      • Publisher receives the remaining ~67% of the retail price (3% GST can be reclaimed via BAS).
      • Publishers are not permitted to know any details of who bought the book, and access to geographic information about where sales originate has been reduced over time.
    • Apple dictates pricing intervals for retail prices, eg $3.99, rather than $3.90, or $4.
    • Apple can refuse to accept a book for sale, and subjects every submitted book to a review process.
  2. Hosting of downloadable files.
    • Publishers upload their book, typically containing the full complete eBook, an extract version to be offered as a free preview, as well as promotional cover art, & screenshots.
    • Apple assumes costs of distribution.
    • Apple does not charge a distribution fee to publishers for books offered to the customer at no cost.
  3. Management of errata updates.
    • Publishers can upload new versions of their books, to correct errors, or change the book’s content.
    • Updates are free to the customer, and cannot be monetised.
    • Updates go to the same review process as new books.
  4. Digital Rights Management.
    • Every book purchased through the Apple Books Store is watermarked to the AppleID of the purchaser.
    • Optionally, a publisher can enable Apple FairPlay DRM for the book.
      • FairPlay DRM locks the book to the Apple Books application, as Apple does not license their DRM implementation to other applications.

Anti-Competitive Issues with Apple Books: ^

Any discussion of Apple’s anti-competitive conduct with regards to eBooks should take into account Apple’s 2013 conviction in the US District Court for conspiring with large publishers to fix the price of eBooks on an industry-wide basis.

Anti-competitive cartel behaviour, leveraging Apple’s abuse of its gatekeeper position as the sole arbiter of whose competing bookstores could operate on Apple mobile devices (iPhone / iPad), and detailed within emails surfaced in the Apple Vs. Epic trial, was integral to the initial launch of Apple’s eBook business.

It is therefore appropriate, that any examination of Apple’s behaviour be conducted through a lens which considers ongoing anti-competitive acts as recidivism. This recidivistic behaviour reflects a failure of existing remedies, such as fines, or narrowly-targeted sanctions or regulation, to achieve meaningful reform, or to eliminate the anti-competitive tendencies within the company’s culture.

Main Anti-Competitive Aspects of Apple’s eBook Ecosystem: ^

Apple uses its gatekeeper power to exercise control over the availability and behaviour of applications on Apple-branded mobile devices. Apple ensures that publishers who sell eBook files independently, will find their products disadvantaged within Apple’s eBook reader application. Conversely, publishers who attempt to create their own reader application to avoid that disadvantage, will find Apple can disadvantage their application as a whole.

The purpose of this control, is to protect Apple’s rent-seeking revenue extraction, which can most simply be expressed as “Apple believes it is entitled to 30% of all revenue generated on Apple mobile devices”.

  1. Apple creates an anti-competitive advantage for it’s own eBook store, by tying user interface and functionality features within the Apple Books application, to whether the eBook was purchased from Apple’s eBook store.
    • eBooks purchased from the Apple Books Store are provided a competitive advantage within the Apple Books application, enabling them to be grouped by series, so that they appear to be a separate collection within the user’s eBook library within the Apple Books application. This enhanced organisational ability is not available to eBooks purchased from competing sources. It involves the addition of proprietary metadata, after the eBook files have been uploaded to Apple’s servers. This process is performed manually by Apple support staff, in response to a request from a publisher. Independent eBook stores are unable to add this metadata to their book files.
    • Apple refuses to provide anti-piracy protections within the Apple Books application to eBooks purchased from legitimate non-Apple sources. This provides an unfair competitive advantage to the Apple Books Store, with the availability, and withholding of anti-piracy DRM features operating like a protection racket. The only way a publisher can to shield their eBooks from piracy within Apple’s eBook reader application, is to sell them through Apple’s (high-fee) eBook store.
  2. Apple uses its iCloud business, a subscription-based cloud storage service, to effect a cross-subsidy for books purchased from the Apple Books Store.
    • Synchronisation of a user’s Apple Books library between that user’s devices is achieved by maintaining a copy of the library’s contents on Apple’s iCloud servers. Only Apple’s iCloud service can be used for this task. Whenever an eBook is added on a device, it is copied up to the server (where it must remain), and then down to the user’s other devices. Since the space on the server is subject to a quota, and paid for with a separate iCloud subscription plan, each eBook is subject to an imposed cost equivalent to its own size, as a proportion of that quota.
    • Apple does not include eBooks purchased from the Apple Books Store in this synchronisation process. Instead of copying the book to the server in order to distribute it to other devices, Apple downloads copies directly from the Apple Books Store, separately onto each device. They still have all the synchronisation functions, but they do not cost their size in iCloud server quota.
    • The user is not provided with the option to skip server-based synchronisation on a book-by-book basis. It is an all-or-nothing system, requiring users to give up the significant functional convenience of synchronisation, in order to avoid higher server costs, if they choose to buy eBooks from a non-Apple source.
  3. Apple uses the cost of its merchant services, to create a competitive advantage for its eBook Store.
    • By pricing its merchant services at the same level it sets for its own cut of the retail price on the Apple Books Store, Apple ensures it is effectively impossible for a competing eBook store, which features in-app purchasing of eBooks, to compete with it on price.
    • Any competing eBook store will have to pay publishers AND meet its own costs out of the 70% remaining after Apple takes its cut. Whereas Apple can offer those publishers the full 70% if they publish on Apple’s store directly.
  4. Apple is able to control which applications are available on Apple-branded mobile devices, by using technical means to prevent the installation & operation of any application that has not been downloaded from Apple’s own App Store.
    • Any developer or publisher who invests in creating an eBook Reader application which competes with the Apple Books application – for example, syncing libraries without using iCloud quota, or providing the organisation options Apple reserves for eBooks purchased on its own store, or by supporting multiple DRM schemes, would be completely at the mercy of Apple who, after the work had been completed, could simply refuse to allow the application into their store, effectively barring it from Apple-branded mobile devices.
  5. Apple dictates the terms under which applications operate.
    • eBook Applications offering in-application purchasing of eBooks, must use Apple’s merchant services for the purchasing process, or they are refused permission to exist on Apple-branded mobile devices. This ensures Apple can extract the same 30% of retail-price revenue from a sale on a competitors’s eBook store, as they would extract from the sale if it had been through their own store.
    • eBook Applications relying on sales through a website are prohibited by Apple from mentioning their web-based sales system within their application. Or, from providing any link to their web store from inside the application. (This situation is in flux, in response to current Dutch antitrust actions against Apple, and exceptions appear to be on a case-by-case basis.)
    • Apple retaliates against developers who refuse to provide 30% of their revenue to Apple, by enforcing an inferior web-based user-experience upon applications which use alternatives to Apple’s merchant services. This inferior user experience is not due to any intrinsic abilities of Apple to make “better” applications or user experiences than those of third party developers. It is created purely through the arbitrary denial of access to non-Apple in-app purchasing workflows, which could provide a user experience equivalent to that provided by Apple’s merchant services.

Apple uses its gatekeeper position to ensure that no developer is able to craft an eBook reader application, with an integrated eBook store, in competition with Apple’s own reader and store, unless they give Apple 30% of all their revenue, which is effectively exactly what Apple would have received from that developer’s customers if they had used Apple’s products and services.

This effectively disincentivises Apple from investing in its own eBook platform, denying consumers better Apple products. Simultaneously, it disincentivises competitors from trying to make better eBook platforms, as their efforts are always subject to the capricious whims of Apple, as to whether they’ll even be able to exist, let alone do so profitably.

Fundamental to Apple’s eBook business is the use, through forced bundling, of other non-related aspects of its business to provide competitive advantages that distort the market for eBooks. These advantages would not be enjoyed by Apple, if they were forced to compete on a level playing field, in which they were prevented from tying their eBook store to their eBook reader application, their eBook reader application to their cloud synchronisation service, their devices to their application store, and their application store to their merchant payment service.

The Fundamental Competition Problem: ^

The fundamental competition problem within digital platforms is a result of the ability of platform owners to use proprietary methods to integrate their separate products and services together, in a way that is not available to competitors of those products and services. This allows an inferior aspect of an integrated ecosystem to remain insulated from the competitive pressures that would otherwise force it to improve.

Central to this is ensuring the maximum cost to a user, in expense and in loss of functionality, in attempting to switch platforms, or even in attempting to switch one aspect of their digital life to a competing platform or solution.

Canonical examples of this can be found within Apple – the “butterfly keyboard” debacle, which for years saw Apple laptop computers shipping with a keyboard that was vulnerable to failure as a result of individual grains of dust, requiring out-of-warranty repairs costing hundreds of dollars per instance, only to happen again, and again.

Apple spent over four years including these inherently flawed keyboards on their laptops, and was able to delay the expense of retooling for a better design for so long, because no one else is allowed to make a computer that runs Apple’s macOS operating system. Without macOS, a computer user would have no access to proprietary software made by Apple, that only runs on macOS – such as Apple Books, and its associated eBook library.

Through the integration of their operating system business, with their hardware business, Apple insulated their flawed laptop keyboards from reasonable market competition, resulting in four years of consumers suffering lower-quality products than would have otherwise been available in a market free of integrative distortion – a market in which macOS could run on a different manufacturers’ laptops.

To expand on the theme of eBooks, and Apple – a customer who has purchased eBooks from Apple’s store would be faced with a significant disincentive to buy a mobile device, or computer, from any other company, since the books in their eBook library cannot be transferred to the new device.

  • Apple does not offer its eBook reader application on competitors’ operating systems.
  • Apple does not allow eBook purchasing from its own eBook store without using its eBook reader application.
  • Apple’s DRM ties books bought in its store to its own reader application.
  • eBook stores are not required to allow customers to shift the licences for the individual eBooks between competing eBook store libraries.
  • eBooks (generally) cannot be sold secondhand, to allow a customer to cash-out of one store’s library format, and re-buy into a different store.
    • This issue is an old problem with regards to all digital media platforms – customers are simultaneously only in possession of a licence to access an instance of the digital media and so therefore can’t sell it secondhand, BUT they also can’t shift the access licence to different formats of the same piece of media, because they’ve bought their licence from a specific source. Digital media has somehow been allowed to combine the downsides of physical media (locked to a single format), with the downsides of ephemeral media (cannot be resold).

Therefore, the cost of switching platforms, from an Apple-branded device to one of their competitors, isn’t just the cost of the new device, it is also the cost of re-buying all the eBook content the user has bought from Apple’s eBook store. Again, this is content for which they own a licence, not a physical instance. There is no reason it should be tied to a specific format.

From a technical standpoint, there is no reason Apple’s eBook store should be tied to Apple’s eBook reader. Apple could very easily offer a web-based storefront for their eBook store, as they do for the sale of all their hardware products. Additionally, there is no reason Apple’s eBook reader should be tied to their devices. eBooks are primarily standards-based documents, based on web technologies, and Apple’s own reader application Apple Books is merely a modified web browser, whose core rendering engine and technologies (Webkit) already operate across multiple operating systems and devices.

The problem is integration itself – the ability for any company to require that in order to use one of their products, a customer must also buy another of their products, even to the extent that the two products are claimed to be the one, singular immutable thing, as Microsoft claimed with Internet Explorer, and Windows 95. We are still living in the aftermath of the failure of political will that saw the US Department of Justice largely abandon its pursuit of Microsoft after securing an antitrust conviction. Behaviours were modified, at least for a while, but the fundamental structural problems of digital platform markets have remained. As long as platform owners are able to retain control over how content within their platforms is accessed, modified, & transferred, consumers will remain at their mercy.

Merely breaking up a single company has never solved a problem in the longer term – fragments of larger companies retain the anti-competitive urge, they merge, regrow, and retain the same mindsets in their management culture. Merely levelling fines has not changed a company culture in the longer term – many companies simply treat fines as a cost of business.

Competition within digital platforms requires a broader solution, one which imposes equal competitive access as the fundamental structural design paradigm, for every aspect, of every level, of every digital platform product and service.

A Suggested Solution: ^

It has been 21 years since the landmark ruling in the case of Microsoft Vs. the US Government, in which Microsoft was found to be in breach of the Sherman Antitrust Act, by illegally tying its web browser Internet Explorer, to it’s computer operating system, Windows. Microsoft’s goals in doing so, were to extend its existent monopoly over computer operating systems platforms, into the new market of internet platforms, in order to defend its operating system platform against irrelevance in the face of the new internet platforms. A company does not need the insight and agility to predict the road ahead, if they can, instead, direct its path.

Microsoft avoided a forced breakup, by agreeing to binding modifications in its behaviour, intended to foster competition within the internet browser market, and thus for internet platforms.

To this day, Microsoft is still facing accusations of anti-competitive conduct with regards to its new browser, Edge. Each new version of Microsoft’s Windows operating system, seems to introduce a new barrier to the use of competitor’s browsers on Windows, which must again be wound back through the efforts of public pressure, and antitrust enforcement jurisdictions.

This battle, a battle to simply make software platform creators follow the rules, never seems to end. Why?

Why do societies, economies, and lawmakers tolerate the sort of disregard for rules, for the common good, from digital platform owners, that would be unacceptable in any other industry?

We don’t allow engineers to disregard the safety margins of materials strength over and over. We don’t keep giving third, fourth and fifth chances to surgeons who disregard ethics and patient safety. We insist on accessibility standards for our urban landscape.

Why should software, upon which arguably almost every human being is inextricably reliant to varying degrees, not be regulated as thoroughly as the architecture of our homes and workplaces? We have regulations for door widths, door handles, staircase lengths, stair tread depth, ceiling heights, flammability, insulation, efficiency – every single aspect of a building has a regulation which standardises it in terms of how the various components within interact with it, and with each other.

Despite all this, architecture has not suffered from its regulation. It has not stagnated, or become bogged down. For all the regulation, architecture has thrived, from the domestic vernacular, to the dreams given form of Gehry and Hadid.

Why not software and digital platforms?

If the problem, as previously stated, is that software platforms use control over points of integration to effect anti-competitive distortions to free markets, then the solution should be to take control over the points of integration away from platform owners. The solution should be to regulate the points of interconnection in digital platforms, as thoroughly as we regulate architecture.

Regulating Interconnection: ^

Regulations within the software and digital platforms field have always failed, primarily through their specificity to the particular problem they target. This is unsurprising, given the pace of change within software platforms, and that software as a profession, is a trade whose entire domain is finding creative ways to work around problems.

The only way to solve the problem of software platforms using the ability to tie their products together, in order to grant those products anti-competitive advantages, or to protect them from competitive challenge, is to fundamentally break the ability of software companies and platforms to extract unique competitive advantage from the interconnection of their different products and services.

Regulators must mandate that every point of interconnection between hardware, operating systems, applications, filesystems, media stores, cloud services, & device services, be effected exclusively through openly documented processes. These processes must be free to use, free to implement, independently audited, and must be the only allowable form of interaction, for all parties.

Regulatory Consequences: ^

In practical terms, this regulation would mean:

  • Hardware Vendors:
    • Would be required to publicly document the processes to interact with their products, such that any competitor could make an operating system for, or application to interact with their hardware.
    • Would be prohibited from using any methods not in their public documentation, to create an operating system for, or application to interact with their hardware.
  • Operating System Vendors:
    • Would be required to publicly document the processes by which their operating systems interact with hardware, such that any hardware maker could make their product equally compatible with the Operating System.
    • Would be prohibited from using any methods to interact with hardware that are not part of their public documentation.
    • Would be required to publicly document every method by which applications, files, and data storage systems are written to work on their operating system.
    • Would be prohibited from using any method not in the public documentation, to create applications, files, or data storage systems for their own operating system.
    • Would be prohibited from privileging any aspect of the operation of their own software products or platforms, on their own operating system.
  • Application Vendors:
    • Would be required to publicly document the processes by which their applications read, write, and store data, such that any competing application vendor could create an application capable of reading, modifying, and saving documents or data, while maintaining full data compatibility (this would include the requirement for social media and server-based applications to allow independent, equally privileged third-party clients).
    • Would be prohibited from using any method not in the public documentation, to read, write, or store data.
    • Would be prohibited from differentiating between documents modified in competitors applications, versus those which have stayed within their own.
  • Media Store Vendors:
    • Would be prohibited from tying their content store, to a particular hardware vendor, operating system vendor, or viewing or reading application.
    • Would be required to provide their DRM specifications to all viewing or reading applications to enable interoperability of content.
    • Would be prohibited from locking content purchased to a particular user, allowing for content to be shifted, resold or inherited.
  • Cloud Storage Vendors:
    • Would be required to publicly document the processes by which applications and operating systems can access their storage and synchronisation capabilities.
    • Would be prohibited from tying access to their storage and synchronisation capabilities to any application, device, or operating system.
    • Would be prohibited from privileging any application, device, or operating system in access to their storage and synchronisation capabilities.
  • Device Services Vendors:
    • Primarily related to point of sale and Near Field Communication (NFC) support in devices. Device makers would be required to provide access to their hardware to any application wishing to use it. For example, Apple would be required to allow alternative banking wallet applications to access the NFC hardware in iPhones.
    • Services making use of NFC hardware would be prohibited from tying their service, to their application. If a device user prefers to use the device vendor’s NFC payment infrastructure / wallet (for example ApplePay), their financial provider may not refuse to provide connectivity, or may not provide reduced utility or increased cost in providing connectivity, to the device user.
    • Point of sale operators may not refuse to provide service to an NFC device, based upon the device owner’s choice of NFC payment infrastructure / wallet.

Benefits: ^

Fundamental to this regulatory scheme, is that while any aspect of digital platforms are allowed to be opaque black boxes internally, the places, and ways in which they talk to any other aspect must be in the light. The connections must be standardised, to the extent, that any one vendor can be removed, and replaced with a competitor, and so long as the connection standards are followed, the user’s overall utility must be able to continue.

The major benefit of this, will be to embed competitive improvement of products and services into the very fabric of digital platforms. All digital platforms will be forced to compete on what they are right now, rather than on what they were when they built their existing userbases. They will need to stand on their own feet, on the value they provide individually, rather than propped up by integration with a vendor’s other products.

A vendor’s performance will depend on how comfortable they can make their furnishings, not on how unbreakable are their bars, how secret are their handshakes, or how un-pickable are their locks.

The benefit to vendors subjected to this regulatory scheme is also significant. In software development, there is a practice known as “eating one’s own dogfood” – i.e. using the same tools to do one’s own job, that one makes for other people to do theirs. For example, a company that makes customer management software, using its own product to manage its customers. For operating system vendors, dogfooding typically relates to using the same tools and methods to make software that is bundled with the operating system (or to make applications also sold by the operating system’s vendor), as are provided to third-party developers to make independent software.

This dogfooding forces the operating system vendor to experience the same pain-points, errors and flaws in their own development tools and products, that users and independent developers go through. As a canonical example, a recent statement on Twitter from a former Apple engineer, who having left the company to create their own independent applications, was startled by how difficult it was to create applications for the Apple Watch. The reason was that while inside Apple, he had access to development tools that Apple does not provide to outside developers. It was only once he was outside the company, and forced to eat Apple’s metaphorical dog food, that he realised how unpalatable it was.

When digital platform developers, and software companies in general, are put onto an all-dogfood diet, it forces them to make better products. It makes their own internal development processes stronger. It enforces the need to document the work done – something that is often skipped for expediency, or cut for budgetary savings. They are prevented from taking shortcuts, or hacking together fragile cross-product connections via private methods that would never withstand scrutiny by independent developers.

The result of the openly-connected, and all-dogfood-diet digital platform world, will be better tasting, and more nutritious digital platforms, for the whole of society.

#FixedItForYou

If you’re a user of Apple’s macOS, and you’re still using macOS 10.13 High Sierra, 10.12 Sierra, or earlier, you might have noticed that iCloud stopped working around April 7th, depending on your time zone.

The Problem:

The symptoms, apart from sync & iCloud Drive not working for the system, or apps that use iCloud, are that you can’t access the iCloud.com website in Safari, while it works fine in Firefox.

Looking into Safari’s Web Inspector, reveals the following:

Going into the iCloud preference pane in System Preferences (which looks like it’s logged in and everything is fine) and attempting to access your Account Details, brings up an error connecting to iCloud.

If you then decided to log out of iCloud, which is about the only troubleshooting technique Apple offers, and you decide to remove iCloud data from your Mac so as to completely clean it out, you will find yourself unable to log back in:

This leaves you without any contacts, calendars, Safari passwords, and probably breaks the ability to use Airdrop and Handoff etc.

So what’s going on?

From the Safari web inspector errors, it looks to me like Apple has broken / made incompatible something in the security certificate used by the iCloud server infrastructure. This was probably in the process of fixing an iCloud outage that had been going on in the days beforehand. Since these versions of macOS aren’t “supported”, one assumes this happened because they weren’t tested.

However, this issue does seem reminiscent of an issue from 2020, when Safari on High Sierra lost the ability to access all of Apple’s web services that ran through idmsa.apple.com (which includes Apple’s discussion forums, iTunes Connect etc). So after a bit of searching, I found the solution as was posted then, and tried it out.

The Solution:

If you go to Apple’s discussion forms, here:

https://discussions.apple.com/thread/251211674?page=3

You’ll see the solution – which involves downloading a new security certificate from Apple, and installing that in your Login keychain.

That fixes the problem.

Instantly.

No rebooting, no nothing. It’s fixed so quickly, that if the next thing you do, is switch to Safari and hit Reload on iCloud.com, or switch to the iCloud Prefpane and hit Account Details, it works immediately.

So, there you are, trillion dollar company, a big problem for a fair chunk of your userbase, just fixed for you, free of charge.

This certificate expires in May, I don’t know what will happen then – if Apple will have fixed things in the meantime, or if you’ll just need to keep replacing these certificates periodically, or if there’s a different certificate you can use that’ll be more permanent. If I find that out, I’ll update this.

EDIT May 21: The certificate expired at 1:45am Australian Eastern Time, and everything broke again, aside from getting Account Details in System Preferences.

Until Apple issues an updated certificate, a temporary workaround is to open Keychain Access, go to Login Keychain. View Menu > Show Expired Certificates. Right click on the  CA 2 – G1 certificate, go to the Trust Section, and set “When Using Certificate” to: Always Trust.

That will fix it instantly.

Edit May 22: It’s broken again, and nothing appears to fix it.

Edit May 23: In Keychain Access, System Keychain, changing the trust settings for GeoTrust global SA to “Always Trust”, fixes the problem instantly.

If this helped you, maybe go buy one of my eBooks.

Floodland

Days, and days of rain have left the river swollen and overspilling its banks.

Saturday:

Sunday:

2021 – A Wrapup

Well, that was a year.

Things started with dental and optical problems, which remained an open issue due to pandemic waves keeping me away from practitioners.

On the medical front, I was vaccinated, second vaccinated, then third vaccinated. Each dose hit me hard, and we’re still cowering in place for fear of the plague. My overall health seems fairly static. I haven’t been able to ride my bike as much as I’d like, so I’ve lost some condition, but at the end of the year I started addressing that – before the borders opened, and plague came back.

My powered cooling suit continued to be an issue, as the supplier was unable to get spare parts. Speaking of cooling, we had a new air conditioner system installed, and most of the year was spent fine tuning the control system, which it seems the original installer didn’t set up properly. Eventually a guy, who was a professional fitter and servicer for the system we have, and who had contacted me via Whirlpool after seeing me post about it, came out and sorted it all for us. It seems to be working well.

This year I did a big project abandon – giving up on my studio in a box. That’s a difficult one for me, because I’m usually a person who won’t give up on things, even when they’re past saving. It’s sort of progress for personality, because my inability to let go of things has been a problem for too many things in life – so I refocussed on a smaller goal, which will hopefully be achievable. That project is to just build some shelves that can go in the hallway, and will let me roll my gear out to the carport, via the wheelchair access ramp I bought.

With the gear able to be moved in and out of the house, I resumed my welding practice, and am making some real progress on getting to grips with the gear.

Speaking of the house, towards the end of the year we looked at a new place, and even made an offer, but other people bid higher than us. It would have been a great one to get, but sadly not to be.

The major non-abandoned project, the project that’s consumed me for 20-odd years, was completely finished. Surfing The Deathine as a collected volume was done, and with it, my new fully independent Fastspring store was set up, so that I’m able to be completely free of Apple. It was a long complicated process, involving completely rebuilding my entire production pipeline, but it worked in the end.

Speaking of Apple, this was the year I really lost the faith. Not only did I lose interest in anything new that Apple is doing, I also lost interest in any media commentator, or content maker, who talks more about Apple products, than they do about Apple’s terrible labor practices, or abusive market tactics.

This year, the technology I rely on to work continued to be awful, but there was a bright spot – the technology I use to be entertained…

I bought a new games console. The XBox Series X is a delight of a system, and a joyous thing to be near. Its size, proportions, matte-blackness, it’s all wonderful.

So overall, it was a year of consolidation – of just trying to get by, of fixing and refining things, and of trying to snatch moments of normality wherever they were.

I expect 2022 to be worse.

Plot Doctor: Prometheus

Recently, Ridley Scott was complaining about superhero films, as having bad stories and scripts, while relying on special effects. That’s funny, because it’s also the most succinct way to sum up his two most recent films within the Alien movie canon.

With that in mind, lets sum up what’s wrong with Prometheus, before we get into how the plot could be salvaged, and repaired.

Symptoms: What is wrong with Prometheus:

Fundamentally, Prometheus’ greatest flaw, is that it was written by people who  appear to be less intelligent than the characters they’re writing. From the language used by the “scientists” who call Evolution “Darwinism”, to the way they behave on the planet & conduct their jobs, it suggests that these writers have an internal model of science that is so misinformed, they are incapable of actually writing a scientist who behaves, and speaks like a scientist.

What they wrote, were religious acolytes. Scientists don’t call Evolution by Natural Selection “Darwinism”. Religious people call it Darwinism, because in the faith-based worldview, knowledge is received wisdom traceable to the opinion of a singular prophet or anointed individual, whose arguments gain strength & validity because of who that individual is, not because of the evidence used to underpin the argument itself. Thus, calling Evolution “Darwinism” makes it just an equal, and alternative “ism” to Creationism.

The religiosity of Prometheus is a flavour throughout the film – Shaw is a religious zealot, whose deepest conviction for everything, especially the conviction that the Engineers must be benign, comes down to religious faith.

And that’s the thing, you can’t find Shaw a sympathetic hero, because her zealotry & hubris ultimately leads to the death of everyone on the mission. The only way to make her the hero of this film, is for her to have the Damascene conversion, realise she was wrong, and to sacrifice herself to save the skeptical Vickers, and the “just doing their job” bridge crew of the Prometheus.

But the film wouldn’t do that, because the writers had invested in painting Shaw as the hero, and Vickers as the spoiled, scheming ungrateful child antagonist, whose motivation is that she’s angry daddy won’t give her a pony soon enough.

The film they made, if you really look at it, is the story of Shaw’s folly, but the angle they took with it, was as Shaw’s triumph.

They did try to create a villain in David, except that “clearly a frightening creep from the first moment we see him” doesn’t really create a lot of audience tension. It’s surprising he didn’t grow himself a false moustache that he could twirl, instead of bleaching his hair.

Treatment: How to fix the plot of Prometheus:

Most of Prometheus is salvageable, and the film could probably be rescued with just ADR and a bit of editing. A plot which works, might proceed as thus:


Meredith Vickers is the heir to the Weyland empire. It is an empire in serious danger of being lost to investor lawsuits, as the founder and majority shareholder, Peter Weyland, has become increasingly erratic, thanks to the effects of experimental geriatric medicines, which account for his strange old-young appearance.

Weyland has come under the thrall of a pair of fundamentalist cult leaders – Elizabeth Shaw & Charlie Holloway.

Shaw and Holloway promise Weyland eternal life if he can take them to meet humanity’s “creator”. They have assembled a team of monks from their cult. These are people who know how to operate scientific equipment, but have no real conception of proper scientific practice, or thought. Think of them as analogues to Young Earth Creation Scientists.

Once they reach the planet, these monks will take their helmets off without testing the air for pathogens, because they have faith that their creator’s holy land would not allow them to be harmed. They reach out to touch the angry snake monster, because it’s a holy product of their creator, and therefore would never hurt them. Holloway deliberately infects himself with the black goo, because he sees a carved mural of an engineer drinking it (or that opening footage of the engineer drinking the goo, but repurposed as one of those weird holographic recordings), so he sees it as a sacrament.

The film ends with Vickers surviving (because she’s the smart one and runs sideways), Shaw being consumed by the octopus monster she doesn’t surgically remove, because it’s a holy child (if you really want to be body-horror and gross about this, and shoot new footage, she could have partially birthed a mass of tentacles, which are wrapped around her legs, and are walking her like a exoskeletal puppeteer, while other tentacles are controlling her arms, and wrapped around her head to control where her eyes are pointed, and she’s the monster, chasing Vickers).

David is destroyed along with Weyland, because David is a stupid obvious character, and should not form the narrative core of an apple, let alone a movie franchise.


If you allow faith to be portrayed honestly, and allow actions based upon it to proceed as they actually do in the real world, you get almost the same film, but it works from a narrative, and character perspective. Instead of a parable on the enduring power of faith, it becomes one of how faith leads us astray.

Every point at which the characters choose to proceed based upon how they believe the world to be, rather than observing and testing the world, before proceeding on what they learn the world to be, is one at which they get monched by the monster.

Again, that’s sort-of the film they made, but only accidentally. To reiterate the canonical problem – no actual biologist would have attempted to touch that snake thing while it was rearing up and making itself look as big as it could. It’s such an obvious threat display, and as any real biologist would know, snakes are basically one long, super-strong prehensile arm. You do not let yourself get into a situation where they can grab you.

Yes, Prometheus delivered a movie about faith and hubris coming undone, but it achieved this by having characters who did stupid things for reasons of plot convenience, not because it was internally consistent with who those characters, and professions were.

If the plot is reliant on idiots making bad choices, the movie has to take the time to show us why idiots are in that position in the first place, and what it is about their character, that gives them such a misguided worldview. The ignorance of unprepared, unqualified people being in a position where the most likely outcomes of their ignorance causes them to fall further and further down a staircase of increasingly bad events must be earned.

What is wrong with that exo-biologist, that he can’t recognise a threat display? If you don’t explain sufficiently why the gravity of causality would tend to cause events to fall towards his demise, then you can’t kill him off in that fashion without breaking the audience’s suspension of disbelief.

This is a fundamental problem some writers don’t seem to understand – the audience’s ability to buy the events of the story, is directly linked to how often the most likely outcome of a situation occurs. Every time the unlikely event happens, the author cuts another thread holding up the disbelief-suspension net.

Rehabilitation: A new opening scene for Prometheus:

For the full-fat slow-motion-walk-away-from-the-explosion rescue, not just a deep-space salvage, what the film really needs is a new opening scene. This opening has the purpose of setting up the following:

  • Weyland Corporation’s scale.
  • Peter Weyland’s madness.
  • Shaw and Holloway as culty villains.
  • Vickers as the hero / narrative protagonist.
  • Vickers’ motivation:
    • The threat to Vickers, and to Weyland Corporation that Peter Weyland’s madness, fed upon and by Shaw & Holloway actually represents, with stakes and consequences plainly stated.
    • The rewards Vickers will receive if she succeeds.
  • The tie-in to the rest of the Alien universe, beyond just the creature itself, because we know Weyland Corporation eventually becomes Weyland-Yutani – how can we set up a logical scenario where causality will tend towards the Weyland-Yutani outcome.

This opening sequence is dialogue of an in-person corporate meeting, between Vickers, and a delegation of minority shareholders, one of whom would appear to be an employee / union representative (who I imagine has a thick New York / Brooklyn accent), in Weyland Corporation. The dialogue will be heard over the establishing cinematography, which will sync up at the end of the meeting, as the delegates leave the meeting room.

Footage:

An overhead shot, straight down of dark blue, cold, windswept ocean. The camera is moving across the water. The occasional pinnacle of jagged black rock breaks the surface, travelling vertically down the frame, so that the breaking waves can give a sense of immense scale, distance and speed of movement.

Then, a dead straight border of Tetrapod breakwall slides down from the top of screen, as we cross over onto land. A giant expanse of tarmac. As we traverse over this in a continual straight line, we are following a colossal clear path, to each side of which, is a grid of the giant behemoth N-Class starfreighters, whose distinctive design, recognisable to anyone who has seen Alien, hints that this is a major facility, in fact the primary shipyard for interstellar freight hauler Weyland Corporation.

As we continue to track across the gridded landscape of identical starships on giant marked-out landing pads, each separated by equal tracts of empty tarmac, some are still under construction beneath colossal rolling Vehicle Assembly Buildings, some are only partially covered by structures for localised maintenance.

The area is so large, we pass through isolated rainstorms, and still the landing & construction field continues.  A launchpad for an orbital shuttle appears into the top of frame, a tiny thing, it explodes skyward on a pillar of white fluffy exhaust, towards the camera, passing by level with us as it leaves the bottom of frame, and still our journey progresses.

The empty tarmac is replaced by an industrial park of support buildings, ever increasing in density, as the camera begins to tilt up towards the horizon, revealing a collection of office buildings, whose tallest tower is our destination. We track forwards, closing in on a single, large panoramic window. A blonde woman, Meredith Vickers, in executive power-formal dress is standing with her back to us, and a group of people can be seen silhouetted at the other end of the room, leaving through a pair of giant double-doors, which close behind them.

Script:

Delegates: Ms Vickers, while we understand Mr Weyland still controls the majority of shares, at only fifty-one percent he can't keep treating the company as his personal fiefdom.

Vickers: I understand you concerns.

D: Do you? Yutani Corporation have been complaining about a lack of progress in our tractors, and they represent seventy percent of our haulage business...

V: I'm aware of Yutani's importance to our company.

D: Good, because Yutani are saying they want a five percent decrease in transit time per decade, we've gone nowhere on that in twenty years.

V: The N-Class is the workhorse of our civilisation, and it's good for another century. Some of us will be long-dead while N-Class upgrades are still the backbone of trans-systemic transport.

D: That's a lovely sales pitch, but Yutani's cargoes are worth a multiple of our haulers, and if we can't deliver the speeds they want, they might just decide to get into the tug business themselves.

V: We've wargamed that possibility, and frankly, we don't think they can get an N-Scale starfreighter into production faster than we can develop a fast retrofit for the N.

D: Who said anything about developing a new tug? If you don't fix this, and get Weyland back under control, and focussed on the business we have, rather than whatever fairytale he's chasing, we will sell to Yutani. Their lawyers will flense you like a whale, and take the tug business for themselves.

V: *sighs* To be blunt, you have my sympathies. Father is old, but regardless of how much of his personal fortune he spends on geriatrics, he is not immortal. He will die, and when he does, his shareholding will pass to me, and I am interested in running a starfreighter fleet, not...

D: Meeting God? We've all heard the rumours - people are laughing at us, "Weyland and madam Rasputin" It's ridiculous! Twenty years, and no progress on our fleet, and he's siphoning ungodly sums into a deep space exploration vessel, with holographic displays, and every toy imaginable!

Employee Representative: Ms Vickers, Weyland stands for serviceability, modularity, reliability and manufacturability. We employees built the reputation of the N-Class - of our company, on being able to fabricate any N component or system in the machine bay of an N-Class, and yet here he is, pissing our money, our retirement savings away on external contractors & bespoke systems!

V: I agree, but my hands are tied. Father is headstrong, and this Shaw... It requires delicacy, and I am working on it. The worst-case scenario I can offer you is, he makes his trip, and either finds something miraculous, paradigm-shifting, and sets us up for the next one-hundred? five-hundred? years, or he doesn't and we use it as grounds to have him declared mentally infirm. I take over his shareholding, and we either sell the ship, or figure out how to commoditise it using our standard systems, and get into selling wagons for a trans-systemic archaeological gold rush.

D: So, you have a plan.

V: I have a plan. I also have another meeting in 10 minutes. It has been a pleasure to hear your concerns, and I hope this private conversation can help us find common cause to rescue our company.

ER: Thankyou Ms Vickers.

The delegates leave, and we are in sync with the end of the opening footage description.

Vickers’ PA enters the room through a side door.

PA: You know that Shaw & Holloway will fight your attempts to have your father sectioned, or they'll have tried to set up a rival succession to take control of his shareholding.

Vickers turns to look out the window, surveying the construction yard.

Vickers: Space is dangerous, and Shaw & Holloway on this new ship, all these *pauses* bespoke, new, custom systems... failures & accidents happen.

End.


And that’s how you get Capone fix Prometheus. Next up, we’ll attempt to diagnose, treat & rehabilitate Alien: Covenant.

Adventures in Image Processing

So here’s an interesting mystery / conundrum / process I recently went through in trying to create a new workflow.

For reasons or not wanting to subscribe to software, I’m still using the CS5 versions of Adobe Apps for Surfing The Deathline. The original documents are heavily constructed in Photoshop, then all the text, sound effects etc are done in InDesign, which makes them rather non-portable to other solutions.

It had been so long since I’d done a serious update of the books, that I’d forgotten parts of my workflow, and so had started some things from Scratch.

Surfing The Deathline uses .png format images for its pages. Although they take up a lot more space than .jpg versions, they have an advantage of being colour-accurate. A major problem of .jpg is that for images in black & white, a single pixel of colour will shift the white and black values away from their correct tones. So, where you get two pages butting up against each other at the spine, the greys might not match.

InDesign CS5 has no direct png output option, so the workflow is:

  1. PageExporterUtility script to output the pages as individual .pdf files
  2. Convert the .pdfs to .pngs
  3. rename the .pngs and move them to the appropriate EPUB document’s image directory.

I had created an Automator action, which took in the .pdf files, and converted them to .png, and saved them to disk. It took about 3-5 minutes to do all 236 pages.

But there was a problem with he output…

Certain pages, seemed to have red & blue fringing on their text. Going through the .pdf files, it bcame apparent that it was linked to the pages which had a specific masterpage controlling their appearance. Looking at that masterpage, the thing that suggested itself as problematic, was the page number – it was frontmost in the layering stack. So, I deleted and recreated the page number object in the masterpage, applied it to the pages, and reran the .pdf to .png workflow.

Problem solved. Almost.

My large sound effects were still showing red/blue colour fringing. After a couple of days research, it became apparent that this was caused by the system applying sub-pixel antialiasing to the .pdf file during the render.

After experimenting with commandline options for disabling it, I found out there was actually a checkbox for it in the System Preferences app. Unfortunately switching it off makes the system’s display look worse, so what I needed was a way to toggle it off, run the image processing steps, then switch it back on.

After some experimenting, and asking on forums, I was able to get an Applescript that did the job, and add it to my Automator action:

What this does is:

  1. run an Applescript to open System Preferences, test if the checkbox is ticked, untick it if it is, close System Preferences, then,
  2. run all the pdf files through the Render PDF Pages as Images function to create png files, then,
  3. move the converted versions to a new location. Then,
  4. open System Preferences, test the antialiasing setting, and switch it back on, then close System Preferences.

It was fantastic – I had a wonderful system that, once  I’d output the .pdfs from InDesign, could after selecting all of them, render them all to .png in a single right-click.

But there was a problem…

Images which crossed the spine of the EPUB book weren’t aligning correctly. Clearly, something was wrong with the way the Automator renderer was converting .pdf into .png. It didn’t matter what scale I rendered it at – even at the full native 300dpi, the problem remained.

When I compared it against doing the same process manually in Photoshop, it also became apparent that the math behind Automator’s conversion was out – files were always cropped 1-2 pixels smaller from Automator, than they were from Photoshop.

Then I started researching if there was an alternative commandline image processor in macOS – something I could call from an Applescript, to replace Render PDF Pages as Images. Thankfully, there was – SIPS, Scriptable Image Processing System.

After a bunch more research, I managed to sort out the appropriate commands, and gave SIPS a go on my pdf files. The results were the same. I tried it manually with Preview, the results were the same, again. It appears SIPS is the core image processor all these built-in macOS tools use, and it’s SIPS that has the bad math function for rendering PDF files as images.

Sips also produced pretty garbage image quality, compared to Photoshop.

So now I was looking for an alternative to SIPS, and I managed to find one – ImageMagick, a cross-platform commandline image processor. It uses Ghostscript, an opensource alternative to Postscript to render the .pdf, so everything about it will be separate from the SIPS processes. After a couple of days trying to figure out how to install it (hey, opensource projects, try making your basic documentation an educational resource for people who haven’t used your tools previously), I was able to make it work…

It delivered fantastic results, but took 30 seconds per image to process the .pdf files. In contrast, Photoshop, which was so slow I was looking for an alternative, takes 8 seconds.

You might question why I don’t use Affinity Photo, which can tear through the entire 236 pages in around 8 seconds total (gotta love that multithreaded action). Well, unfortunately, Affinity Photo’s pdf renderer can’t handle the edge effects of my InDesign speech bubbles.

So I’m back to where I began, using a ancient versions of Photoshop and InDesign, and needing to take a 35 minute break so Photoshop’s Image Processor script can do its thing, every time I want to run a set of updates from InDesign to EPUB.

Update 23 April 2021:

In experiments with image sizes for Photoshop’s scaling when it renders the PDF file to TIFF, I’ve hit upon a target size that seems to be in some sort of mathematical sweet spot for Photoshop, because the processing time has gone down to about 1 second per image, from ~8 seconds.

Surveying the catastrophe.

If there is one trend that is clear, it’s that a greater and greater percentage of economic “value” will be concentrated into fewer, and fewer people and companies. Automation will destroy more jobs, and concentrate more economic extraction to fewer individuals, than new industries will produce.

It begs the question, why a political party would base their campaign on providing “jobs”, rather than providing income? “We promise to keep you busy with tasks” – hardly the most inspiring of messages, is it?

There is too much that too many people do, which requires more skill and more time, than people have money to pay for it to be done.

UBI, at a level considerably higher than the current unemployment rate, is inevitable – large economic extractors (including wealthy individuals) are going to have to pony up radically higher taxes, and that money is going to have to go directly to people, because through Covid we’ve seen both the future of what happens when too few people have enough, and how effective “just giving people money” is in blunting that catastrophe.

So again, IF you were a political party hoping to win government, why would you double down on an obsolete paradigm?