Apple Prepares MacOS Users For Discontinuation of 32-Bit App Support (arstechnica.com)
Last year, Apple announced that macOS High Sierra "will be the last macOS release to support 32-bit apps without compromise." Now, in the macOS High Sierra 10.13.4 beta, Apple is notifying users of the impending change, too. "To prepare for a future release of macOS in which 32-bit software will no longer run without compromise, starting in macOS High Sierra 10.13.4, a user is notified on the launch of an app that depends on 32-bit software. The alert appears only once per app," Apple says in the beta release notes. Ars Technica reports: When users attempt to launch a 32-bit app in 10.13.4, it will still launch, but it will do so with a warning message notifying the user that the app will eventually not be compatible with the operating system unless it is updated. This follows the same approach that Apple took with iOS, which completed its sunset of 32-bit app support with iOS 11 last fall. Developers and users curious about how this will play out will be able to look at the similar process in iOS for context. On January 1 of this year, Apple stopped accepting 32-bit app submissions in the Mac App Store. This June, the company will also stop accepting updates for existing 32-bit applications. iOS followed a similar progression, with 32-bit app submissions ending in February of 2015 and acceptance of app updates for 32-bit apps ending in June of 2015.
I can still run Windows apps originally compiled in 1992 on Windows 10.
Just sayin'.
I think it likely there's going to be a lot of resistance to this one. There are an awful lot of perfectly good apps out there where the developers have gone away - they're just not going to make the transition to 64-bit. Apple's asking a very large number of users to take a serious a hit in terms of lost investment all at once.
There's no particularly good reason for it. The existing OS support can be frozen, and new OS stuff added; it's not like we're short on memory or storage.
For some, the answer will be to simply not move to the new OS (notice I didn't use the term "upgrade.") For others, it may be a VM, unless the VM's can't run in 32-bit mode (don't know why that would be the case, but perhaps it is.)
It is Apple's habit to go with "hey, I have an idea" where for some reason, no one stands up and tells them "you know, that's not a good idea..." They did it with the PPC emulation, they did it with headphone jacks, they did it with slowing down people's phones, and now... now they're going to kill a lot of people's tools.
Interesting times for Apple.
I've fallen off your lawn, and I can't get up.
32-Bit is now getting the boot just like when 16-Bit got the boot in the late 1990s like when 8-Bit got the boot in the 1980s.
No more support (or unenthusiastic) for 32 bit computers even from Linux so forget about using those old Pentium 4 computers to run some little task. Buh-Bye.
Of course, there will come a time in the not-so-distant future when 64-Bit computers will get the cold shoulder.
Perfectly good "apps"? Ha! How about perfectly good HARDWARE.
Apple didn't care about leaving PowerPC users in the dust, and they sure as hell won't give a shit about 32-bitters.
Even Linux distros are giving up on 32-bit machines. People are lazy, and they cannot be bothered to think about machines which they do not have; most developers don't have 32-bit machines anymore. The same problem happened with the Linux kernel; it became really clear when all of the devs switched to multi-core systems, because they kept breaking the single-core code paths.
do anything useful using only numbers larger than 2,147,483,647?
Linux distros still run 32 bit apps. Firefox was 32 bit only (main line builds) for a long time.
Fact: 64-bit processors and 64-bit OS's have been available since late 1992. 25 Years (Alpha - been there, worked on that in 1992). If you are writing application code that is not working for 64-bit platforms 25 years later, your company both: is inept at engineering, and deserves to die due to inept market tracking.
Linux on Alpha (64-bit) was working at about 1.3.5x ish (1995/1996)
"Apple Prepares MacOS Users For Anal Ramming"
It this what ARkit is all about?
Apple has never fixed the latest versions of Pages, Numbers and Keynote to include the features ripped out when they "upgraded" to the latest iWorks. If fact, for those who need these features, they recommend keeping a copy of iWorks '09 and using it. But it's only 32 bit software.
"...Loyal customers - your old stuff is screwed, just buy all our new computers and software. Thanks for your money."
Been there, done that, with PowerPC, OS9 Classic, OSX Intel, etc.
It's only correct in your mind because you are fixated on anal sex.
Don't they normally do this by slowing the device down until the user upgrades?
What I like about it is, there is no indication which end of the ramming the users are being prepared for. It is a very accessible phrasing for being so personal.
I remember when Intel Macs came out they made a big deal about using your old apps using Rosetta, and when PowerPC OSX came out you could use your old Apps using classic, and when PowerPC chips came out you could use old 68k apps.
Tim Cook is running a Facebook machine company, they even advertise "what's a computer"? No one will want to buy a $5000 iMac Pro now that their enterprise apps won't work. And when the millennial generation hits their 40s they will be going back to real computers.
Wait, is this about apps or is it all software? The summary is confusing on that point.
I'm not an app developer, so if it's only about apps, I don't need to worry.
Come on apple, give us source code to boot loaders, unlocked, run home brew on old 32bit iDevices?
Surely there are over 50 million iPhones+iTouches that are pure 32bit, that are working, that should NOT
be just disabled, turned into trash!
Macs haven't run my 68K {NOTE: binary} apps for years. 8088 MS-DOS 3.1 batch {text, source} files still (mostly) work in Windoze, though.
NOTE: {notes} are mine.
Which makes a great argument in favor of accessible source.
Because your batch file are human readable text-file, you can even edit what's needed to remove the "(mostly)" part of the sentence.
Much more difficult with binary 68k machine code.
If you had access to the original C / Pascal code that the 68k apps were compiled from, it would be much more easy for devs to adapts them to modern architectures/APIs.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
So what special exception will they make to kowtow to Intuit, who has steadfastly refused to update their Quicken 2007 locally hosted app. This 11 year old app is still used by many, and made use of Rosetta so its 68K code could run on Intel iron. When Rosetta was retired by Apple, Apple made special dispensation so that lazy intuit could still run this essential financial application on modern Mac OS with little modification, up to today under High Sierra. I have no doubt most of its code is the same 68K code from 2007.
I was an early adopter of Quicken back in 1988 and have 30 years of financial data socked away in it, and do not want all my financial transactions stored by Intuit in the cloud where they will keep it "secure". Yeah, trust Intuit. Quicken Essentials has a more limited feature set. They do not offer a true substitute, which is why so many of Intuit users have been stuck in time running an ancient release.
"You have liberated me from thought."
If you plan on keeping your OS up-to-date, than I would highly recommend that you keep an eye out for -- nay, even seek out -- these warning messages. I had an experience with my iPhone, which I view as a bit of foreshadowing here:
I was participating in the iOS beta program, and I pretty much ignored the iOS 10 obsolescence warnings, even though I knew better. That meant that I was essentially blazing the trail, so there were no user stories online to enable me to learn from the mistakes of other people... so when I updated to iOS 11 and all of those apps ceased to function, I actually found myself in a bit of a pickle. It was over a single app: an older "Notes" type app, dating from well before Apple's own Notes app had incorporated several of the more useful features that it now has. So this old app had a bunch of old personal notes in it, which I wanted to recover... but there was no possibility that this app was ever going to be updated for iOS 11, because it had long since been removed entirely from Apple's App Store.
Now, I'm a geek with multiple spare devices lying around, so my own little pickle was resolved -- but not exactly easily, and any number of things could have gone wrong to prevent me from succeeding: Since it too me awhile to realize what I'd lost, I first had to hunt through Time Machine to find the last iOS 10 backup of my iPhone. I then copied that into the iTunes backup repository, grabbed an older iPhone which hadn't been updated to 11 yet, used iTunes to restore the old backup to that surrogate device, and then restored the app itself from the legacy iTunes app repository, where it was (fortunately) still lurking. (I also had to do a bit of research to see if that last step was still even possible, given that Apple had already disabled app management in iTunes awhile back; thankfully, you can still simply drag-and-drop existing app backups onto your iPhone within iTunes.) After some trial and error, I was finally able to get into the app and recover all of my old notes.
So ultimately, I sort'a got lucky, because I just happened to have all of the pieces in exactly the right place to enable such a recovery. (If my iOS backups had been in the cloud instead of on my Mac, or if I hadn't been using Time Machine, or if I hadn't had an old device at hand, or if that old device hadn't had the right version of iOS on it, or if... etc, etc, ad nauseam.) So keeping all of that in mind, I have very little confidence that such a scenario would play out with similar success upon updating my Mac... and there are probably far more legacy apps there than there were on my iPhone.
So, this time around, if Apple provides some type of compatibility list for all of the legacy apps on my Mac -- as they had done in iOS 10 -- then I'll be paying quite a bit more attention to what's on that list, so that I can salvage my old data before doing so becomes a practical impossibility.
This is a pretty good example of an app and a user vulnerable to this change.
The other worrisome scenario are the careless/clueless/disconnected users or shops, who've "always used This Program in This Way." They are totally unaware of a breaking change coming down the pipe. You think that Apple's warning fixes that? No, it does not.
True story. A payroll application I supported was ending support for a specific reporting environment. This app was nearly 100% dependent on user reporting, and the vast majority of reports used an older reporting system. So the vendor announced the deprecation (responsibly, long in advance, doing all the things you'd expect and want). They also picked a version, prior to the deprecating version, and issued warning messages for every single report run that used the older technology.
Thus, an average payroll user would have been warned hundreds of times prior to the removal of the old tech. Did it help? Nope! Our users had spent roughly a year or two determinedly ignoring every such message. And it wasn't just the in-app messages either, they ignored the documentation notes, the advanced update bulletins, the release notes, all of it. They didn't want to deal with the issue and so they ignored it.
The whole thing wound up in a panic at the last minute. Our users went ballistic when they finally faced the breaking version upgrade. They actually got together, made a conference call to the vendor, and stated that they "could not possibly be expected" to cope with the tech upgrade. And it worked! They got the vendor to back down.
That was roughly 10+ years ago now. To the best of my knowledge that vendor still supports an archaic reporting technology alongside their newer technology.
The 8088 was a 16 bit processor with an 8 bit I/O bus. The registers are 16 bit registers. AX has AH and AL 8 bit components, for example.
Yes, they use those kits in ARkansas.
OK, but you can install the 32 bit version of Windows 10, and still load the GWBASIC.EXE compiled in 1986 on a current operating system.
Yup. Indeed, Microsoft (and FreeDOS. And DosBox. And dosemu) do maintain the set of API needed to get it running. (Basically, IBM-PC BIOS Interrupt call APIs, and DOS int 21h API. And an extra ton of emulated audio/video hardware in the case of DosBox).
(It helps that 3 out of the 4 mentioned software are opensource, and thus can share a bit of the workload: Indeed, dosemu uses bits from FreeDOS to provide the Int 21h MS-DOS API).
Though note again that most of the things that you will run *inside* GWBASIC.EXE are basically (pun intended) scripts with source code available. And even in the case of GWBASIC.EXE not running anymore (because in the future, tablets take over and we decide to switch away from x86/x86_64 to AArch64), you could still port them to, say, FreeBasic.
In general, it looks that the DOS legacy is so strong (and so low-cost to keep around nowadays) that we'll probably still have it around for as long as there's some hardware still able to execute real-mode x86 machine code.
You know, for that weird data acquisition machine in the corner of the lab that can't work with anything else but some weird specific executable that has DOS bits.
Microsoft did away with 16 bit compatibility layer in the 64 bit OS, but as others have pointed out, VMs and things like DosBox make it not a big loss.
Small nit-picking : for once, Microsoft is entirely innocent in this case. The culprits are AMD (who designed AMD64) and Intel (who imported it as x86_64 once they saw that IA64 is going "(t) itanic").
There is no Virtual8086 mode available when the CPU is in 64 mode. It can only execute protected mode code.
All the methods that Microsoft relied on to execute legacy real-mode code (i.e.: using virtual86 mode to handle most of the hardwork) suddenly doesn't work anymore if the CPU is in 64bits mode.
So basically they were left with two choices :
- enable 16bits APIs only when the CPU is running in 32bits mode. And disable them when in 64bits mode (what they did)
- rewrite extensively their 16 bits support to basically handle most of the emulation themselves without any assistance from the virtual86 mode. (What basically Dosbox, VirtualBox, QEMU, etc. are all doing).
The later is quite a lot of work, just to get old deprecated stuff to still run. It hits the law of "diminishing return" hard. So Microsoft skiped it. On the other hand all the other software are emulator (with additional dynarec, JIT, etc. but still) so emulation is *their* business and thus they went that path.
Nit-picking to my nit-picking :
technically a CPU in 64 bit mode is still able to run 16bit *protected mode* code. So from a purely theoretical point of view, it should be possible to get those programs that are 16 protected-mode clean (some Win16 code in the 286 era is designed to work as-is in either real mode or protected mode) to run, *IF* you take time to re-implement the whole 16bits subsystem to run as a protected 16bit software on your CPU in 64 bits mode, *AND* you make sure that these program won't rely on any real-mode code (drivers, external dependencies to weird software, etc).
That's way too much work in the scope of Microsoft - it's basically re-developing an entire Windows 286 again, just for the sake of those 3 program which will run cleanly inside it.
Mega nit-picking:
There are complicated ways to get virtual 86 mode working from within a 64 bit OS. It's DOS' "Voodoo mode / Unreal" kind of hackish - relying on virtualisation extensions to help having virtualized CPUs running in a different mode than the main os.
So basically, it could be possible to take the architecture that normally happens if, on Windows 64 bits, you use a VT-x enabled Virtual Box to ru
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I have been using a 64-bit Linux distro since I bought my first Athlon 64 almost 14 years ago. Why some software is still distributed as 32-bit mystifyies me. I'm looking at you Steam, I hate having to install a crapton of libraries just for a single program.