top | item 5582531

Development on a Chromebook: an opinionated guide

49 points| simon_weber | 13 years ago |simonmweber.com | reply

41 comments

order
[+] wycats|13 years ago|reply
I've been using Nitrous.io (formerly Action.io) on my ChromeBook Pixel and loving it. I've been using my Pixel full-time as a development environment for a couple of weeks now, and haven't given up in frustration yet :)

The Nitrous guys have been extremely responsive, fixing a bunch of bugs that were causing me problems (like awaken-from-sleep, problems with $COLUMNS on a retina display). Their terminal emulator is great; it even has mouse support (although it seems to be off by 1 diagonal column -- looking forward to seeing that fixed soon).

One extremely important point: by default today, ChromeOS discards tabs when it runs low on memory. This experience was sufficiently problematic for me that I almost gave up on the entire thing, until I learned about http://gigaom.com/2013/04/05/running-out-of-memory-on-a-chro.... tl;dr Google is experimenting with zRAM (https://en.wikipedia.org/wiki/ZRam), which will eventually be on by default, and you can trivially enable it right now. Do it.

[+] raingrove|13 years ago|reply
Thanks for the kind words, Yehuda! We're also working on a Chrome app that will make the experience even better on Chromebooks, stay tuned! Also, if you need an invite, let us know: hello (at) nitrous (dot) io
[+] stickhandle|13 years ago|reply
Wow - never heard of nitrous.io. Might be exactly what i've been hoping for ... what kind of dev have you been doing with it?
[+] gcb0|13 years ago|reply
- So this company sells a laptop that works as a browser for a online site and nothing else.

- great, i will buy one and waste a lot of time to make it work offline.

... genius. just genius.

I would just write it off as a good hack or something, but the chrome books have ZERO advantage. it's hardware is pure garbage if you compare it to anything on the same price range.

[+] CrazedGeek|13 years ago|reply
Are there that many $250 laptops with 6 hours of battery life?

And you don't have to "waste a lot of time". Crouton (https://github.com/dnschneid/crouton) makes setting up and using a chrooted Ubuntu incredibly simple and straightforward, and there are other easy ways as well.

[+] doktrin|13 years ago|reply
Nice write up, this will definitely come in handy if I ever decide to go the Chromebook route.

However, as much as I like the thought of trying something new, I'm still having trouble justifying the purchase. In other words - why develop on a Chromebook as opposed to a lightweight notebook?

I guess it's a question of typical use case, but I don't find myself too often developing in areas without wi-fi. A 100mb /mo plan also felt like fairly sparse offerings, but it sounds like that's NBD in practice.

As far as the price point is concerned, I'm pretty sure there are refurbished lenovo x220's / 230's available for the same as a Samsung Chromebook (~$500).

Especially with regards to the latter, I guess I'd feel a little weird spending close to the same about on $ on a 3g browser with a terminal.

I'd love to hear thoughts from anyone who's moved to a Chromebook for on-the-go development.

[+] bluedino|13 years ago|reply
> In other words - why develop on a Chromebook as opposed to a lightweight notebook?

It's half the price of the Lenovo you mentioned. It has fairly long battery life, it's small yet has a full-size keyboard. It's slick hardware compared to a $299 Best Buy laptop or a netbook. But it has a whole list of disadvantages.

You can't fire up a VM. You can't browse using the actual desktop versions of Chrome, Firefox, Opera, or IE. You can't use software package X. You need to be connected to the internet to do development. It's just a fancy ssh/rdp terminal in this case.

I understand the romanticism about developing on a Chromebook. I love the 11" Air, and despite the low-resolution screen and low specs (ULV CPU, 2GB or 4GB RAM and 64GB/128GB SSD) you can actually get stuff done. Is it the 'Ultimate Developer PC'? No, but a great machine.

The Chromebook is far more limited, but maybe the next revision along with a regular Linux distribution will be a workable solution for the rest of us.

[+] simon_weber|13 years ago|reply
I switched to the 550 from a eeepc (running debian). CrOS is the real added value, if you ask me: it's the closest thing to the "linux that just works" dream.

I'd be curious to see how the cheaper ARM Chromebook performs with these tools (especially crouton). Anyone have experience with that?

[+] guylhem|13 years ago|reply
I'm sorry but the proposed options are not acceptable.

No VPN? SSH as a plugin ???

Using a Chrome plugin for SSH is taking unnecessary risks. I see no reason why there couldn't be a terminal application on the Chromebook.

If it's due to UI, maybe there could be a way out of the GUI - IIRC the Chromebook runs on X-Windows.

If you can't hack it in a way where ctrl-alt-f1 will get you to a genuine linux getty, running standard GNU/Linux command line software after a recompile, I don't want a Chromebook for development.

Unless you have money constraints, it makes more sense to purchase a real laptop - a macbook if you need the battery time.

[+] simon_weber|13 years ago|reply

  Using a Chrome plugin for SSH is taking unnecessary risks.
What kind of risks are you concerned about? It's a sandboxed NaCl plugin with a strict CSP that runs OpenSSH. I suppose you could get concerned about key security (since they're stored in an html5 filesystem), but you should really have a passphrase on those anyway.

  If you can't hack it in a way where ctrl-alt-f1 will get you to a genuine linux getty, running standard GNU/Linux...
Developer mode lets you do exactly this. Crouton just gives you a pleasant way of running a full Ubuntu install.

edit: I agree that vpn support is a huge disadvantage right now.

[+] stickhandle|13 years ago|reply
We need a robust web-based development environment. Think jsFiddle for other languages but more complete. Version control integrated (think github or bitbucket). Deployment integrated (think heroku). Dependency management. Offline capabilities (probably limited). Technically, i have little doubt it could be possible. No idea what the business model would look like. SaaS/PaaS? A freemium setup would likely be possible? Free base usage, paid extensions? [edit] looks like nitrous.io and/or cloud9 are doing exactly this.
[+] brent_noorda|13 years ago|reply
Very ignorant question: "development" means developing what? Applications? Web sites? mobile something-or-other? chrome plugins? If applications then for what OS? Where does the compiler run? Is this just a shell into some other server that runs the compiler?
[+] simon_weber|13 years ago|reply

  "development" means developing what?
I probably should have put that in: I work on everything you mentioned, with the exception of mobile apps.

I do most of my work remotely (my campus wifi is pretty good), but everything works locally as well.

[+] donniezazen|13 years ago|reply
Chrome PDF Viewer doesn't have PDF highlight feature which has forced me to consider it a secondary laptop.
[+] kgingeri|13 years ago|reply
Try PDFZen from the web store