SublimeText — I think I’m in love

I’m not one to gush about text editors. Pretty much they do their job and that’s about it. I respect the amount of work that goes into something like, say, OpenOffice.org Writer, but I wouldn’t say I’m in love with any particular aspect of it (except, perhaps, that it’s free — as in beer — and open source). My main reason for switching from Dreamweaver to Notepad++ was economical, but also to get away from the code that Dreamweaver liked to automatically insert into documents. For the most part, I was only using the source editor anyway, so it seemed a waste to use an application with a graphical editor that I never used and Notepad++ filled the gap nicely.

About a week ago, I found SublimeText 2. After using it exclusively for my web development projects for this past week, I can tell you I am never going back to anything else. Here are a few reasons why:

Theming

SublimeText 2 with Soda package, Monokai Soda color scheme, and Meslo font

Okay, so it’s pretty superficial of me to put aesthetics above everything else, but try and tell me that you aren’t like me and the first thing you do when you open a new program that has any kind of customization abilities isn’t find the perfect theme that works for you. SublimeText comes with 22 different color schemes and each one can be hacked if you so desire. You can download new color schemes. You can use any font installed on your system by adding a line to a configuration file (easily accessible through the Preferences menu). And thanks to a package (we’ll get to packages in a minute) called Soda, the entire UI can be customized in a smooth light or dark scheme (without Soda, the sidebar is not customizable).

Extensibility

You can extend the functionality of SublimeText through packages. Each package is based on a GitHub or Bitbase repository and repositories are checked for updates everytime the application is loaded. Functionality enhancements include things like bracket highlighting, PHPdoc capabilities, autofilling, support for various languages like javascript and HTML5, you get the picture. With PackageControl (which can be installed via an internal console just by copying and pasting the command in the readme file on the GitHub repo — pictured right), you can easily install new packages into Sublime without having to worry about where they need to be saved — everything is handled automagically.
[clear]

Projects

When I was using Notepad++ and Dreamweaver, my window usually opened with approximately 8,000 tabs for various projects in different states of being worked-on. Navigating between them usually involved using the arrow buttons to scroll through to the beginning or to get a list of the open tabs via the Window menu. More often than not, I would try to open a file only to find that it was already open, hidden somewhere behind tab number 6.753. In Sublime, you can create discrete “projects” by adding a directory (or multiple directories) to a project. This could be a WordPress theme, an entire website, a bunch of related plugins you’re working on, or any other variation (pretty much just listing the sorts of things I use this for). Rather than having every file for every project you are actively working on open in a unique tab, you can easily switch between projects and have the last-opened tabs in that project there for you when you go back to it. Meanwhile, the directories (and files therein) that make up your project are listed in the sidebar, making it easy to open any file in that project. Not only that, but single-clicking on any file will open a “preview” of that file without actually opening the file. Meaning if you just wanted to look at something but not change anything, you don’t need to open the file and then close it, you can just click on it to check it out and then go back to what you were doing. Now that I use projects, anything I was doing before just seems clunky and unsophisticated.
[clear]

Fully featured trial version

Don’t you hate it when you are using a “Freemium” or “Shareware” app and it does everything you need it to do except one tiny little thing that makes it completely useless without actually purchasing it? Like saving, for example? One of the things that instantly earned my respect was that installing SublimeText 2 let me do everything I needed to do without purchasing. After a certain number of saves, a pop up would appear asking me if I wanted to purchase, which could be easily clicked away and I was back doing whatever I had been doing. Some genius thought that programmers might be more interested in getting work done and that, after seeing just how good Sublime is at assisting them in that very task, they would be more inclined to pay for something they had been using for free.

Well, that genius was right. Despite the fact that I could have gone on indefinitely without paying the $59 for a single user license and just gotten an occasional notice to buy, I chose to actually purchase the application because it’s so damn good at what it does. I haven’t regretted that decision. The guys who make Sublime, well, sublime deserve to benefit from what they have created, which is an elegant IDE that is forward-thinking and extensible without a lot of bloat. Just hours after I installed a bunch of packages, I was already using most of them and felt the coding process suddenly become fun again.

everything’s better in the cloud

image source: gawker
image source: gawker

since google’s big chromeOS unveiling last week, i’ve been left thinking a lot about cloud computing and chrome as an operating system in particular.  while i failed to be enamored about chromeOS, i do think the concept of cloud computing is an exciting developing technology.  chromeOS felt half-assed and not-fully-developed (the latter of which, at least, was true).  and it’s banking on a technology that is not yet widely adopted for which there aren’t a lot of equivalent technologies to what we are used to on our desktops and standard laptops.

