|Home » Industry Watch
Being tested, in the pipeline, coming soon now.
Greetings & Salutations.
The first of three pending updates. One now, one more already in the pipeline, a third poised to enter the pipeline.
These three updates deal with slacker cosmetics but also with the pervasive 'walled garden'. And we have some important news on that front.
Apple Mail Domains
Some people wrote to say this is expected, and perhaps it is, but nevertheless: As of the evening of 3 November of this year, Apple began blocking our Bcc email on their three domains mac.com, me.com, and icloud.com. We've been sending out these changelogs since 2002 - for over seventeen years. So we wrote 'To:' to those who were affected and suggested they supply us with an alternate email address. Many of you responded, thanks, with choice words about Apple, thanks again, but not all got back to us.
The Power of the Light Side
These updates are about 'slackers', a few apps that transitioned successfully to 'Dark Mode' but didn't look too cool when returning. They're all tableview applications.
ArchInfo, RxDefaults, Xstrings.
An irksome caveat with tableviews and the dark/light mode thing is trying to look proper in both modes. This is mostly straightforward, and involves going into the NIBs with Interface Builder and resetting colour values, then testing again and again, but when you're accepting the call 'willDisplayCell:', you're in trouble.
'willDisplayCell:', one of those rare NeXT APIs that still exists, targets a single cell, but is row-oriented, and the catch is that once you respond for a single row - once you have that call in your code at all - you have to handle *all* rows, as the Apple/NeXT framework code uses the same cells over and over again for all rows. If you ignore that admonition... ;)
The Apple engineers know how to handle the modes in standard scenarios - they dreamt up this dark and light mode thing and they have the actual tableview code to work with - but they won't know what an independent app is after. Worse still, there are myriad scenarios that the system's code handles behind the scenes with functionality that is not exported anywhere. The 3rd party hacker has to work backwards to figure each scenario out all by his lonesome.
Some time ago, we added framework functionality to handle a number of these nonstandard scenarios, but the three apps here are all a bit unorthodox, for one reason or another.
ArchInfo will now use the same formatting as the drag-drop export, an asterisk ('*') at the beginning of the row with the current architecture, and will not use the alternate red colour.
RxDefaults doesn't use colours so much as either bold fonts or grey colour, depending on whether the app has RxDefaults.
Xstrings goes through a cycle of three colours for each successive XA found on a file.
The new ArchInfo idea makes sense, and, as it's consistent with the export format, may be considered to be doing the right thing, but the challenge of getting the old colour system to work: that's not going away, as we tend to never give up at anything.
Oh - and Xstrings happened upon an unexpected optimisation. The ways of object code generation are mysterious indeed.
One More Thing
Those of you who see a product up front, who get behind the wheel of your car, so to speak, without ever needing to go under the bonnet: You can't possibly see what we see, what we're going through. We write about this from time to time, in a foolhardy attempt to create a voice, an opinion that can resonate, but it's hard to fathom what we're getting at.
And then, some beautiful morning, you'll see something's wrong, and you'll exclaim 'WA??' And we'll try to explain that this is what we've been talking about all along, but there's little chance you could have understood anyway.
There are literally thousands of these things going on. These 'signs'. Thousands. The Apple Deprecation Squad seem to work in shifts, 48 hours per day. There must be some grand (evil) design to it all, but no one can fathom it. Take a look at any online API page and see for yourself - it says 'deprecated' all over the place. Everything's being slashed - mercilessly.
NSWorkspace looks like what remained of Armstrong Custer's chaps after Sitting Bull paid a visit. Drag-drop? Forget it. Word has it they've decided it's a security risk. And in addition, dragging from a tableview has changed three times in as many years.
The standard clipboard formats, in existence for 25 years, are being deprecated. And, in all of this: no indication of replacements (improvements).
The crucial 'openFile:withApplication:' is going away. Really. You'll be 'warned' if you use it. It's been around from the beginning. It's the key for you, as a user, being able to determine what application you want to use to open a file. It's going away. Not even a hint of a replacement, or an explanation as to why it's going away. The entire subset of the class is being deprecated. Once they drop the boom, you'll only be able to open a file with its default editor. And they give you absolutely no indication of how you determine what that default editor is.
Now think about all that golden legacy Unix code. Unix dates from the 1970s, parts from even further back. Fifty years. Steve Jobs wasn't even 15 years old when they laid down the first kernel basics. There are so many 'flavours' today - Linux and the BSDs being prime examples - yet there's still a pervasive level of conformity. How long would Unix have survived without it? What would have happened if people rooted in stdio.h and stdlib.h had changed macros just because they didn't like the wording?
All the best.
One More Thing Again
This is already in the pipeline. We have another update ready and scheduled after this one, and, after that, this new tidbit will reach you.
It's 'Seahaven technology' in Lightman.
This feels weird, to be honest. It's the first time in a long time that we've not felt annoyed by all the extended attributes Apple slap onto downloads. You can get at least half a dozen without breaking into a sweat.
Lightman now takes care of that automatically. So 'whoosh!'
Some of the details.
- Lightman does not do this by polling but by listening to notifications and events. There are several he is interested in. One has a very descriptive name, something on the order of 'hey folks I just finished that download!'
- Lightman concentrates only on ~/Downloads. If you have files elsewhere, they're not affected.
- You can always bring files over to ~/Downloads to have them cleansed. Lightman will take care of the directory on the customary refresh (which includes the first ever on startup).
This is going to take getting used to. No more XAs on downloads!
Ultimately we thought of having this Seahaven thing run as a separate service, but now we're not so sure.
We also thought of covering more download locations, but opted out of that idea.
This technique does not remove the 'w' bit. Use CandS if you want that.
So we're testing this now and should have it to you in a few short weeks.
Note of course that this means you completely evade Apple's 'walled garden' ('Gatekeeper'). Freedom!
Stockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.
Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.
All Content and Software Copyright © Rixstep. All Rights Reserved.