CodeEdit icon indicating copy to clipboard operation
CodeEdit copied to clipboard

✨ Extension Store

Open jasonplatts opened this issue 2 years ago • 32 comments

Overview

The extension store should allow users to browse and install extensions submitted by other developers. They should be categorized using the information provided in each extensions manifest.json (See https://github.com/CodeEditApp/CodeEdit/issues/174)

Tasks

  • [ ] Determine storage requirements
  • [ ] Design extension store UI (#355)
  • [ ] Build extension submission process
  • [ ] Build library, using information in submitted extension manifest files.

Concept

01-macOS-code-edit-extensions-installed 02-macOS-code-edit-extensions-explore

I'd imagine when one is clicked a tab in the main content area opens up to show more details.

jasonplatts avatar Mar 22 '22 18:03 jasonplatts

Do we need a backend for this if so i know someone who might help with this

nanashili avatar Mar 22 '22 18:03 nanashili

We are definitely not going to call it a "Marketplace". That is Microsoft lingo 😁

austincondiff avatar Mar 22 '22 19:03 austincondiff

We are definitely not going to call it a "Marketplace". That is Microsoft lingo 😁

haha! I couldn't remember what you called it. We should definitely update it.

jasonplatts avatar Mar 22 '22 19:03 jasonplatts

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

austincondiff avatar Mar 22 '22 19:03 austincondiff

@austincondiff, would you be able to post the screens you showed me?

jasonplatts avatar Mar 22 '22 19:03 jasonplatts

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

nanashili avatar Mar 22 '22 19:03 nanashili

@austincondiff, would you be able to post the screens you showed me?

Posted to the issue description

austincondiff avatar Mar 22 '22 19:03 austincondiff

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

Bring him on the project!

austincondiff avatar Mar 22 '22 19:03 austincondiff

@nanashili I'd imagine so. We need to choose the right technologies to use for our backend. We will have our own website for downloads help and documentation so maybe Node.js?

I can put you in contact with someone that builds in back-end

Bring him on the project!

What about .net as the back-end it has way better performance when it comes to scaling

nanashili avatar Mar 22 '22 19:03 nanashili

"Extension Library" anyone? (similar to App library)

I like it. Simple and clear.

jasonplatts avatar Mar 22 '22 19:03 jasonplatts

@austincondiff, would you be able to post the screens you showed me?

Posted to the issue description

Thanks!

jasonplatts avatar Mar 22 '22 19:03 jasonplatts

Have we decided if we want a website for browsing extensions, in addition to the in-app extension library?

jasonplatts avatar Mar 22 '22 19:03 jasonplatts

Lets try to just provide the in-app experience for browsing for now. We have to provide infrastructure around submission though complete with a CLI to do so.

austincondiff avatar Mar 22 '22 19:03 austincondiff

Some naming idea options...

  1. Extension Library (App Library)
  2. Extension Registry (NPM - Package Registry)
  3. Extension Store (App Store - Does this imply monetary transactions? Microsoft uses "Marketplace" which has the same connotation)

austincondiff avatar Mar 22 '22 20:03 austincondiff

Extension Library gets my vote.

jasonplatts avatar Mar 22 '22 20:03 jasonplatts

I'll go for Extension Library.

0xWDG avatar Mar 22 '22 21:03 0xWDG

Don't you think Apple would have gone for store? Kind of fits better into the Apple ecosystem. At least from my perspective

Ondolin avatar Mar 22 '22 21:03 Ondolin

Extension Library is my vote

lukepistrol avatar Mar 22 '22 23:03 lukepistrol

Don't you think Apple would have gone for store? Kind of fits better into the Apple ecosystem. At least from my perspective

I could be convinced of this. Apple's "App Store" on the other hand is the central repository of all apps in existence. The "App Library" is all the apps you have downloaded from the store onto your personal device.

With that in consideration, "Extension Store" sounds a little more in line with Apple's naming convention.

Plus, I just googled "safari extension " and look what came up...

screenshot

austincondiff avatar Mar 23 '22 04:03 austincondiff

The sidebar should show the extensions that had been added. And people should search or add extensions in the settings view. In this way, people can add extensions without opening a project.

underthestars-zhy avatar Mar 23 '22 09:03 underthestars-zhy

I'm working on the PoC for Extension Store API, so I hope I'll be able to show some demos of how it can be implemented by Monday-Tuesday

pkasila avatar Apr 01 '22 21:04 pkasila

From my experience, we don't want to call extension repository "Store" (or anything that implies there are going to be paid extensions) in anyway. People wouldn't like, specially involving open source projects.

I manage Extension Marketplace for VS Code, I can share some insights :) Lend you a hand to build the backend

prashantvc avatar Apr 28 '22 12:04 prashantvc

@prashantvc First of all, welcome to CodeEdit!

My thought in using the term “store” for the repository of extensions and “library” for the users installed extensions is…

  1. It follows Apple’s naming conventions (I.e. “App Store”, “App Library”)
  2. It doesn’t necessarily denote the exchange of funds quite the same way the term “marketplace” does (I could be wrong here though). In my line of thought, “store” can mean a store of value, a store of code, a store of functionality etc. When I look up store I see synonyms like, supply, reserve, cache, warehouse, storehouse, shed etc.

We certainly however wouldn’t mind hearing any expertise you have on the subject here or help on our backend when it comes down to it. We’d need to discuss architecture first though and I’d invite you to create an issue for the Extension Store Backend Architecture to get the conversation going.

austincondiff avatar Apr 28 '22 12:04 austincondiff

Thanks @prashantvc for the suggestion and offering to help with building the backend! We very much appreciate it.

We would also love to hear any feedback and/or insight you or your team can provide on the extension architecture or CodeEdit in general.

jasonplatts avatar Apr 28 '22 13:04 jasonplatts

@jasonplatts VS Code team is going to host Extension Authors meet soon. I will drop the details in here once available, you can join in ask questions. The team is extremely open, you can ask questions related to APIs and architecture.

prashantvc avatar Apr 29 '22 07:04 prashantvc

Sounds great @prashantvc! Thank you!

jasonplatts avatar May 02 '22 13:05 jasonplatts

@austincondiff happy to throw my hat in the ring for the store backend in swift :) (Vapor)

cavnit avatar Jan 07 '24 12:01 cavnit

@cavnit thay would be great! Feel free to put together a POC. Let us know if you need anything along the way. If you would like help or feedback, feel free to collaborate with other contributors and maintainers on our Discord.

austincondiff avatar Jan 07 '24 14:01 austincondiff

@cavnit We don't have any requirements regarding this at this moment. Without the requirements it will be difficult to build without wasting time and build things that we maybe don't even want. There are some things described here, but due to the fact that this has been put on the back burner, I don't know how relevant these are at the moment.

Perhaps we can discuss these during our next meeting on our Discord.

matthijseikelenboom avatar Jan 07 '24 17:01 matthijseikelenboom

We still welcome the help though. Your thoughts and ideas on how we could do this would be appreciated. Community by-in would be great so it might be a good idea to have a discussion in our extension channel in discord to exchange ideas and solidify requirements. We can discuss it in next weeks meet up but we don’t necessarily need to wait for it. I’d love to get the ball rolling!

austincondiff avatar Jan 07 '24 18:01 austincondiff