the idea behind cloud computing (and the concept that chromeOS is founded on) is that most of what we do these days is done online, and that our most used applications are things that really just interface with the net.  even things that we think of as applications that run locally of our computer — like word processing or spreadsheets — can be taken to the cloud with microsoft’s new Office Live which was introduced to rival google’s own, longstanding Google Apps.  the few things you sacrifice by using a more simplistic user interface with less options (theoretically the stuff you don’t use anyway), you make up for in having permanent, secure, online data storage that follows you wherever you go, no matter what computer you’re on.  it doesn’t matter if your computer crashes, or your whole office crashes — if all your documents are online in Office Live or Google Apps, they’re safely tucked away in microsoft’s or google’s data warehouses.  and the chances of google’s or microsoft’s servers going down are about as high as snowflakes in the mojave desert in august. nvidia’s RealityServer and the independent OnLive show us ways that gaming can be taken to the cloud — and that is a glorious thing.  imagine not ever having to buy a graphics card ever again, and yet, still be able to play the hottest new games available at breathtaking resolutions that would have you staring at your screen in awe.  by taking all the heavy duty graphics and physics processing off your computer and crunching the numbers on a vast server cluster, the only thing you’d need is a fast enough internet connection to stream the audio and video.

cloud2it’s true, it’s beautiful up in the cloud.  the heavenly connotations are not entirely unwarranted when given access to unlimited data storage, unlimited processing power, unlimited games, unlimited music, everything you do and say and think lives in the cloud, you just need a conduit to tap into it.  all this constant upgrading your computer to the latest fancy technology to make it go faster is unnecessary.  you can access the cloud on the laptop you threw in the closet 7 years ago and forgot about. but wait…what about everything we’ve ever known about computing technology?  about how processors are constantly getting faster, data storage is getting bigger and faster and cheaper.  if you can access the cloud with any old thing, namely, if you can access the cloud with a chromeOS-powered netbook that does nothing else other than access the cloud, wouldn’t that sort of put a wrench in how hardware is developed, and do we even want that? because with cloud computing, nothing is local, all (or most) of the processing is done in the cloud.  at least, that was what google was presenting a few days ago.  you don’t need a fast computer, you just need something that can run their software.  (and google kind of has the corner on that market: one of the things they announced was that you would be running chromeOS on a specially-designed hardware device built to run chromeOS.)

a netbook is either a bloated smartphone that can’t make calls, or a dumbed-down computer with limited local storage.

this is where i get stuck.  it doesn’t make sense to me: why use a netbook to access stuff that only lives on the internet if it can’t do some of the things i can do on a regular computer?  okay, so it’s only task is to access and manipulate apps that live online, but so does a smartphone.  a netbook is, pretty much by definition, either a bloated smartphone that can’t make calls, or a dumbed-down computer with limited (or no) local storage.  this is the future of computing?  really?

the cloud also throws a wrench into our concept of ownership.  i mean, sure, i can say that i own all my documents on Google Docs, but what does that actually mean to me if i don’t actually have a file i can manipulate myself.  or, more to the point, what happens to the music collection i consider to be mine if it’s not actually stored on any hard drive i have physical access or proximity to, but rather, is part of a membership service i am subscribed to?  we saw this summer how easy it was to take away digital possessions thought to be the property of the purchasers when amazon pulled 1984 and animal farm off their (digital) Kindle shelves and, subsequently, out of the Kindle users’ collections.

aw_snapthe cloud is great at some things, but not so much at others.  netbooks are a hot, cheap solution to do some basic daily tasks, but they will never be able to do everything you can do on a regular computer.  rather than forcing users to settle on a good enough, cloud equivalent for what they want to do, let’s embrace the differences between netbook computing and desktop (or laptop) computing.  what i’m thinking is web apps that behave more like desktop apps and desktop apps that behave more like web apps.  so much so that the only distinction between the two is whether an app is web-exclusive and therefore can be run on a netbook with no local storage.  as an example, let’s say i’m using something like a video editing program that eats up a lot of memory, disk space, and cpu cycles.  rather than having to go out and buy a supercomputer that can handle the load, let’s offload some of the memory consumption, processing, and temporary data storage to the cloud.  the app still lives on my computer, i still have to go to the store and make the purchase (or download it online and install it on my computer), but it leverages the cloud to enhance the user experience.  my video editing app can use a server cluster in mountain view to handle the video rendering so that task can take minutes, or even seconds, rather than the hours it would take me to render the same video on my computer.  then i’m limited only by my bandwidth, which is pretty much universally accepted as necessary to make cloud computing — and the environment in which chromeOS can truly live — a reality.

is chromeOS really anything more than a cheap ploy to generate more ad revenue?

granted, google told us that this was not a release, not a true unveiling.  merely, it was a chance to look at what the operating system does and how it’s different than what we’re used to now.  but, if you’ve read the chrome browser propaganda, none of this is really new territory other than the fact that, in the future, there will be chrome devices that only run chrome.  with chromeOS, google is banking on a technology whose time hasn’t yet come, and it’s a hefty gamble.  and are google’s intentions purely benevolent?  if google is working towards bringing about a world in which computing is done entirely (or at least mostly) online, gee, doesn’t that mean there will be more opportunities for their text ads to appear while we go about our normal workday?  is this really anything other than a cheap ploy to plaster more google ads across more things you do, by bringing the things you do online?

when applications can intelligently use the cloud to boost performance and take the load off of the local host computer — as i see it, the best of both worlds — then i will be a true believer.  until then, google’s cloud lives in that same utopian dream that the Agents in The Matrix told us failed the first time they built the Matrix.  we kept trying to wake up.