Skip to content

Appstore on the website #101

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

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

Appstore on the website #101

wants to merge 4 commits into from

Conversation

bkeepers
Copy link
Collaborator

This is an experiment to add the Signal K appstore to the website. The pages are automatically generated by fetching from npm whenever the website is rebuilt.

image

Why?

  • In online discussions, I often see people saying things like "look in the appstore for the 'xyz' plugin". The user then has to go their local instance and search for the plugin. If we could just share a link, and it would be less work for all parties involved.
  • Linking to npm/GitHub is not a great user experience, especially for non-technical users.
  • Eventually, we could update this to show release notes/change logs for plugins
  • More traffic on the website, which makes it a more central hub for the community, and gives users the chance to discover other useful content

Status

At this point this was just an experiment. I wanted to see if it was feasible to build this into the new site, by fetching the data from NPM and building static pages for each plugin. It works surprisingly well. On my local machine, it can build the entire website in 33 seconds.

10:01:16 [build] 419 page(s) built in 33.06s
10:01:16 [build] Complete!

To Do

  • Appstore homepage
    • Recently updated
    • Most popular
    • Browse by category
  • Install button - I'm imagining this working like the GitHub Code button, giving users info on how to install it
    • Ask user for their server url, link directly to the plugin in your local server. This will be saved in local storage so they only have to do it once. This will require code changes in the server, and should degrade gracefully.
    • Manual instructions, e.g. "Search plugin name in the appstore tab of your server"
    • Technical instructions: npm install
  • Browse by tags
  • Browse by category
  • Make readme styles more consistent with GitHub (especially vertical margins)
  • Make everything responsive
  • Search

@tkurki
Copy link
Member

tkurki commented May 26, 2025

😁 Your todo list reads like a copy of the features of the real SK app store:

  • recently updated
  • browse by category
  • install button
  • list of installed plugins that have updates available

I would much rather put the effort into improving the real app store: readmes with images and structured changelogs would provide real value.

I fear having multiple "App Stores" would make our convoluted collection of documentation more confusing than less.

I do agree having an internet accessible (as opposed to local boat network accessible) page for latest plugins and each plugin's latest version would be useful. Another solution option would be that https://demo.signalk.io/admin/#/appstore could have a read only mode, with or without the install button.

@bkeepers
Copy link
Collaborator Author

😁 Your todo list reads like a copy of the features of the real SK app store:

Touché!

I do agree having an internet accessible (as opposed to local boat network accessible) page for latest plugins and each plugin's latest version would be useful. Another solution option would be that https://demo.signalk.io/admin/#/appstore could have a read only mode, with or without the install button.

👍 I am all in favor for that instead.

To be clear, the value of central appstore that is linkable is incredibly underrated. I did a lot of research when I worked at GitHub on platforms, and a centralized page with an install button yields an order of magnitude difference in install rates. The difference is subtle between telling someone "go here and do this" vs giving them a link to click, but that difference has a huge impact for documentation, blog posts, etc, that links to that page. My personal option based on that research is that centralized app stores are a huge reason that companies like Apple and Google are dominating in a world where the concept has existed in developer-centric worlds decades (rpm/apt/etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants