The onboarding
I’m currently working on two of my side projects, ohmydeck! and ohmypages! and even though they are separated projects, they are sharing the same architecture.
ohmypages! is the new HubPress and if you used HubPress in the past, you already know the config.json
that you have to configure before using your app:
{
"meta": {
"username": "put your username here",
"repositoryName": "put your repository name here",
"branch": "master"
},
"theme": {
"name": "Casper"
}
}
This kind of stuff is ok for a developer maybe, but certainly not enough for great user experience.
My goal with my tools is to provide a UX between Jekyll and Wordpress or Ghost for ohmypages! and between RevealJS with HTML and PowerPoint for ohmydeck!, so it was clear for me that I had something to do with the onboarding.
So, here is what I did
I started with a Welcome, I’m not sure about the content yet but… we’ll see 😄
The second step can be different, it depends of if you are hosted on GitHub/GitLab or on a self hosted instance.
If you are using GitHub or GitLab, I can easily calculate the provider, the url of your repository, the name of the project, if you use master
or gh-pages
…
So in this case, you will be redirect to the Authentication step. In the other case, you will see the step to define your Provider.
Then comes the Authentication step, since you will not be able to use the Basic Auth on GitHub, and because you can’t on GitLab too if you have 2FA activated, you will have to use a Personal token.
The password is not the one you set on GitLab or GitHub, it is a password you will have to define and it will be use to encrypt you personal token in your localStorage. So you will not have to remember your personal token to login, only this password.
The last (maybe not 🤔) step is the configuration of your repository.
Here again, two possibilities, if you use GitLab or GitHub, all the fields are in read-only because they are calculated. If not, you will have to fill the form by your own.
I think the onboarding is now really better than just a config.json file, maybe you agree, maybe not, feel free to give your feedback.
That’s all for today, in a future post, I’ll explain how I calculate all the stuff about GitHub and GitLab and how I validate datas.