thomasokken / free42

Free42 : An HP-42S Calculator Simulator
https://thomasokken.com/free42/
GNU General Public License v2.0
280 stars 54 forks source link

iPadOS multitasking #54

Closed fmartinp closed 1 year ago

fmartinp commented 1 year ago

Hello Thomas,

I would like to ask you if you have considered adding iPadOS multitasking features (split view and slide over) to Free42 and Plus42?

Recently, I have seen that there is an emulator of hp15c which adds these features and I found useful to have in the same screen the calculator and the information. As an example, this is how it looks like in the example that I have found:

85803

Regards.

thomasokken commented 1 year ago

This is on my to-do list.

In theory, all that would be needed is to add iPadOS as a target platform in the project settings, but in practice, there are a few complicating factors:

  1. The way the Free42/Plus42 user interface code for iOS is structured isn't quite by the book. This has caused problems in the past, basically I had to put in some extra work whenever I had to support new display hardware, like the tall screen in the iPhone 5, the notch in the iPhone X, and landscape mode on all devices. I expect similar issues when I turn on iPad support.
  2. If the app is iPad-aware, that will mean that it will then fill the entire screen by default. That may not be desirable, particularly on larger models. I should probably look into adding a feature to allow sizing and positioning the skin freely, and do the same in the Android version as well.
  3. Related to the previous point: it would be nice to take advantage of the larger screen by allowing the calculator and print-out to be on the screen at the same time. And of course this would apply to the Android version as well.

In other words, doing it sloppily may be easy, but doing it well is going to take some effort. I can't say yet when I'll have the time to work on this.

fmartinp commented 1 year ago

Hi Thomas,

Thanks fo the answer. I am glad to hear that you have it in your list.

From your words, it is understandable that will take time to implement it. So, I would like also to tell you that the efforts and time that you are dedicating in Free42 and Plus42 are very appreciated.

Also, for reference since I did not mention it above, the image that I provided above was from an Ipad Mini.

thomasokken commented 1 year ago

It's probably not even a huge amount of work, but it will almost certainly require several days of focused effort.

I did most of the work on Plus42 while unemployed, and that's also how I was able to write Free42 originally. These kinds of projects are almost impossible to get off the ground alongside a regular full-time job.

Which isn't to say it's impossible to get anything done while working, though! I did the Android, iOS, and MacOS ports, the transition to the Intel decimal library, state management and platform-independent state files, the big stack, LSTO, and FUNC, all while working a full-time job. But it is harder to find the time and to sustain the energy and focus under those conditions. So, work will continue, but it will happen in short and infrequent bursts. (Bug fixes are another story, those usually only take a couple of hours and I often do them on weeknights.) Multi-month marathons like the original Free42 and Plus42 development probably won't happen again until I retire (or lose my job again, god forbid).

iPad support is fairly high on the list, right after the Plus42 1.1 changes I have planned (full-screen matrix and list editor, and multi-line matrix and list display on the stack being the big ones). As long as I'm having fun and I have the feeling I can do work that I can be proud of, progress will continue.

Thank you for your support and your patience! 😊