I can program your website in Notepad. If you dare me, I’ll totally do it. Any programmer would. The geek cred for doing an entire website in Notepad is off the charts. People familiar with FrontPage, iWeb, or Dreamweaver shudder at the thought of being forced from the warm embrace of these applications to the cold, emptiness of Notepad. I would quickly embrace such cold emptiness. Any programmer would. It is that, we tell ourselves, that separates the true developers from the WYSIWYGers.
The honest truth, though, is that I would hate nearly every second of it. A hammer and a nail gun accomplish the same task, but I’ll take a nail gun over a hammer any day. Any programmer would. (Plus, a nail gun is cool on so many levels.)
Some background: behind every website is a bunch of folders and text files. Because of this, programmers have a lot of tool options since folders and text files are two of the most fundamental components of computers. The tool a programmer uses to manage and write his code is called an IDE. FrontPage, iWeb, and Dreamweaver are all IDEs, as are Notepad, Visual Studio, and Eclipse (to name a few).
Bespin is an experiment presented by Mozilla Labs. It, too, is an IDE, but Bespin differs in that it’s an IDE that is actually a webpage. Users can make accounts, create projects, upload or add new files, and edit those files. After all, a website is just folders and text files.
According to the project page:
Bespin is a Mozilla Labs experiment that proposes an open, extensible web-based framework for code editing that aims to increase developer productivity, enable compelling user experiences, and promote the use of open standards.
Those are pretty ambitious goals, but what else would you expect from Mozilla? In practice, the product has a lot of great ideas but isn’t quite at a production-ready level. I’ve come across some strange issues with trying to create new projects or new files. This can be very frustrating and certainly wastes a lot of time because I can’t begin working on a project until I can make the project.
I’ve also found the editor to be a little limiting. The most benefit I get from my desktop IDEs is in the form of keyboard shortcuts and code snippets. Every website is different, but they are all comprised of thousands of tiny actions and bits of code that I’ve performed or written hundreds of times before. Because of this, shortcuts and snippets save me hours. Bespin currently has very scant support for keyboard shortcuts.
But that brings me to my first major positive about the project; it lives. Even as I was doing some follow-up research for this post, I noticed a little “hint: hit ctrl+j” at the bottom of the screen. I did so, and my cursor shifted focus from the code editor to the console. This little keystroke is something I’d been wishing for, and there it was. For such a minor (but useful) change to come about in a desktop IDE, like FrontPage, you’d have to wait (and then purchase) the next major version. With Bespin, you just refresh the page. That shows a lot of promise, and it makes me very excited about what’s to come.
The Bespin project is just another example of a general movement in computing technology. I don’t know if there’s an official name for the movement, but I’d like to call it The Exodus to the Cloud. What I mean by this is that more and more companies are experimenting with placing software and services online, sometimes in addition to the desktop versions but not always. They call this “cloud computing”, where one could harness the power of the Internet when managing documents, email, and even code.
If you’ve ever used Google Docs, then you know just how convenient cloud computing can be. I keep all my personal documents up on Google Docs. I can access those documents from anywhere that I have a Internet. I can download them onto a particular computer, or I can edit and manage them online. Google has long been involved in cloud computing, as all of their products live in or interface with the cloud. Microsoft is looking into it for cloud versions of its software. Amazon has invested heavily in cloud computing and branded those services and efforts as Amazon Web Services, from which Amazon S3 and Amazon EC2 have gained popularity.
Bespin is another example of how software companies are no longer thinking of customers as being PC users and Mac users (sorry, Linux). Customers should be thought of as computer users, and computers are going everywhere and doing everything. Cloud computing is making it possible for users to watch video, listen to music, write code, self-publish, and self-broadcast all from a cellphone on the commute to work. In theory, I could spend that time taking ideas further, stretching the bounds of what’s possible, and making the world better. I could use the power of the world’s computers to solve the world’s problems. Imagine: poverty eliminated, war obliterated, illness eradicated. A new era, of World Peace and Prosperity, would begin the Infinite Golden Age of Earth.
But, I would probably end up watching YouTube videos, instead. Anybody would.