App-a-Thon or Port-a-Thon for Librem 5! Great idea?

Well, we all know how time flies. Not long ago the crowdfunding campaign started for the Librem 5. Look at it now!! With the phone soon to be here by April, I was wondering why not start an App-a-Thon or Port-a-Thon for the Librem 5? Get a contest going for developers to create apps for the Librem 5 that meet the overall needs of people as well those key interests. Maybe crowdfund cash prizes for the top 5 apps in each category. I would suppose we would need to all decide what those key categories might be and go from there. Also, what would they key criteria for apps be… as we would fully baked and polished apps. Not to mention getting the contest advertised on youtube and other venues to garner attention too. I have no idea how this would get done. Anyone have any bright ideas on how to get this going? Is this a good idea at all? Your thoughts people!!

7 Likes

I agree completely. This is an awesome idea! I’ve been meaning to start work on a vala gtk app but haven’t quite figured out what I want to make. Plus I’d have to do it in the emulator because I couldn’t afford the phone and the dev kit as much as I wanted to :slight_smile:

I, too, think this is a great idea!

Started to work on a port of openMittsu (open source desktop client for chat app “Threema”).

+1

Cheers

1 Like

I am currently very busy, but I have the past two weeks been considering to prototype a reddit client with gtk and rust. That’s the only thing I’m likely going to miss when I switch from android to my Librem 5 once it arrives. If someone is interested in working together send me a PM.

1 Like

Category: Navigation/maps

The thing I am going to miss most is OsmAnd (offline mobile maps and navigation). OsmAnd is available for android, ios, amazon and blackberry os, but not for linux afaik.
There is a “nice to have” issue on github.
And there is the OffRoad, an offline map viewer for the Linux Desktop based on OsmAnd.
Atm I have no capacity to work on this…

1 Like

It’s great that you guys are listing apps but that’s not what I had in mind. I am talking about how would the App-a-Thon be implemented. Not what apps we would likes to see. I am talking about getting a funding campaign going to award the top 3 or 5 apps in each categories to each developer of those apps. To give incentives to develop apps in the first place.

For example…
10 Developers make apps for Encrypted Messaging and Video.
We get Signal, Wire, Linphone, Telegram, Skype, Viber, Chatsecure, Line, Threema, & Whatsapp.
But the awards go only to the top 5. It is an app competition people.
But we do that for each app category.
So first someone has to start the campaign and then list the categories of apps that developers can submit for entering for the competition. People vote in the top apps in each and then the awards go out to those developers. But all developers are free to submit their apps to the store. :slight_smile:

I hope that makes it a bit more clear on what I mean by App-a-Thon.
But keep the ideas coming!! :sunglasses:

1 Like

Here’s a prototype of a reddit app I did this morning, took approx 4 hours and currently only shows the frontpage.

2 Likes

That looks really good. And you did that this morning? Impressive.

It took 4 hours because the code is very ugly and everything is very slow since I’m doing everything on the main thread which makes the whole app freeze when loading things from reddit as well as the whole program crashes when you don’t have a internet connection, so it’s incredibly broken but works as a prototype for now.

Uploaded the code to github if anyone is interested to take a look:

But if someone wants a good reference Rust GTK project I found the Matrix client Fractal to be a much better example:

1 Like

So I don’t want to sound rude, but how is that kind of app better than adding proper web app integration to the shell? It’s unlikely your native app will end up competitive with the Reddit site itself no?

1 Like

This is how I feel about my current Android phone. I see no value in an application for my email, reddit, or any website really. Accessing them all through a browser saves a massive amount of storage space on a mobile device.

I never said it was, I said it was a prototype. It’s definitely worse than the webui.

If you expect someone to make a good and complex app in 4 hours you are out of touch with reality.

EDIT: Hence also why I referenced the fractal app to be a better example

Ok… but beyond your app, the question remains: is that worth it to re-implement “native” apps for websites that have a mobile version instead of providing first class integration of web content?

For me it is the clear opposite. Using mail, reddit etc. on a mobile browser is just a bad experience. The UI is bad (you have to aim for the buttons and click a few times until you hit) and it is slow.

