❌

Reading view

Revive Raskin's 3 laws of software with humane work that considers a dev's duty of care

In 1942, Isaac Asimov formulated three laws of robotics. 58 years later, Jef Raskin responded with three laws of human-computer interface design. They haven’t been bettered yet. There are rules, and even laws, about designing computer user interfaces. Even after 35 years of Linux, which has brought Unix to the masses, the FOSS world has not yet really grasped this. In the meantime, the proprietary software world is busily forgetting everything it once knew. Sometimes these rules surface today, and the FOSS folks often get very cross when reminded that they’re user-interface scofflaws. Marcin Wichary’s recent blog post, They had no concept of a duty of care to their users, is an excellent recent example. (The Reg FOSS desk much admires Mr Wichary’s writing, to the extent that we bought his history of the keyboard, Shift Happens.) In his latest post, Wichary refers to CHERI Project boffin David Chisnall. Chisnall is a long-term Vim user – we all have our failings – and recently recounted trying NeoVim. He uses Vim’s persistent-undo feature, which records changes in a separate directory, so that you can repeatedly undo until you get back to changes you made weeks or months earlier. He’s customized where it’s kept, and when he tried the NeoVim fork, it overwrote his Vim undo file. In a later update to his post, he acknowledges that there was a warning, but he expected it to be safe. It was not safe. It overwrote records of more than a decade’s worth of changes. As he puts it: “Vim has kept this working across major version upgrades over a period of about 20 years. I don’t even think about it, it’s just part of Raskin’s First Law: A program may not harm a user’s data or, through inaction, allow a user’s data to come to harm. If vim or the computer crash, or if I close a file and come back to it six months later, my undo history is still there.” Wichary expands Chisnall’s citation of Raskin’s first law by giving all three, but just in case you’re not a follower of “Golden Age” science fiction, a little context. Asimov introduced his three laws in a short story called “Runaround”, in Astounding Science Fiction magazine* in May 1942. (The story was later collected in the anthology I, Robot – which is nothing like the terrible 2004 film.) A robot may not injure a human being or, through inaction, allow a human being to come to harm. A robot must obey the orders given it by human beings except where such orders would conflict with the First Law. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. Asimov’s idea was that by setting these rules, he could end the terrible genre of killer-robot stories that was already tired and stale by 1942. Jef Raskin, the lead designer of Apple’s original Macintosh project, attempted to bring similar clarity to software UI. Raskin’s three laws are: A computer shall not harm your work or, through inaction, allow your work to come to harm. A computer shall not waste your time or require you to do more work than is strictly necessary. An interface is humane if it is responsive to human needs and considerate of human frailties. He defined them in his 2000 book The Humane Interface, which you can still buy, or borrow from the Internet Archive. Sadly, Raskin died in 2005, but we have written about his work and his influence several times. He did set some of the direction of the original Macintosh. After Steve Jobs was booted off the Lisa, he took over the Macintosh – as described in The Canon Cat and the Mac that Steve Jobs killed. Raskin quit, and instead designed the remarkable Canon Cat, as we described a couple of years ago. We suspect Raskin was not a fan of Vi, the forerunner of Vim. We aren’t either, which is why we chose the year in the headline of this story: it’s the year Bill Joy wrote vi. Raskin criticized modal software, which requires extra mental effort from the user. So did another UI pioneer, the late great Larry Tesler, who invented the cut/copy/paste trio of commands. Tesler was known for his dictum “Don’t mode me in!” and even had a car license plate reading “NOMODES.” Dr Chisnall has some history of upsetting Unix fans – we’ve referred to one of his papers before: in 2018, he wrote C Is Not a Low-level Language: Your computer is not a fast PDP-11. Unix fans really didn’t like this. This vulture has been told to kill himself for daring to criticize C before now. (We wish we were joking, but no.) Although he has now updated his Mastodon post, the NeoVim fans are not happy. Indeed, one has lambasted this vulture on Bluesky for sharing Wichary’s post. It is interesting to note that NeoVim is the recommended editor in Omarchy, and until recently, the NeoVim developers cited a tweet from DHH on the project website. After an acromonious debate, the pull-quote was removed right around the time of Chisnall’s and Wichary’s posts. In the wide world of software design, we don’t expect the right-wing edge of that community to innovate much in ease of use. In a way, Unix and C embody a machismo infused school of software design: that of enjoying the process of mastering things which are hard to use. However, there are other types of software. We recently enjoyed reading about emulating an original Macintosh on a £0.60 chip. That’s $0.80 and of course the computer is a Raspberry Pi – but not even a Pi Zero: it’s a Pi Pico, a microcontroller. There is still some hope that the world can rediscover tiny, simple, user-centric software, built to be friendly first, and for rich functionality second. And, it almost goes without saying, hand-coded without bot assistance. Bootnote * Astounding magazine changed its name to Analog in 1960, and it’s still around. We recommend it. If you haven’t read Asimov’s original “Runaround”, that issue of Astounding is on the Internet Archive too. ®

  •  

