I’ve been watching the Librem 5 development closely for the past year or so, and my wife pre-ordered me one for Christmas so I am beyond excited to get my hands on this.
I’d love to be able to put some of my own time into this phone, the platform, and the applications to help this be the best it can be.
However, I am a (mostly) web developer in my day job, so coding in C/C++ to help fix things like the battery usage issues is a bit beyond what I know how to do.
My question, is are there areas that someone like me might be able to help with?
Battery/perfomance issues? (Probably not since I’m not much of a low-level programmer)
Desktop applications? (I don’t really know GTK, but I have dabbled very lightly with Qt and it might be something I could pick up with time)
PWAs? (This seems most obvious to me as a web dev, but I’m not sure what would be needed)
I have the latest Librem 5 image set up in QEMU and have been keeping up to date with that, so I have somewhat of a platform that I could test these things on if I were to do any development.
I guess I just don’t know where I would focus my efforts. Do I just find a project and start submitting PRs?
Is anyone else (outside of Purism employees) developing anything for the Librem 5 or for any applications that they plan to run on the Librem 5?
You could check out this list and see if anything seems interesting to you. Most are GTK based, but Qt should work just as well.
If I ever find time to create some apps, it’ll likely be QtQuick. Very web dev friendly But also with the option to add a C++ or Python or whatever backend if needed.
Since purism will use epiphany as web browser and i think it’s awful in privacy and security standpoint (no extension, no customization) will be really appreciate to adapt firefox for this form factor, i’ve saw some video running regular firefox on pinephone and it just work, the only issue i have seen (but could be others) is the UI
@eagle Firefox on the phone is something I care a lot about, so I think I may look in to this. I’ve just installed it in the VM and it doesn’t seem to work right at all (doesn’t take up the full screen and the browser chrome is off the top of the screen).
About battery/performance issues, I think that even if you are not (yet? ) a C hacker yourself, you could anyway help by doing some systematic/automatic testing, that could be useful. If you could setup a script or something that does tests and measurements in a specific way, then for example after a certain patch was applied you could run your script and say specifically what effect, if any, the patch had. That could be very helpful even if you are not the person writing the patches.
An easy way for anyone to contribute IMO, especially if you live outside of Europe is to contribute to OpenStreetMap (Europe OSM community is pretty active and often beats Google Maps’ data from what I’ve seen). Apart from Android itself, Google Maps IMO is the last major Google product that will be hard for people to stop using unless OSM data improves in the states (or other non-EU nations).
If you have an existing Android device you can easily fill in missing objects attributes via StreetComplete which is also available on F-Droid. There’s also StreetCred on iOS and Android, but it’s not FOSS. Also have to use a FB/Google account for now (they’re working on OSM account support)
To add actual missing objects like roads, and buildings you can use the openstreetmap.org website itself. My kind of best practice is if I know I’m going somewhere in advance, see if it’s missing and if so, add it and a few data points in the area. OSMAnd+ allows for super fresh downloading of map data (most OSM apps tend to be on a monthly basis) so I can then use my contributed data a day later when I need it, etc.
At this point, working on FF seems a very good choice
For anyone looking for something else than coding (or on top of it), you can also contribute to “human-connectivity”, localization: app translations and keyboard layouts in your language (or any other language you know well). Without them, L5 is handicapped as a communications device as users have a hard time connecting (passing on information in the correct and understandable format and manner) with peoples in other cultures. Or, if you do code something, make sure to put your app available for translations (a free tool / site like Zanata or Transifex IMHO preferred).