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

Create URLs that will drop user straight into project templates #176

Open
samajammin opened this issue Jan 11, 2020 · 7 comments
Open

Create URLs that will drop user straight into project templates #176

samajammin opened this issue Jan 11, 2020 · 7 comments
Assignees
Labels
discussion Discussion about an issue or topic feature-request New feature or request

Comments

@samajammin
Copy link
Collaborator

Summary

Create URLs that external sites can reference that will drop a user straight into the desired project template.

Motivation

Currently we try to link to specific templates from ethereum.org/build (e.g. for Hello World we link to https://studio.ethereum.org/1) but those links take the user the root studio.ethereum.org page & to the template selection screen. Users have given feedback that this is an unnecessary step - they'd prefer to jump right into that chosen template.

Describe alternatives you've considered

None
A clear and concise description of the alternative solutions you've considered.

Additional context

None

@samajammin samajammin added the feature-request New feature or request label Jan 11, 2020
@javier-tarazaga
Copy link
Contributor

@samajammin so what exactly is required to be changed here? 🤔 Didn't get the problem. By url you mean projects, you can simply create a project and link that project in the root Ethreum site.

@samajammin
Copy link
Collaborator Author

What I'm saying is that we'd like to be able to link directly to projects, so that rather than landing on:

Image 2020-01-11 at 1 00 30 PM

User could land directly on the project link they clicked, e.g.:
Image 2020-01-11 at 1 00 45 PM

Is this already possible? I see once I choose a template & "create project", a URL is created (e.g. https://studio.ethereum.org/5e1a377226b4730012343e70). I don't believe that's a public a URL I can use on ethereum.org/build because if I make & save changes to the project (e.g. edit the README), that change is persisted for everyone who views that URL. Correct?

@javier-tarazaga
Copy link
Contributor

btw @samajammin I was thinking about it, and is it such a good idea to have such a feature? I mean, in theory we would like to lower the number of projects which are created and deemed to be "lost" as the user might have not even saved the URL anywhere and simply needed it for really quick interaction and discard it.

Once the auto-compile (and possibly the auto-deploy) are in place, it would simply mean that any user can land straight into the project you have previously created and included the URL in the ethereum.org main site, and then if they do actually want to perform any changes after loading the project and see it live, the tool automatically forks the project for them (this way per example crawlers wouldn't be actually creating useless projects when following the links)

@javier-tarazaga javier-tarazaga added discussion Discussion about an issue or topic and removed needs-more-info labels Jan 23, 2020
@javier-tarazaga javier-tarazaga self-assigned this Jan 23, 2020
@samajammin
Copy link
Collaborator Author

I mean, in theory we would like to lower the number of projects which are created and deemed to be "lost" as the user might have not even saved the URL anywhere and simply needed it for really quick interaction and discard it.

Doesn't the current set up of users creating a project from a template suffer this same risk?

Once the auto-compile (and possibly the auto-deploy) are in place, it would simply mean that any user can land straight into the project you have previously created and included the URL in the ethereum.org main site, and then if they do actually want to perform any changes after loading the project and see it live, the tool automatically forks the project for them (this way per example crawlers wouldn't be actually creating useless projects when following the links)

I hear ya but my concern with this approach is that these links we create would not stay up to date with the template. e.g. if I create a project for the coin template & link to that from ethereum.org, we'd have to create a new project & update the link on ethereum.org any time a change is made to the template, correct? If we have to do that, I'd rather stick with the current set up where we always link to the "select a template" screen.

@samajammin
Copy link
Collaborator Author

samajammin commented May 28, 2020

FYI this issue came up again in our recent developer survey:

The specific 1, 2, 3 links on studio examples don't wok for me (ie. https://studio.ethereum.org/2 - hello world, coin contract, crypto pizza)

(Small note: The template specific links from the build page, "hello world", "coin..." take you to the same page which asks you to make the selection again.

It's a bit awkward to link out to specific project templates (on ethereum.org/build/), but then have all links display the template picker.

@javier-tarazaga
Copy link
Contributor

@samajammin answering this

I hear ya but my concern with this approach is that these links we create would not stay up to date with the template. e.g. if I create a project for the coin template & link to that from ethereum.org, we'd have to create a new project & update the link on ethereum.org any time a change is made to the template, correct? If we have to do that, I'd rather stick with the current set up where we always link to the "select a template" screen.

This is not the case. The link will remain static for the entire life of the project. Once you get a shared URL, when you perform changes will simply update the project, therefore anyone with the URL will get those changes straight away.

@samajammin
Copy link
Collaborator Author

I think I should clarify.

On ethereum.org/build/ we highlight each project template:
Image 2020-06-02 at 6 14 29 PM

The expectation from users is that selecting a template link from this page will drop them into a newly created project of that template. That is not the case. All those links (https://studio.ethereum.org/1, https://studio.ethereum.org/2 & https://studio.ethereum.org/3) drop users on the same homescreen & force them to re-select a template:

Image 2020-06-02 at 6 16 51 PM

The issue with the solution you suggest (creating a project of each template, then linking to the project), is those templates will not stay up to date. e.g. if we make updates to the Hello World template (like we do in #235), those template changes would not be reflected in those projects that have been previously created, correct?

That said, if that is the easiest way to accomplish this feature, perhaps we go that route. The templates aren't (currently) updated all that often, so this wouldn't be a huge pain point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion about an issue or topic feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants