GitHub for Windows changes everything

If you’ve spent any amount of time in the web development world or lifted the lid on the code behind your own or someone else’s website, you will at some point have encountered a site called GitHub. GitHub is the home of millions of open source code repositories that are in constant flux and evolution, and GitHub is where you will find the bleeding edge of innovation when it comes to code on the web.

The challenge with GitHub, at least for Windows users (so the majority of the computer literate population) is that there has never been a good Windows-based interface for GitHub. As a result, Windows users have been relegated to using GitBash or another command line based interface. And though this isn’t a solid non-starter, it is rather intimidating and hard to wrap your head around if you’re not used to using command line.

Those days are gone. Yesterday GitHub released GitHub for Windows at http://windows.github.com/: A graphical user interface (GUI) that allows you to manage your GitHub repositories with ease using familiar point-and-click behaviors. And it’s designed with Metro principles to boot. Though this may seem like a small deal for Git affiliations and Mac Dogmatics it is in fact a groundbreaking very big deal. And here’s why:

The Democratization of Code

As I alluded to earlier, previous Windows solutions related to GitHub have been command line based and therefore unapproachable to say the least. And in today’s world, that is a serious problem. Though people like me who grew up in the dark ages of computing with MS-DOS as our operating system, the modern computer user is not familiar with command line and finds it hard and cumbersome to use. As a result, services like GitHub have been relegated to the selected few who have the skills to user command line or use other operating systems. In other words, GitHub has been the domain of the coding elite.

Because the web runs on code, and code has been relatively hard to learn and understand, it has been the purview of a select group of people who can read, write, and understand code. But in the last several years this bar has been lowered substantially by the introduction of rock solid Content Management Systems like WordPress and user interfaces that make it easier to use and understand what happens behind the scenes. The result of this democratization of code is that now anyone with a computer and an internet connection can publish and customize their own websites and take control of their message online. That is the very definition of a revolution.

In the past several weeks there has raged a debate in the development community over an initiative called “Code Year” which claims that the ability to code is so vital to the modern world that everyone should learn how to code. The (not so) surprising thing about the debate is that the detractors by and large argue that “regular people” don’t have the ability to learn how to code. In other words, the elite is afraid that their pedestals will shrink and they will be brought down to the level of everyone else.

It shouldn’t come as a surprise that I sit firmly on the other end of that argument: Not only do I believe that everyone should learn how to code; I believe that everyone can learn how to code and be good at it too.

GitHub for Windows (again)

Which brings me back to GitHub for Windows. The reason I am so excited about this release is not that it makes it easier for Windows users to use GitHub but instead that it makes GitHub available to all Windows users regardless of skill level. That is an important distinction and one that will be felt almost immediately in the GitHub community. What was once the purview of the coding elite has suddenly become the playground of anyone with an aspiration to use, collaborate, or publish their own pieces of code.

Revolutions usually start with a single spark. I believe this is one of them. Go download GitHub for Windows and be part of it.

10 thoughts on “GitHub for Windows changes everything

  1. I agree that (almost) anyone *can* learn to code, but that’s a very different thing to saying they *should*.

    There are very few professions that most people, with enough effort and persistence, couldn’t learn. But that doesn’t mean that they’ll enjoy it, or that it’s the most productive use of their time.

    I don’t think the ‘coding elite’ and trying to protect their turf. A lot of them (like Atwood with Stack Overflow) build tools to make programming more accessible and easier to learn.

    But, just like I have an instinctive hate for accounting, a lot of people have an instinctive hate for programming. Which is awesome! They can be accountants, I can write code, and we’ll all be happy and more productive.

    It would be wise to understand programming to a larger degree than most people do. It’d also be wise to understand basic plumbing, auto mechanics, farming and construction. But that doesn’t mean everyone needs to *do* all those things. Just understanding what is possible is (usually) enough.

    Specialisation is important. Economies without it stagnate and remain poor. And while learning to code might certainly be useful, finding that you have no aptitude or interest in it is not a big deal.

    1. I agree with you that not everyone is fit to be a professional developer. However, I find that in many cases the reason why people can’t figure out coding is not because they are not fit for it but rather that they don’t speak the same language as the typical developer. The problem most fields face at one point or another is that the core proponents speak a language that only people of their “kind” understands. That makes it hard for outsiders to break in even if they have something to contribute. This is true for many different scenarios, and web development is most definitely one of them.

      The reason a GUI for GitHub is important is that those that find a command line too intimidating or don’t have the patience or skill to memorize specific functions and calls can get access to and interact with repositories. That’s not because they are not fit to play with Git but rather that they are not the command line type. The reason Git is so unapproachable is because it was written by developers for developers with no consideration of people who don’t think like developers. This new application bridges that gap. And on the other side stands thousands who have the skills, but speak a different language. And that is what’s cool about it.

  2. Oh, and github for windows is a great product – it’s very well put together. But if you can’t get your head around git on the command line, you’re probably still going to struggle with github.

    And honestly, if you struggle to understand the basic clone/pull/push commands, you’re probably going to be seriously challenged when it comes to programming.

  3. github for windows is good-looking, but the basic premises of the article – that it’s the first windows git gui – is incorrect. There are guis like TortoiseGit. some people prefer them, other prefer the commandline.

  4. I think the key here is that GitHub For Windows (Metro) is a beautiful and elegant GitHub GUI client similar to what is available on the Mac. What this will do is attract more Windows developers to GitHub. After they are comfortable with the GUI, they will no doubt end up in the GitBash eventually. GitHub For Windows is a gateway drug for GitBash.

    It’s intimidating to have to start out on a Unix based command prompt in Windows. I don’t think it says anything about one’s ability to program.

    1. I agree with that: you’ll end up in git bash eventually (or using git.exe in DOS).

      I was certainly a bit intimidated by git when I first used it. But I figured it out. My point wasn’t that good devs will automatically understand git, but that people who can’t take the time to understand it (after the initial intimidation) will have a lot of problems writing code. 80% of coding is working out how to use stuff (APIs, external tools etc) that you don’t understand.

  5. Great article šŸ™‚
    I pleasantly surprised when I first launched the github windows app.

    However, I disagree with one point in your article. I (from experience) have found that not everyone can learn how to code. Many people just lack the necessary intelligence or focus to wrap their head around it. I have taught several people how to code but several more just couldn’t do it no matter how much they tried.

    1. I beg to differ Mike. I have yet to encounter a person who could not learn coding basics. The main challenge facing educators is, like I said in an earlier comment, speaking a language the student understands. People with a more visual approach to things have a hard time wrapping their heads around coding basics. Not because they are not smart, but because they don’t think like a developer. For them it’s a matter of reframing the issue and present it in a way they understand – on their terms. Once they can translate the concepts into a language they understand, they are able to follow along.

      Coding, after all, is pure logic. And people have an a priori ability to understand and execute logic. Once they are able to see that, even the most hard nosed anti-coder can get the basics.

      In the few cases I’ve encountered where a person is seemingly unable to “get it” it is actually because they have a mental block in place and they decide even before they try that this is just too complicated. Once that block is down, they realize it is not.

      That said, I am not saying everyone should learn how to code. What I am saying is that a lot of coding tools are designed by developers, for developers, and are hard to understand for people breaking in to the field. Apps like GitHub for Windows lower that bar to a level where the technology becomes accessible to people who are not experts yet.

Comments are closed.