I’ve been working lately on preparing nightly builds of Visual Studio Code for ARM and Intel. These are now ready, and can be downloaded at https://code.headmelted.com.
These “just work” on Raspberry Pi same as any other packaged software (for the most part), and a script is provided to make these builds run well on Chromebooks, too. You’ll also be able to get updates on a nightly basis.
Since I’ve been asked in a few places why anyone would want to use Visual Studio Code on a Chromebook (or even on a Raspberry Pi for that matter), I thought I’d write up a post to explain the intention here.
Let’s look at Chromebooks first
Its probably fair to ask “why?” when you take the idea of a Chromebook for what it is. Isn’t the goal of a Chromebook after all to abstract away the notion of local applications, such that everything you do is in the cloud?
Well, sort of. Originally the goal was certainly that Chromebooks would be cost-effective devices running the minimum amount of operating system for a fast, satisfying and secure browsing experience, and I’d argue they deliver that in spades. I thought for a long time that these were an interesting, if niche, device.
Then I read this article on how Chromebooks now make up half of all classroom devices sold in the United States. This is not a uniquely US-based trend, either. Tring School in Hertfordshire has recently mandated that parents pay £149 towards a Chromebook for their children.
Isn’t this (mostly) a good thing?
On one hand, this is really good news. The relative inexpensiveness of Chromebooks mean that more children are able to have their own computer than ever before, and many kids from disadvantaged backgrounds will have access to a real computer of their own for the first time.
In the internet age we’re currently living in, a restricted operating system like Chrome OS has very real strengths for users who are not yet security aware. The device is encrypted automatically. The software is signed by Google, making it very difficult for a hacker or a virus to tamper with in its default state.
The trade-off here is that the device will not run traditional applications (i.e. web applications only).*
*Recently, Google has started to enable access to the Play Store and its Android app collection on some Chromebooks. This is great news, albeit with sandbox restrictions there too (for good reason).
In many ways, these intentionally-restricted machines are a boon to their users. They keep them safe without being asked. But what if this restricted, at-arms-length computing device is the only computer these users have access to?
If parents cannot afford to buy a traditional notebook device for their children, then they’ll most certainly be further away from doing so after paying for a Chromebook. Even if the parents are not required to pay for the device themselves, the bigger issue is that if the Chromebook is deemed as “good enough”, then parents (and even their kids) may never see the need for anything else.
As the father of two bright and inquisitive young minds, this trend really bothers me. And we’ve been here before.
We used to be so good at this
Acorn Computer released the BBC Micro on December 1, 1981. This was part of the BBC’s Computer Literacy Project. It was also a government subsidized computer, but issued to schools rather than pupils (it was also sold direct to the public).
It’s hard to overstate the significance of this little machine. It is estimated that at its peak popularity, over 80% of schools in the UK had at least one in their classrooms.
Along with systems like the Sinclair ZX Spectrum and the Commodore 64, this contributed to what many consider to be a Golden Age for computing in the UK in this period.
Fun fact: The success of the BBC Micro ultimately led Acorn Computers to form Advanced RISC Machines (ARM) Ltd. in 1990. The first ARM processors were actually co-processors in the humble “Beeb”.
Of course, the 1980’s was still very much part of the Golden Age for computing in the world at large, but anyone who was a nerd growing up in the UK during this time will have fond memories of magazines like ZX and Crash.
My own first experience of writing code was transcribing BASIC from one of these magazines to draw pyramids against a night sky. It was silly, it was simple, it was probably pointless, and it was wondrous. And it kicked off my lifelong love of our industry.
And then it all just vanished
In the early 1990’s, just as the internet was finding its feet, Computer Science in the UK curriculum was replaced with a new subject known as Information and Computing Technology (ICT). This new subject would be a refresh and formalization of previous teaching in the use of computers, that emphasized using computer programs (typically Microsoft Office) over actually creating programs from code, which suddenly and efficiently removed computer programming from UK schools.
As the cost of an IBM-compatible PC in the early 1990’s could easily exceed £800, at a time when unemployment was again on the rise to near-record levels, this change effectively cut children from lower-income households off from the computer revolution. This traditionally high cost of computing has been an all-to-real barrier to many parents and their children.
Anecdotally, I paid £149 earlier this year for my beloved Asus Chromebook Flip (about one tenth of what a high-end Macbook Pro would have cost). Is the Chromebook feature-comparable with the Macbook? No. Can it compete on specs? Of course not. But it’s good enough. It does the job it needs to do, and that matters to people. It especially matters to people that don’t have more than £149 to spend.
The Raspberry Pi as a resurgent BBC Micro
If you were to give a non-technical friend an example of one thing the Raspberry Pi (and other ARM single-board computers) have in common with Chrome OS devices, you may well point out that both cost a fraction of what people have come to expect to spend on a computer.
For around £30 and the fun of a parent-child project, you can “build” your own, real, computer in an hour (or two if you make a delightful case from LEGO bricks).
Welcome to ARMland. Population: not many.
Unfortunately, once this computer is ready, the user is likely to discover that much of the software they might have available to them on a traditional computer is simply not there.
This is not primarily for reasons of capability, but compatibility. A large part of the reason that systems like the Raspberry Pi can be produced so cheaply is that they use ARM-based processors, and most traditional software expects a traditional processor (i.e. Intel), for reasons of, well, tradition (and nascent popularity, to be fair).
Meet them where they are
And if you’re still reading, you’ll be relieved to know that I’m now getting to the point.
Chromebooks are cheap, and popular.
The Raspberry Pi is cheap, and popular.
These devices have a real opportunity to introduce a great many more young (and not-as-young) minds to our field, but let’s not have their experience be a restricted, blinkered view of technology.
I feel very strongly that the best tools should be available to everyone. This is not an original idea, and it’s this notion that is in large part the reason why most GNU software already has great support for ARM (and other architectures too).
That’s why I’m working on this, and while the project is at quite an early state, I’m committing to keep these builds running and up-to-date at least until such time as Microsoft adopts its official support for updating on Linux, and native support for ARM devices. I’m more than happy to help them with this effort if someone wants to reach out.