Improving the GDK UX and save time when reviewing
Intro
The GDK is a complicated piece of software, which luckily works quite well most of the time. The setup process is alright and often you can get up and running in around 30 min (of the top of my head). Using the GDK with a feature branch when installed works most of the time and allows developers and people of other professions to do their job.
However there are various problems with it, which in essence cost valuable time (time is money
Problem (+proposals)
Time is lost when reviewing merge requests by non-coders (or people who code less than others), as they are not nose deep into the code or the inner workings of the GDK. When encountering an error, often there is need for personal help from the slack channel #gdk
.
Often it is easily figured out, but still costs time. Why not automate the most common occurrences and fix them automatically?
I think the current problems can be defined by the following (think from the perspective of people who don't touch the code that often... or see it for the first time Community Contribution ):
Command line knowledge is required
I think this is for now out of scope for this issue, but could be looked into for the future. Again, the GDK has been developed with the developer in mind. However reality learns us, that non-devs or people who don't code as much, use it quite a lot as well. Not for developing, but for reviewing.
I think most of these people can be easily categorised.. as most of them will be using a mac laptop for example.
Proposal
- A real simple mac installer, which accepts a branch name, and does the rest automatically. Such a user just wants to inspect the branch visually... it is not interested in losing time figuring out problems which have nothing to do with their review MR.
This would essentially be a cheaper alternative to having full gdk review app for each MR
Error reporting is bad
When the gdk gives you and error, you have to know where to look in side the output to know what kind of error it is.
Proposal
- Display it always at the bottom in a human way (if needed copy the errors, so we don't have to start searching)
Error solutions are not provided (you just have to know)
There is not an easy way of knowing of what commands are needed when the simple 'gdk run' command doesn't work. Errors are just errors, they often don't provide solutions to their problems.
Proposal 1 - Error solution reporting
Let's display when:
- There is some identical process still running in the background.. which you have to kill.
- There is a migrate needed
- other errors... (most likely ruby stuff)
Proposal 2 - Automate solving such errors
When these errors (shown in section above), are apparent.. why not save the time of the user and solve them? Kill the processes and do the migrate automatically.. etc.
gdk update
does not work for feature branches
Often (or sometimes) when wanting to inspect a feature branch, dependencies are missing (either through bundle, yarn, npm, etc), gitlab shell needs to be updated, the gdk repo itself needs updating etc etc.
This all costs time.. As a user I just want to inspect the feature branch and have it display the latest version.. if that branch already exists in my local repo yes or no.
Proposal
-
gdk setup branch
- This command will essentially do the gdk update, but for a feature branch. It will check if the branch already exists.. does the git pull (or even deletes the complete branch and re-pulls it... reviewers don't care), installs dependencies.. updates all other things needed etc... and runs thegdk run
command automatically.. voila easy reviewing, no lost time😄