Google hearts Apple's Swift so much it's pumping out server-side support

After evolving from an Apple-made, client-side language and years of false starts, Swift could finally make it on the server. Google has taken note and has just rolled out Google Cloud API Client Libraries for Swift, evidently convinced Swift has a backend role thanks to its performance and ease of use. The GCP Swift libraries target Swift 6.2+ and take advantage of SwiftNIO's asynchronous event loops, HTTP/2 multiplexing, gRPC transport, and data race safety compiler flags. "For years, Swift was perceived mainly as a UI language tied to Apple client devices," said Karl Weinmeister, director of developer relations, and Carlos O'Ryan, software engineer, in a blog post. "With Swift 6 and strict concurrency checking, it has matured into a viable systems and cloud language, pairing Rust-like data-race safety with predictable, reference-counted performance." Weinmeister and O'Ryan argue that Swift manages to be both developer-friendly and suitable for low-level control over resources, which tends not to be the case for challenging systems languages like C++ or Rust. They voice appreciation for the language's lightweight runtime and Automatic Reference Counting (ARC), alongside its expressive syntax. And they approve of Swift's compile-time concurrency checking. "Data races are caught in your editor before a binary ever compiles or reaches production," they note. The Googlers argue that the Server Side Cloud Swift SDK is well-suited for servers, containers, and DevOps environments, pointing to its utility for building capable microservices using Swift web frameworks like Hummingbird or Vapor. "With google-cloud-swift, server-side Swift developers can write end-to-end cloud infrastructure with compile-time race safety, native async/await ergonomic APIs, and zero OS thread congestion," they declare. It's been quite a journey. Apple open-sourced the Swift programming language all the way back in 2015 and in the years that followed, developers started looking at Swift on the server. IBM in 2016 made Swift available on its Bluemix cloud and a few months later the Swift team announced a server API working group. The first server-side Swift conference was announced in late 2017. And Apple's work on the async SwiftNIO framework in 2018 advanced the case for backend Swift. Swift's popularity peaked in January 2020, according to the TIOBE index, when it ranked as the 9th most popular programming language. It currently ranks 18th. Stack Overflow's 2025 developer survey has Swift ranked 20th. Even so, server-side adoption of Swift has been slow. IBM reversed course in 2019, backing away from its Swift commitment. And Amazon hasn't really done much with its Smoke Framework for server-side Swift in the past few years. Still, the Swift community has kept at it. The Swift Server Workgroup launched in 2018 and, by 2024, the release of Swift 6 with data race safety checks made the language more interesting for backend applications. Swift may be more approachable than languages like Rust or C++, but it's unclear how much that will matter in the years to come as developers become more and more dependent on AI coding agents. Certainly, Swift code is readable, a benefit for those maintaining applications, but language ergonomics and approachability matter less when AI is reading and writing most of the code. ®

  •  

