GNOME-MouseTrap / mousetrap

Developer site for GNOME's MouseTrap
https://wiki.gnome.org/Projects/MouseTrap
GNU General Public License v2.0
4 stars 12 forks source link

Support for Windows #43

Open StoneyJackson opened 10 years ago

StoneyJackson commented 10 years ago

Why we should support Windows

... and other operating systems

The accademic argument

We met with a couple professors from Quinnipiac University. They wanted to take a closer look at MouseTrap and possibly integrate it into their curriculum. Great! The dialog went something like this (this is a dramatized reinactment; the names have been changed to protect the innocent):

Alice: What language is it in? Bob: Python. Alice: Oh. We use Java. OK, well maybe that's not so bad. Let's install it. Bob: OK, boot into Linux. Alice: Oh, I need Linux? Hmm... OK, I'll install Fedora into VirtualBox. Bob: Nope, that won't work. VirtualBox doesn't support the webcam very well. How about dual booting? Alice: Ugh... OK, I guess so. But that means I'll have to ask my students to dual boot too?! Maybe this isn't such a good idea.

So, if we want more accademics to use MouseTrap in their curricula, which would mean that more students get exposed to MouseTrap, we need to make it easier to get involved. And that means making it easier to install and get up and running. Asking them to dual boot to try out a simple application is asking too much. We need to allow students and faculty to install, run, and develop in environments of their choosing.

The humanitarian argument

MouseTrap should not restrict who it helps based on the operating system they choose.

First effort

I was able to get MouseTrap to "compile" and run under windows. I've created a windows branch with the changes I had to make and instructions in README.windows.md.

Issues

kevin-brown commented 10 years ago

Do we agree that this is a worthy effort?

Definitely, as long as it doesn't force us to split the code base.

Should it exist as a variation on a separate branch?

I'd rather it was merged into the main line, keeping it separate would put one or the other at a lower priority which isn't something we should be doing.

If it is merged, testing may become more difficult

In theory, as long as the test runner works across all systems, this shouldn't be an issue.

documentation more confusing (as installation may be different)

Hopefully, the only thing which is different would be the dependency installation so this shouldn't be too bad.

What about other operating systems? OS X? Other flavors of Linux?

It should work in other flavors of Linux and OS X, as long as the dependencies are covered. Lets test it out?


I had to disable i18n. That should be fixed.

I was looking around earlier and there do appear to be ways to fix the problem in Windows. This might be a good place to look, but I think there may be an easier way.

I did not try installing MouseTrap. I just ran it in-place (make run). I doubt the install would succeed since python is installed in a much different place in Windows (C:\Python27)

In theory, this shouldn't make a difference. setuptools, which is what we are using to install everything, works on Windows as well. pip should work as well, and will probably handle things better. We may need to change the call to python though in the Makefile for those who are building MouseTrap from the source.

StoneyJackson commented 10 years ago