SWP 6: the future with macOS

jm's picture

It would be very helpful to me, and possibly others, in planning IT arrangements to have a clear statement from MacKichan on future plans for SWP 6 running under macOS.

I switched to macOS when I learnt that SWP 6 would be available for running under macOS because I was keen to get away from Windows, which I found unsatisfactory for a number of reasons.

The most recent macOS under which SWP 6 currently runs is, I understand, Mojave. But Mojave is getting increasingly outdated, which causes problems with other programs. The Mac on which I run it is also getting increasingly outdated and needs to be replaced. Any replacement will come with a version of macOS on which the current version of SWP 6 will no longer run.

To make an informed strategic decision about my IT arrangements, I need to know about the future of SWP 6 (which I like a lot and have spent much time writing bug reports about) running under macOS. All I am aware of so far are the following:
1. Post on this forum from George saying “it appears unlikely that the next release will be available for Catalina” and for Big Sur. But the last release of SWP 6 was more than 1½ years ago. If there is the same gap to the subsequent release, Apple will probably have stopped supporting Mojave by the time that release of SWP 6 arrives. (Apple seems currently to be stopping supporting a macOS release after about 3 years.)
2. A recent thread on this forum that SWP 6 can be run under a more recent macOS through the Parallels Desktop or VMware Fusion environments, but that effectively means going back to the Windows that I was keen to be free of and I am also deeply reluctant to rely for my work on an intermediary environment unless it is formally supported by MacKichan.

So to make an informed strategic decision about my IT arrangements, I really need to know the following from MacKichan.

1. Is the plan to continue to produce versions of SWP 6 that will run under up-to-date macOS?
2. If so, what is the timescale likely to be? (I am asking for an indication such as 6 months or 1 year, not a specific date to be committed to.)
3. If not (ever, or at least for some time), will MacKichan formally support running SWP 6 on more recent macOS through Parallels or VMware Fusion?

I would greatly appreciate answers to these questions.

Barry MacKichan's picture

I will make a longer post

I will make a longer post later today, I hope. I appreciate your patience, and I understand your frustration.

Barry MacKichan's picture

Mac 64-bit version

Mac 64-bit version statement.

I need to address the questions many of you have had about the state of the Mac version of our products.

To give an impression of the scale of the project let me give a few statistics:

Our programs are based on an older form of Firefox. This provided us with a lot of functionality from network communication and file handling to displaying MathML correctly. As a result, our code base consists of about 42,000 files and 5,800,000 lines of code. Much of this is Mozilla code that we have not changed, but we have added about 3,700 files and 415,000 lines of code. Most of the Mozilla code is untouched, but we have modified several parts of it, and frequently we have to trace into it while debugging, which requires some degree of understanding it.

The Mozilla code base has continued to grow since we forked it. The most recent copy I have available on my computer is from 2019, and it now has 232,000 files and 22 million lines of code.

When I started the update process for the Mac, I saw two choices. The first was to port our current code to be a 64 bit process on the Mac. That means modifying our 415,000 lines of code and also the roughly 5.4 million lines of Mozilla code. Some of the code, such as the JavaScript code will not need modifying, but there are about 3.16 million lines of C, C++, and Objective C code.

The other choice was to base our changes on a recent build of Mozilla (which has long been 64-bit code on the Mac), and then upgrade our code and the changes that we had made inside of Mozilla, and bolt our code onto the newer Mozilla. 

The second option looked like it might be less work, and it had other advantages since several of the newer features in Mozilla would be useful for us. So after working on the first option for a couple of weeks, I started on the second. After six months of effort, I had to abandon it. I had underestimated how much Mozilla had changed. I was not surprised by a lot of the changes, and I agreed with most of them, but the changes in the interfaces of the hundreds of classes, and a lot of the re-architecting of even lower level classes meant that the needed changes were much more than I anticipated. Information about the intent of the Mozilla changes was hard to find.

Since then (about a year) I have been working on bug fixes and making parts of our program more robust. 

When I revisit the Mac code, I will be using the first choice listed above.

In the meantime, we have recommended the following options:

1. Continue with MacOS X High Sierra or earlier, or

2. Use a virtualization program (VMWare Fusion, Parallels Desktop, VirtualBox) on your Mac and run High Sierra or Windows in the virtual machine. But, Apple has now released models using its new M1 processor, which seems to be an impressive upgrade from the current Intel processors. The Rosetta interpreter allows the use of the Intel instruction set on computers using the new M1 processors, but Apple says that virtualizers running x86 code cannot run on Rosetta. I don't know if the virtual machine developers will have a solution for this in the near future. 

This means that virtual machines are not a solution in the medium to long term although they will work for all those who have current Macs (if you haven't bought an M1 Mac in the last two months.)

The path forward is that we will make the minimal changes to allow our products to support 64-architectures. I expect that we will be able to support the arm64, i.e. the M1) architecture at the same time. I cannot promise a precise schedule for this, however.  A year is possible, but far from certain.

I'm sorry I can't provide better news at this point, but since I am the only person working on the core code, I'm limited in what I can do.

--Barry MacKichan

jm's picture

Many thanks for this honest

Many thanks for this honest explanation of the situation, Barry. I haven't decided what I to do about it yet but it is very helpful to have the situation set out clearly.

My one comment at this point is this. I understand that Apple will shortly cease supporting High Sierra, which I guess raises security issues for continuing to use it. But I have been using SWP 6 with no problems with macOS Mojave (currently 10.14.6), the successor to High Sierra, which Apple is still supporting (though I guess possibly for no more than another year), so there should be no major security issues in continuing to use that for the moment. This might be sufficient if SWP 6 for the 64-bit architecture is ready before Apple stops supporting Mojave (and if my current MacBook can be coaxed into functioning properly that long).

Barry MacKichan's picture

You are correct that Mojave

You are correct that Mojave is OK. I made the mistake because with Mojave, Apple removed the tools (libraries) required to compile 32-bit programs, so I stayed with High Sierra instead of introducing a lot of complication into our build process.

--Barry

Chris's picture

I am sure many users of SWP

I am sure many users of SWP are interested in the exact same questions including myself.

Barry do wrote on the website
----------
We are currently working to modify the programs so that they will run on Big Sur and Catalina. We will send out an announcement when they are usable with Big Sur and Catalina.
----------

And this piece of news is rather motivating for us although a time frame for its official release is not available due to the limited workforce at MacKichan.

I have been thinking to switch back to Windows (although reluctantly) due to the incompatibility of some research softwares with Catalina and Big Sur. With the recent M1 chips Macbook, there are more compatibility issue.

Apparently, most developer are struggling with this:
https://developer.apple.com/documentation/xcode/notarizing_macos_softwar...

Anyway, Lenovo x1 Extreme (Gen 3) would be my next target should I switch back to Windows. Hopefully, there is no issue with this as I read somewhere before here in this forum that SWP have issues with Lenovo.