Excel Canvas offers to turn your workbook into the boss's next report

Microsoft plans to roll out Excel Canvas through October, adding Copilot-generated reports to its veteran spreadsheet. Excel Canvas "transforms workbook data into a polished report containing visualizations, metrics, and insights," said Microsoft. The reports automatically refresh as the underlying data changes. Users need access to Copilot in Excel and can tweak reports through natural language prompts. Presumably along the lines of "Why the heck did you use that as the x-axis?" Lately, Microsoft has been relentlessly fiddling with Excel. Last week it added an opt-in feature to allow multiple values in the same cell, potentially complicating life for third-party tools that expect one value per cell. Earlier Copilot additions have met resistance or been withdrawn. Earlier this year, there were howls of outrage from users when a Copilot Dynamic Action Button was unceremoniously dropped onto their workspaces. In response, Microsoft swiftly allowed users to send it to the toolbar. Microsoft also abandoned the COPILOT() function in August this year, barely 12 months after introducing it, saying it had "decided not to move forward with this feature." The function carried a warning that its output should be checked for accuracy, particularly when used for business decisions or reports. Hardly reassuring when the spreadsheet feeds the accounts. Automatically refreshing reports could save users some work, provided Copilot selects appropriate metrics and charts. Canvas also enters a crowded market: businesses already using dashboard tools will need a reason to add another. ®

  •  

Met Police suspends use of phone-hacking software over Russian links

The Metropolitan Police has stopped using digital forensics software from Oxygen Forensics while it investigates US allegations that the supposedly American outfit was secretly owned by Russians and developing its wares in Moscow. Scotland Yard confirmed it has paused use of the company's tools and launched a "full review," after US prosecutors last week accused Oxygen CEO Lee Reiber and Russian national Oleg Sergeyevich Davydov of concealing the company's ownership and where its software was actually being built. The Met signed a three-year deal with Oxygen in December 2023. Digital forensics teams use its software to extract and analyze data from phones and other devices seized during investigations. "We have paused our use of the tool while we carry out a full review," a Met spokesperson told The Times. "At this time, we believe any impact to ongoing investigations will be extremely limited. The Met does not share any data obtained from investigations with Oxygen Forensics Inc." The force said Oxygen's software runs on a closed IT system that isn't connected to the internet and was used in less than 0.2 percent of the more than 23,000 actions carried out by its digital forensics team over the past year. The pause comes after the US Department of Justice alleged that Oxygen, which is based in Alexandria, Virginia, presented itself to US government customers as an independent American company despite being owned and controlled by five Russian nationals through a Cyprus-based holding company. Prosecutors claim the same five Russians also owned Moscow-based MKO Systems, previously known as Oxygen Software, where developers actually wrote Oxygen's software. MKO, meanwhile, sold the technology in Russia under different product names to customers reportedly including the Federal Security Service, better known as the FSB, as well as the Russian Investigative Committee and Ministry of Internal Affairs. Oxygen's US customers weren't exactly small fry. US defense and homeland security agencies bought its software, including Homeland Security Investigations, the DHS Office of Inspector General, and the Secret Service's National Computer Forensics Institute. The DoJ isn't alleging that Oxygen's software contained malicious code or was used to gain unauthorized access to customer systems or data. Davydov, 52, was arrested at London's Heathrow Airport last month while preparing to fly to Turkey and appeared at Westminster Magistrates' Court on Tuesday as the US seeks his extradition. District Judge Anthony Calloway declined to grant bail, according to The Times, citing Davydov's Russian citizenship and residence and the risk that he could flee. A clerk at Westminster Magistrates' Court told The Register that Davydov, was refused bail because it "hadn’t had enough time to gather important information." The fallout isn't limited to Scotland Yard. The National Police Chiefs' Council said other UK forces also use Oxygen products and have been encouraged to carry out their own assessments. "We are aware of the allegations made by US authorities regarding Oxygen Forensics," an NPCC spokesperson said. "These remain allegations at this stage and we note that US authorities have stated they are not alleging the software contained malicious code or that customer data was accessed without authorisation." "Forces that use Oxygen products have also been encouraged to undertake proportionate local assessments and activity to understand and contain any issues that are identified," the spokesperson added. The allegations are causing headaches elsewhere in Europe too. Romanian authorities have begun terminating their use of Oxygen products, while Latvia's State Police has suspended the software pending an assessment. The Register contacted The Met, NPCC and Oxygen Forensics for comment. ®

  •  