On topic: I like the idea. What would be a good plattform for this?

1 Like
  • Being able to write in programming languages not (based on) JavaScript
  • Better performance
  • Using less RAM
  • Ability to use touch gestures that are not glitchy
  • Build app on GTK so it’s the same GUI as the rest of the OS
  • Larger ecosystem of libraries
  • Better compatibility with the rest of the OS
  • Access to DBus and the rest of the OS APIs without any extra layers
  • Webapps are rarely under a open source license, the JavaScript community only cares about open sourcing their libraries but never their apps.
    …

And this is only what’s on top of my head, there’s likely a lot more.

There are of course flaws with developing native apps aswell (most notably cross platform compatibility which is a huge disadvantage), but from my experience native apps with the same amount of work put behind them give a better user experience.

But the biggest reason why I don’t want to write a webapp is because of personal preference. I’ve written so many already and I’m tired of managing hundreds of NPM dependencies in a simple webapp, frameworks changing every 2 years, javascript being a badly designed language (typescript is decent but still only a band-aid). I do this in my spare time and want it to be a pleasant experience, have fun and learn something new (in this case GTK and Rust).

I hope this answers your question?

3 Likes

That doesn’t, because the question is not to choose between developing new native apps vs. new web apps, but between being able to reuse existing web apps (and some are perfectly usable, stop the FUD) vs. writing new native apps for the same content.

You don’t need to do anything if you are going to use a web app. And you don’t need developer to do anything about it, since you can already use your browser (Chrome, Firefox, or the Gnome Web in PureOS) to save existing web apps, or a more fancy term progressive web app, into Linux desktop or a Librem phone in the future, as a desktop shortcut, indistinguishable from normal app or program. Since it is difficult to have your favorite native apps on Librem 5 on day 1, therefore you will use PWA most of the time at the beginning.

Now you ask if reusing existing web app is possible, you can transform any web app with a piece of software called electron, or you could save it as PWA. The performance depends on the quality of the web app. You can try PWA google map yourself. It is completely usable, since it is created by top coder in Google. However, not all web app are good and you will find some app not so usable. It is impossible to improve a 3rd party web app, since any optimization you try to build, will eventually be broken by some random update by that 3rd party. The only solution to ensure good performance is to build a native app using that 3rd party’s API, if that exist. If not, then it is still possible to create the native app by crawling the html, but it is more fragile and tend to break if website layout changes.

1 Like

I just gave you multiple reasons why I don’t want to develop a web app.

Yes they are, but usable doesn’t mean that they are good.

Have you ever used the reddit webapp for mobile? It’s resource heavy, slow, buggy and I can’t improve it because it isn’t open source.

You are free to use your webapps if you prefer that, but I don’t see what that has to do with me wanting to develop native apps?

Completely agree, electron is a great way to get a webapp behaving more like a native app and can give a rather good experience. In my experience however it takes a lot more effort to develop a good webapp and wrap it in electron than writing a native app, but if you care about cross-platform compatibility making a electron app can save you a lot of time.

In my case though good native apps are already available for reddit on most other platforms so there’s no value in making it cross platform. On top of that as I said, I’m doing this for fun and don’t find developing webapps to be fun anymore.

1 Like

Hey,

there are others who tried to do that, and were successful. Look at the Maemo Regatta: https://talk.maemo.org/showthread.php?t=97666

Perhaps someone from the Maemo/Sailfish community who took part in organizing can speak on the topic.

1 Like

I’m not opposed to the AppaThon idea, everything that gives us software is good. However, I think most who will create apps will do it for the fame and to support the greater cause and make the Librem 5 succeed.

Therefore, I think it’s at least as important to bring those apps to the user in a simple way. Ultimately, all FOSS apps should preferably end up in Debian, but that might prove complicated to achieve quickly. (For example, it might not be a good idea to add Debian testing or unstable on the phone, just to install some apps).

I think, a good solution would be a community-repository, or better semi-community, with some blessing, oversight and hosting by Purism. @dcz, looking forward for the resolution of the internal discussions. :wink:

So, it’s good to get all app devs together, with or without an event, but more important to release the resulting apps in an easily accesible way.