DEV Community

loading...

How I save time by letting my customers use git (and they don’t even know it)

Nicolas Blanco
・3 min read

TLDR; The small static text changes requested by my customers lead me to create a custom small web app for Git where they can make those changes themselves (https://quickfastchange.io)

How many times have you heard your customers, QA team or managers ask you or the developers team to make small texts or labels changes in your application? Sometimes, as developers, we feel like we’re losing a lot of time making small changes in the markup of our views or templates instead of spending the time making new real features.

There are a lot of ways to allow non-developers people to make modifications of the text displayed in an application. Depending on the language or framework used, it’s also possible to use some Content Management System, localisation library or software, translation keys, etc. Nevertheless, those ways are sometimes complex and take time (and money) to setup and maintain.

Very often, most of the static text is directly hard-written inside the templates and views and versioned in Git.

In one of my latest projects, I managed to explain to a non-developer collaborator how to use the Github interface to make searches and use the “Edit file” feature to directly make changes in the project repository.

He took me some time to explain her how to use this Github feature, but after that it saved us a lot of time. Every time she wanted to make a small text change in a view, she would first try to find the text she wanted to change with a search, use the Edit file feature and create a Pull Request. Even if she was not really used to HTML, it was most of the time easy enough to just change a text, label or title inside the markup.

It was a good and successful experience, but still, the process of doing that with Github was kind of complex to explain to a non-developer person. It requires multiple mouse clics and navigation to multiple pages to search, then edit a file, and finally create a pull request. There’s new technical vocabulary to introduce to a person who is maybe new to Git (“commit”, “pull request”, etc.). Also the Edit File feature of Github only allows to make changes in one file at a time.

At this time, I had a small idea : why not create a very minimalist Web interface that would allow non-developers to perform searches in a Git repository, changes in multiple files and Pull Requests to allow developers to review and merge the changes… all that in a single page! Project code-name QuickFastChange (QFC) was born.

For the first version, I decided to create a prototype using only the Github API and a Github Application.

screenshot

Eventually the prototype is there and it looks like I stayed in the constraints of my idea. My customer was able to search terms in the repository of her project, make small changes and create pull requests in just a few seconds, and while staying on the exact same page. The prototype was quickly validated by both my collaborator and me!

So if you feel like you want to save time by allowing changes from your collaborators, customers and managers on your repositories, give it a try today on: https://quickfastchange.io

For the technical details, the prototype was created using Elixir and the Phoenix Web framework. The interactive single page to make the changes was created using the LiveView library. I was very happy with those choices and will definitely make a technical feedback later to those who are interested.

Discussion (4)

Collapse
bianca profile image
Bianca

Awesome 🙌 exactly what I have been looking for 💪 thank you!

Collapse
nicolasblanco profile image
Nicolas Blanco Author

That's great if this small tool can be useful for you. Don't hesitate to contact me if you have any questions 😎.

Collapse
avoidik profile image
Viacheslav Vasilyev

Why not Transifex or similar?

Collapse
nicolasblanco profile image
Nicolas Blanco Author

Good question. You're right there are tons of localisation and translation software.

But it takes some time to setup and maintain those software, change your code to use keys, etc.

On most of my projects we just have one single locale and all the static text is hard written in the templates directly in Git.

My small tool is for all those projects where you do not want to use translation keys and maintain them.