Let me complain a bit about the user experience of GitHub. I know it’s the service for programmers, developers, and any software enthusiast – myself included – but boy is it difficult to get into at first.
Imagine a beginner in programming. Maybe they’ve been practising for a couple of months and managed to push out a simple Java game. They’re so proud! They never thought they could do it. Now they want to show the world. Look at what I made! It’s not much but I made this! At that point they’ve probably heard about GitHub and know it’s the place where they’re going to display their product, the gem of their hard work.
It hits them like a ton of bricks.
How the hell am I supposed to put it up there? What’s a ‘commit’? What is repository? Why isn’t there a button to just upload my work here? Frustration creeps in but the beginner knows that they managed to nail Java and by God, they’re going to nail GitHub too.
So there’s the desktop application. That seems like an easy solution. You download it and it sort of makes sense. By then you’ve learned that ‘commit’ means ‘upload’. So you create a repository out of your folder. Make a pull request because that sounds like something you should do perhaps? Nothing appears on your GitHub site. You don’t understand why. You keep creating new repositories and committing and pulling and trying out everything in desperation. Your work appears on your GitHub profile. You don’t understand why.
A sigh of relief as you finally manage to upload your work. You wonder if it had been easier to just put it on Google Drive and send a link to everybody. Then again, this is the developer’s way of doing it and supposedly a part of it is agonising frustration at the user experience. It’s not intuitive. You don’t immediately know what you’re supposed to do. You might never know what exactly are you doing and why it works. I don’t want to rag on GitHub too much, I’ve found a lot of useful resources there and it’s been a great help but it has to be said: it’s not intuitive. The user experience of GitHub is painful for a beginner.