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 😄

80398994 c9400f00 88b8 11ea 9a6e f752bcc5b4e1

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.

80399006 ce04c300 88b8 11ea 95e4 c44d14cea1ca

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.

80399009 ce9d5980 88b8 11ea 9bea 9bd34cc71216

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.

80399010 cfce8680 88b8 11ea 9c14 ddfb3501848e

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.