It should come as no surprise that, the more certain parties collaborate, the better the end product will be (at least, in theory). Unfortunately, the problem is that working together – even in the age of cloud computing and software like Slack and Jira – isn’t always easy to accomplish. Specifically looking at coding and software development, collaboration prospects have always been more exclusive than inclusive thanks to setup barriers; however, Codespaces, a platform introduced on Microsoft’s Visual Studio as well as through GitHub are seeking to break down barriers and make development more inclusive.
Before examining how this platform works, it may aid in understanding if we examine the name. For the uninitiated, a codespace, in development terms, is simply defined as a region or space that defines the lower and upper boundaries for an encoding. (For example, if coding the Latin script, with A being 1 and Z being 26, the codespace would be between 1 and 26.) Breaking the term down further, it is a compound of code and space. Originally from the Latin codex, meaning ‘a compilation of laws’, code, used as a system of rules/regulations on a subject (which would first be applied to computing in 1946), first appears in this context in the 30 November, 1809 publication of Samuel Taylor Coleridge’s journal, The Friend, where he writes: “In the legislative as in the religious Code.” Used as the extent of area for a specific purpose, space, coming from the Latin spatium via the Old French espace, the term is first seen in English around 1387, thanks to John Travisa’s translation (from Latin) of Ranulf Higden’s Polychronicon, writing in English that: “This Isle of Man contains as it were two islands; the first..contains nine hundred households..the second contains the space of three hundred and more.”
Without getting too deep into the intricacies of coding and development, a large part of the problem with development collaboration is that it would require submitting a request to contribute something to a project and it would require each collaborator to set up the environment on their local machine according to the requirements of a project. For Codespace, the major difference is that it allows a cloud-based integrated development environment in the browser you’re using. Essentially, this means that you have the ability to code, test, debug, and deploy for any project in any specific codespace configuration on any computer through the browser.
Using the analogy of an automobile, this would be the equivalent of making it possible for every automobile – regardless of whether it’s electric, hydrogen, gasoline, or diesel – to run on every possible fuel. Much in the same way that the analogy would further liberalize transportation, products like Codespaces will allow software development to become more liberalised and inclusive, thus (hopefully) leading to faster, more intuitive development, and, ultimately, a better product.