MorseKOB / PyKOB

Python implementation of a library for Morse and MorseKOB functionality
https://sites.google.com/site/morsekob/morsekob40
MIT License
4 stars 2 forks source link

MKOB (GUI) Installer for - Win, Mac, Linux #73

Open AESilky opened 4 years ago

AESilky commented 4 years ago

Create an End-User friendly installer for MKOB-4.0 (PyKob).

This should be easy/intuitive to run and should install the application so it is ready to run.

The initial focus should be on Mac and Linux (particularly the Raspberry Pi) to provide non-Windows users the ability to use the application (MKOB-2.5 is Windows only).

leskerr commented 4 years ago

This issue seems to be related to issues #44, #48, #49, and #50. Is there something new about this particular issue?

I can see the logic behind giving priority to the Mac and Linux platforms, since Windows users already have MorseKOB 2.5. Personally, I'm impatient to get MKOB 4.0 in the hands of Windows users too so we can get their feedback as well. They're the ones who have years of experience doing American Morse over the internet and have certain expectations of how a new program should work.

AESilky commented 4 years ago

This would be the installer that was mentioned in #44. #44 is really just an 'umbrella' to link #48, #49 and #50. I created this to use for creating the installer.

It's possible that by using one of the installer tools to create the installer it will take care of the #44 and the others, but it's possible that there might be platform specific work that #48, #49, and #50 can be used to track the progress of.

AESilky commented 4 years ago

I think that using something like 'PyInstaller' will generate installers for all three.

I was just thinking that there are people with Mac or Linux (probably a RPi) that currently don't have an option to be able to run MKOB (other than running a Windows VM).

I think that it will only matter if/as we find bugs. We can create and prioritize issues as they come up.

AESilky commented 4 years ago

From https://packaging.python.org/overview/. It mentions the need to consider the audience.

I think our audience is the 'non tech-savvy' user.

leskerr commented 4 years ago

I think our audience is the 'non tech-savvy' user.

You're right about that!

AESilky commented 4 years ago

I used pyinstall on Windows to create MKOB.exe, but it gets an error when executed. Tracking that down.

AESilky commented 4 years ago

The first problem I've found is that in building the installer I need to create a .spec file to tell PyInstaller to include the data files (the code files and audio files). Those weren't packaged, so MKOB couldn't find them when run.

I'm working on that now.

AESilky commented 4 years ago

From @pwdirks (in response to an email):

Additionally, renaming a Python file from “.py” to “.pyw” to avoid having the terminal window show up doesn’t seem to have the same effect on Mac, unless I’m missing something? Opening it with IDLE brings up the whole IDLE environment and an interactive window; opening it with Python insists on creating a window in “Terminal”.

Is there any way to get a true, native-looking GUI app on Mac?

The PyInstaller docs mention that fact and it looks like there are some options when packaging to address that. I will try them out.

AESilky commented 4 years ago

Should I also try to package 'Configure' so people can configure options that MKOB doesn't yet provide a way to set (code type, local, remote, etc.) and to view the current configuration?

leskerr commented 4 years ago

Yes, beta testers will need to use 'Configure', so it's best to include that in the installation package if you can. It'll be acceptable for beta testing to send 'Configure' as a separate file, though, and in the long run MKOB should be able to set all the options it uses.

AESilky commented 4 years ago

I have created a first cut at a PyInstaller that generates a Win-32 and a Win-64 bundle with a MKOB4.exe and a Configure.exe. I'm holding off submitting this as a 'solution' until I do a few more tweeks.

AESilky commented 4 years ago

Working in BASH script to create the bundle for Mac. Currently getting an error when running. Looking into it.

AESilky commented 4 years ago

@pwdirks - I'm going to upload the MAC package for you to try. As stated, it gets errors trying to run, but maybe you can help with a solution.