SO A BIG ANNOYANCE. Under the tools menu, when you want to interrogate a (imported) gedcom database for errors, such as problems, duplicates. edit person, each one of these tools windows is a single thread/task and locks out any the main screen from any access until the tool screen is closed.
IMHO this is poor programming: Ideally, any entry in the tools windows should have a dynamic link back to the main screen so it can reference the entry in any of the six main views, and even if a dynamic link from the entry in the merge duplicates, problems or edit person wasn’t present, it shouldn’t lock out the user from switching to the other window view to review what or where one is (although the dynamic link would be much better).
I grew up with Commodore Amigas in the 1980’s that could multithread and multitask with re-entrant code in 500k of RAM, and certainly whilst modern systems are much more bloated now as processor power has passed the need to be efficient with programming, surely this locking of a single task / thread / window can be brought into the modern age?
After all, the basics of RM are there as a good program, so why not ? (PS I hope this is not a byproduct of the MS to MAC porting of the base code)
Another example is when in the search the web feature you cannot switch back to a person/edit/media screen to see if you have the found items.
RM is a great program, it just doesn’t walk and chew gum at the same time.
Multi-threading and multitasking with re-entrant code is not the issue. Indeed, RM is clearly a heavily multi-threaded app as can be seen by looking at it with tools on Windows such as Windows Task Manager and Windows Process Explorer. I’m not a Mac user, but I’m confident a Mac has similar tools.
Rather, the issue is window management. A window can be opened by an app as a modal window or as a non-modal window. I have yet to conquer the nuances of the programming of a windows app, so I don’t know what is involved to create the one vs. the other. But in any case, a modal window blocks further user access to the main window until the modal window is dismissed by the user. A non-modal window does not similarly block access to the main window.
In all its versions, RM has used modal windows over non-modal windows in most cases. That is the problem you are correctly complaining about. Beginning with the RM8 rewrite, there were a few improvements. One RM8 improvement is that the Edit Person window itself is now non-modal. Simply being in Edit Person no longer locks out access to the rest of RM. However, accessing anything other than Edit Person makes the Edit Person window pop under. You then have to bring the Edit Person window back into focus using a little status bar at the bottom of the main screen. I don’t have dual monitors or a large enough single monitor to play with this much, but if you make the main window small and the Edit Person window small, you can switch back and forth without the Edit Person screen popping under. I don’t know for sure but I suspect that this works well with dual monitors with the Edit Person screen on the second monitor.
I suppose you could say that the main tabs on the left side of the screen are a third improvement. For example, you can go from the Places tab to the Sources tab and back to the Places tab and be right back where you were in the Places tab. But I actually don’t think of this as much of an improvement. Because the Sources screen and the Places screen are not separate non-modal windows, you can’t have one open on the left half of your screen and the other open on the right half of your screen at the same time. And you can’t have one open on one monitor and the other open on another monitor if you have dual monitors. The real need is for separate non-modal windows.
The other RM8 improvement is that many of the modal windows from RM7 and previous versions are now sliding panels. When a new panel slides in, the rest of your “main” data is still accessible and is not locked out by a modal window. I suppose that sounds great in theory. But in practice, I find the sliding panels to be one of the worst aspects of the new design. To me as a sample size of 1, the sliding panels are trying to cram too much data into too little space and they make the new design much more clicky than the old design. I would practically kill to get the old modal windows back in lieu of the sliding panels despite the fact that the modal windows lock you out.
As I understand it, the sliding panels in the new design were used because a Mac did not support enough levels of modal windows. But to me, the sliding panels were the wrong solution. The right solution would have involved two things. One is that more of the modal windows would have been non-modal instead of modal. This would have addressed your concern about modal windows locking out the rest of RM. But even more important to me would have been to have less levels of drill down in the first place. Even if each level of drill down were non-modal, there are still far too many levels of drill down. And to me, the sliding panels make the problem of too many levels of drill down even worse.
I any case, I feel your pain with respect to the lack of non-modal windows in RM.
By the way, I hadn’t heard the term “re-entrant” in decades. I wrote a great deal of re-entrant code in assembly language decades ago. But since the C language came out, I have written primarily in C and then in C++ when C++ came out. I have written a lot of multi-threaded code in C++. Somehow or other, the term “re-entrant” doesn’t come up and isn’t even used. The nature of C and C++ is such that most code is inherently “re-entrant” without the programmer making any major efforts to make it so. That’s because of the use of the stack for storing all local variables in C and C++. The main issues with multi-threaded code in C and C++ are simply locking data during updates when the data has to be updated from multiple threads, and the way that the different threads need to signal each other to wake each other up. Great care has to be taken to be sure that the signals to wake up another thread are not lost.
If you are referring to the Search>Web Search, there is a checkbox to show results in external browser (at least, in the Windows version).
Confirming that checkbox is in the mac version too.