Techie was stung by a wasp, held overnight by Chinese police, then trapped in a 13-hour meeting

Welcome to another installment of On Call, The Register's Friday column that shares your tech support stories. This week we're taking a detour into tech sales, courtesy of a reader we'll Regomize as "Carson," whose employer sent him to China without first securing a visa. The adventure began when a colleague called with a fateful question: "Can you travel to China tomorrow to attend a sales meeting about our short messaging and notification products?" UK-based Carson was available, but doubted his employer could obtain the necessary visa in time. "I was told not to worry; the company would arrange it," he told On Call. So he agreed to go. "I was up bright and early the next morning when I felt a sharp pain," he wrote. "There was a wasp in the leg of my jeans which had stung me three times. That did not bode well." Nor did the prospect of spending the 12-hour flight to Hong Kong in economy. "Normally I would have been in business class for a flight of that length but there were no seats left at such short notice," he wrote. "It was not pleasant with a swollen and throbbing thigh." At the transfer desk in Hong Kong, Carson explained that he still lacked a visa for mainland China, but that his employer was trying to secure one. After making a flurry of calls, airline staff issued him a boarding pass and told him to hurry or he would miss the flight. And then his employer called with instructions not to board until told to do so. Carson became that passenger holding up the flight until his phone rang again and a colleague assured him that someone would meet him in Shanghai. "I was, indeed, met at Shanghai Airport, airside," Carson told On Call. "My colleague informed me that I was to be denied entry to China because I lacked a visa. A couple of large policemen took possession of my passport and escorted me through baggage claim and into a smoke-filled room." The local police told Carson he would have to pay a fine, but that they would not accept a credit card. "I had no Chinese money because it was illegal to import or export it. So I was marched to a bureau de change that exchanged every banknote I had on me – $250 – for Chinese banknotes." Carson's fine was the equivalent of $247. "I was told I would be placed in a hotel overnight, under guard, and deported in the morning," Carson wrote. His employer intervened and arranged a better hotel, sparing Carson a night sharing a room with Chinese police. Carson might reasonably have expected to sleep after that ordeal. Instead, colleagues piled into his hotel room to work on the sales presentation they still hoped to deliver. His police guards stayed to watch as the preparations stretched through the evening and finally ended at 3am. Carson finally caught three hours of shuteye before the police woke him, escorted him to breakfast, and then to the airport. "I had to buy a ticket back to Hong Kong and oddly, only first class was available. The police took me to the first-class lounge then to my comfortable seat. Only when sitting down with my seatbelt fastened did I get my passport back." While Carson was being expelled, his visa finally came through. He was therefore soon aboard another flight to Shanghai, where he arrived at night and met a waiting taxi driver... who delivered the news that the bid team was now 300 km away in another city. Carson got in the cab and arrived at midnight. "The meeting was with a team representing a state organization. It started at 9am and ended at about 10pm," he told On Call. "I gave a 15-minute presentation but most of the meeting was conducted in Mandarin" – a language Carson does not speak. "After helping to tidy the meeting room and grabbing a quick beer with a Hong Kong-based colleague, I went to bed at about midnight before getting up at 6am for my taxi to the airport." Carson eventually made it home and, in his email to On Call, rated the adventure: "Not my best trip." What's the worst business trip technology has inflicted on you? The first step of your journey to an appearance in On Call involves clicking here to email us your story! ®

  •  
❌