Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apps: separate Desktop apps by OS #326

Open
nclm opened this issue Mar 5, 2023 · 5 comments
Open

Apps: separate Desktop apps by OS #326

nclm opened this issue Mar 5, 2023 · 5 comments
Labels
apps Issue or PR related to the apps directory help wanted Help gratefully accepted!

Comments

@nclm
Copy link
Contributor

nclm commented Mar 5, 2023

https://joinmastodon.org/apps

There are desktop apps that are only for one OS or two. So far it’s written on some apps with the platform written between parenthesises in the name “(Mac)”. As mobile apps are separated by OS and not in their own “Mobile” category, I believe it would be good to do the same with desktop apps: macOS, Linux, Windows.

@nclm
Copy link
Contributor Author

nclm commented Jul 12, 2023

Rethinking about this and I think it would be very beneficial. Right now if I look for Linux apps for instance, I need to click on every desktop app to see if they mention Linux support on their website. Not really user friendly.

Some very crude mock-ups of quick ways the interface could be adapted using mostly the existing UI elements. This can be greatly improved upon, but just to get the ideas started…

  1. Just adding the desktop OSes in the current selector:
    a

  2. Making the current selector a platform type selector instead, and putting the OS as a filter menu instead (which would only display the options relevant to the currently selected platform type, none for Web):
    b

  3. Moving the selector to the left (on large screens at least), with headings to group options:
    c

@andypiper Hope it’s okay I’m tagging you on this, as you seem to be currently working on the app list? :)

@nclm
Copy link
Contributor Author

nclm commented Jul 12, 2023

For maintenance, I also think the platform could become just a parameter within each app, maybe even replacing URL. So multiplatform apps would only have one entry.

So the suggestion would be to replace:

android: [
    {
      name: "App1",
      url: "https://play.google.com/…"
    },
    {
      name: "App2",
      url: "https://play.google.com/…",
      hidden_from_all: true
    }
],
ios: [
    {
      name: "App1",
      url: "https://apps.apple.com/…",
      hidden_from_all: true
    },
    {
      name: "App3",
      url: "https://apps.apple.com/…"
    }
],
web: [
    {
      name: "App2",
      url: "https://…"
    },
    {
      name: "App4",
      url: "https://…"
    }
],
linux: [
    {
      name: "App2",
      url: "https://flathub.org/apps/…",
      hidden_from_all: true
    },
    {
      name: "App5",
      url: "https://flathub.org/apps/…"
    }
]

by something like:

apps: [
    {
      name: "App1",
      url_android: "https://play.google.com/…"
      url_ios: "https://apps.apple.com/…",
    },
    {
      name: "App2",
      url_android: "https://play.google.com/…",
      url_web: "https://…",
      url_linux: "https://flathub.org/apps/…",
    },
    {
      name: "App3",
      url_ios: "https://apps.apple.com/…"
    },
    {
      name: "App4",
      url_web: "https://…"
    },
    {
      name: "App5",
      url_linux: "https://flathub.org/apps/…"
    }
]

That requires rewriting some of the website logic, but I think it would make apps much more easier to add and to maintain, especially multiplatform ones!

That would also make hidden_from_all optional since the website logic itself can decide which link to prioritise for each app (for instance Web > Android > iOS > Windows > macOS > Linux). In case this needs to be overridden, there could also be an optional preferred parameter (for instance preferred: linux if App2 flagship version is the Linux one and not the Web one).

[Really, this is more something that should be solved in the UI, what happens when clicking on a multiplatform app in the “All” view, might open a small menu list or something]

Maybe the icon could also be just indicating the filename (icon: app6.png) and the website would automatically fetch it from ../public/apps/. Just to make it super simple to add apps, just add one {entry}!

@andypiper andypiper added the apps Issue or PR related to the apps directory label Jul 12, 2023
@andypiper
Copy link
Sponsor Member

@nclm thanks for the detailed thoughts here! I like pretty much everything you have suggested here. It's a decent amount of work (i.e. more than continuing to just process PRs for app additions), so I'm definitely open to reviewing any larger PRs from the community; I'm not certain when I might have the bandwidth to start on this sort of thing myself.

@nclm
Copy link
Contributor Author

nclm commented Jul 13, 2023

Thanks! It makes sense.

I would only be able to contribute with using the current file format and separating things between OSes, even if the current file format does not make it super convenient to edit.

For UI changes, I can realistically only contribute with UI mockups/designs, not code changes.

For file format changes and updating the underlying site logic, I cannot contribute beyond ideas.

(basically I don’t know node/next/yarn)

One more note. There is one app for Sailfish OS, and now one app for MS-DOS. There might be the occasional one app for other exotic systems. So there is a need for a way to present that. It might be grouping everything into “Other”, or into “Other mobile OS” and “Other desktop OS”. Ideally, the OS should get displayed on the app card itself, both in “All” and in “Other” categories.

@andypiper
Copy link
Sponsor Member

Yes, when I merged DOStodon I did think about that, and wonder whether an "Other" or some other category would be helpful. I'm also now realising that in principle we might have the same app for multiple desktop OSes and at the moment there's no way to mark that other than changing the test in the app title. Complicated... definitely worth a rethink, but at the moment I'm going to be handling other things rather than site rewrites.

Appreciate your ideas and support 🙏🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apps Issue or PR related to the apps directory help wanted Help gratefully accepted!
Projects
None yet
Development

No branches or pull requests

2 participants