
Chrome OS: Ready for Web Development [video] - espeed
https://www.youtube.com/watch?v=QTmAtXoPkgw
======
philips
Anecdote: I stopped using OSX for primary development about 7 months ago and
started using a Pixelbook + Crostini exclusively.

Par

    
    
      - Hassle free desktop experience on par with OSX
      - Password managers, music apps, etc available via Android appstore
    

Advantages

    
    
      - Fast time to productivity because Crostini takes a few clicks, then apt-get everything
      - Native "File Manager" integration makes it painless to move files to and from VM
      - Desktop apps in the VM appear in ChromeOS apps menu without hassle of X11.app, SSH forwarding, etc
      - Android integration to unlock the laptop, etc works great
      - Hardware built-in FIDO U2F device
    

Disadvantages

    
    
      - ChromeOS 70 still crashes once and awhile inexplicably (weekly)
      - Android apps can be janky to resize
      - Multi-display with Android apps sometimes doesn't work
    

Overall I feel more productive on my Pixelbook vs OSX.

~~~
shams93
I'd try using firefox instead of chrome for your development browser, I do a
lot with webrtc and find myself in permissions hell with chrome so my main
system is ubuntu with firefox rather than chrome these days. I use a mac for
mobile development because its handy to be able to handle ios and android with
the same system.

~~~
philips
I installed Firefox on the ChromeOS Crostini VM for similar reasons and it
works great. The app icon even shows up in ChromeOS and I clickable.

I just used a release binary and copied the .desktop file to
/usr/share/whatever as described on the Mozilla wiki.

~~~
dandv
You can also add to home screen/install Progressive Web Apps from Android
Firefox, and they'll appear in the Chrome OS launcher. Should've demo-ed that
during the talk :)

~~~
DennisAleynikov
PWA's used to be one of the few truly desktop feeling apps on Samsung DeX but
as of today their beta of WSL for Android [1] has dropped an it makes every
samsung flagship s8 and up a computer to develop apps on.

its like crostini but a little worse since it fills your screen with a
graphical ubuntu 16.04 with latest chrome, VSCode and other toys to get you
started. Really awesome they are doing this and I look forward to the future
of linux on galaxy devices.

[1] [https://linuxondex.com](https://linuxondex.com)

------
soared
If anyone is looking to pick up a chromebook, I maintain an ongoing list of
chromebook black friday deals that includes most of the relevant specs (except
linux/android support)

[https://docs.google.com/spreadsheets/d/12L9SM7k-Z6LSsGvdi7do...](https://docs.google.com/spreadsheets/d/12L9SM7k-Z6LSsGvdi7doZ4rjTaqXBfjFNkwx5x_GMWo/edit)

~~~
superflyguy
That's great but could you make me a coffee so I have something to drink while
I read it?

~~~
soared
Beautiful

------
0xCMP
Been using edge releases on my Pixelbook i7 for a few months. Much of this is
pretty baked. I wish USB support was here so I could use my Yubikey 5c to do
SSH, but otherwise it's fine.

From my experience Docker works fine. VS Code works well. You can install your
own Terminal if you want.

Note for the demo in the video they ran Chromium inside the VM so localhost
would work. Otherwise you need to use the penguin.linux.test domain which was
pretty hard to find out about when they made that change. Another thing is you
really should default to binding to 0.0.0.0:$PORT because that makes your life
easier as well.

For those not enjoying MBPs and their keyboards the Pixelbook's keyboard is
pretty good.

If I had to make a recommendation I'd say that getting a lower -end pixelbook
would be a great buy. Not sure my i7 or extra SSD space has really been worth
it.

~~~
fhenneke
You can use Secure Shell for SSH with your Yubikey in the meantime:
[https://chromium.googlesource.com/apps/libapps/+/HEAD/nassh/...](https://chromium.googlesource.com/apps/libapps/+/HEAD/nassh/doc/hardware-
keys.md)

------
agundy
I paired a Dell Chromebook 13 with SSH to a permanently on desktop for my
senior year of college. Worked great: 12 hours of battery life, light, cheap
laptop and the development environment was the same on the move or at home.
Tmux sessions with Vim means I could keep my laptop in my backpack and pick up
where I left off on the desktop. SSH tunnels allowed any web dev work to be
painless too. I would recommend if you have a desktop and just want a cheap
long battery life computer with decent build quality. Almost all my work could
be done this way.

~~~
ggpsv
Can you expand on this? What OS were you running your desktop?

~~~
agundy
Ran Ubuntu Desktop, nothing fancy, just had it always on and I never even
worried about doing dynamic DNS, my internet provider basically never rotated
IP's. Experimented with Crouton on the Chromebook but the switching and
experience wasn't as great as just using pure ChromeOS. Surprisingly fast
development environment for being off the host but college Wifi was reliable
and fast and there weren't many hops to my desktop.

------
liamcardenas
Around this time:
[https://youtu.be/QTmAtXoPkgw?t=256](https://youtu.be/QTmAtXoPkgw?t=256) (4:16
into the video)

it talks about how ChromeOS runs Android, Linux, and ChromeOS apps natively,
in a performant and secure manner, without emulation using a combination of
containers and hardware virtualization.

This strikes me as very similar to Qubes' security model. Very interesting to
see this architecture developed by a company like Google.

~~~
bsaul
What do you mean by "without emulation ... using hardware virtualization" ? Is
the difference that hardware of the VM has to match the one of the real
hardware ?

~~~
celkam
Yes. In emulation, you have one chip architecture trying to mock the behavior
of another chip architecture (like running ARM code on x86). In
virtualization, you're setting up secure contexts, but sending the instruction
for the code in the container straight to the CPU without translation.

------
InTheArena
What still pisses me off on this, is that even a flagship, great recent
product like the Asus C302CA Chromebook (intel chip and all) is not supported.
All of the drawbacks of the android ecosystem - inconsistent versions,
inconsistent deployments of versions - but on my desktop. Yay.

I was really positive about ChromeOS, but this has soured me on it incredibly.

~~~
Latteland
They require a recent Linus kernel for crostini for some virtualization
feature and vendors ship some Chromebooks with old kernels without that
feature.

------
dirkg
Some counterpoints -

\- Crostini is only for a limited set of Chromebooks. I have an Acer 15 with
Intel Broadwell, which is extremely powerful and not that old, but Google
won't support it for whatever insane reason they might have

\- Chromebook keyboard is lacking. You cannot program without a del key

\- They aren't cheap. Only the low end low powered 2GB models are and they are
unusable, as well as not supported by Crostini. For this kind of money I can
get a Windows laptop with almost equiv battery life

\- or even better, a used Thinnkpad + Linux which would be better than almost
anything for 1/2 the cost.

~~~
jamescostian
> You cannot program without a del key

As a programmer who switched to a mac (without a delete key), I also used to
think the delete was crucial. I'm curious, what are you using the delete key
for? I've only ever used it as a backspace-but-reverse when typing, and to
delete things like files in GUIs. The workarounds for these issues are trivial
(change your cursor's position for the typing issue, and GUIs respond to
backspace with a modifier key), so I'm wondering what other (not-as-easily-
emulatable) functionality the delete key gives

~~~
epicide
By the way, Fn+backspace on a Mac does a delete. Not just in GUIs, either.

------
azangru
Interesting.

Any advantage of using Chrome OS for Web development compared to just any
plain Linux distro (e.g. Ubuntu)? Or, even more interesting, compared to
MacOS? Because from the video, it feels as if Crostini is a second-class
citizen on Chrome OS (all that talk about Linux in a container). Why choose
Chrome OS at all?

~~~
zaxcellent
(I'm crostini developer) Chrome OS has some natural advantages as an OS e.g.
it's always updated and secure, device drivers just work. Chrome OS is also
the only desktop OS with Android support maintained by Google. Because
Crostini uses Linux containers, more Linux programs can be used in development
than MacOS, and any linux distribution that runs under LXD can be used.
Chromebooks can also be found in certain places more commonly than macbooks,
e.g. at schools or as part of a company's fleet of hardware.

~~~
bhhaskin
That's all well and good, but doesn't answer the question. Why would I use
Chrome OS rather than another Linux distro for web development?

My Ubuntu instillation is also always updated and secure. Device drivers also
just work. The android support sounds great for android development, not web
development.

~~~
ChristianBundy
> Why would I use Chrome OS rather than another Linux distro for web
> development?

You shouldn't. It's in Google's best interest to get people to use their
products. It's in your best interest to avoid Google whenever you can.

~~~
sridca
I see that ditching Google has become a popular past-time here in HN, however
avoiding Google is surely not even close to my best interest.

------
rb808
I'm thinking of getting a Chromebook for dev work, with the view of just using
it as a dumb client for terminals and browser to cloud servers. I'm worried
I'll buy then wish I bought a proper machine. Anyone thought the same then
regretted it?

~~~
overcast
My suggestion right now(from a Mac user), is a Windows 10 machine with the
Linux subsystem installed. You'll have an entire Linux environment integrated
into Windows, giving you the best of both worlds. Supported software,
hardware, and your natural development environment. Honestly, I'm weary of
moving anything to Google with their track record of just abandoning projects,
and privacy concerns.

~~~
spurgu
Remind me, what's best about the Windows world again? Games?

~~~
pjmlp
Games, a 3D API that doesn't suck, an actual OO ABI, a kernel that isn't yet
another UNIX clone, one of the best IDEs on the school from Xerox PARC
workstations, a shell that uses structured data and integrates with OS APIs,
user space drivers.

------
zaxcellent
In case you're interested in the technical guts of crostini, I gave a recorded
talk to the NYLUG:
[https://www.youtube.com/watch?v=WwrXqDERFm8](https://www.youtube.com/watch?v=WwrXqDERFm8)

------
idm
Happy Chromebook user here. I use the Asus c213 as my daily driver now. I do
the heavy lifting on a Linux server.

Crostini made it all click for the mobile development environment. VS Code was
the last piece of the workflow that I was missing.

Now, I've got a rugged laptop with rubberized edges and some water resistance.
I take this thing into environments I would never have taken any other laptop.
I don't worry about this laptop and I love that.

------
antoineMoPa
So do we still have to be in developer mode with new chromebooks to do this?

Currently, I have a semi-old chromebook with crouton, which means I have to be
in developer mode, which means I risk deleting my entire disk at every boot.
Someone else erased it some years ago, thinking that hitting space at boot was
the right choice when prompted with "This system is unsafe, press space to
erase entire disk"...

~~~
danans
No. This all runs in regular mode.

~~~
dandv
The remote debugging part does require developer mode.

[https://medium.com/@dandv/remote-debugging-web-apps-
running-...](https://medium.com/@dandv/remote-debugging-web-apps-running-
locally-in-chrome-os-70ebd3099455)

------
chewz
I am really happy with ChromeOS + Debian Stretch (via crouton not crostini)
running on my Macbook Pro Retina.

It has taken away all pains of macOS, the screen estate and keyboard (2015
model) are great. What's not to like?

But what I like most is the ability to re-create my working environment on any
hardware from USB key in 15 minutes.

~~~
sridca
> what I like most is the ability to re-create my working environment on any
> hardware from USB key in 15 minutes

Could you elaborate on this?

~~~
chewz
Well, I keep an install of ChromeOS on USB flash drive and I do regular
backups [1] of crouton partition with Debian (cli only - 3.4 GB currently in
my case).

If I do not have my laptop with me I can install ChromeOS on any machine which
takes maximum 15 minutes [depending on flash drive and USB speed]. Log in and
entire ChromeOS graphical environment (bookmarks, Chrome extensions, ChromeOS
apps, Web apps) is re-created automatically by ChromeOS from my Google
account.

Then re-creating crouton partition with Debian takes another 5 minutes. And I
am good to go, because this is exact 1:1 copy of my Debian terminal
environment with Vim, mutt, Mail folder, all project folders, npm packages,
pip packages, git and everything.

On new machine the screen could have different resolution, perhaps I have to
login into few webpages in Chrome but it is generally my full environment.

I did so in summer when I have not taken my Mac to vacation and also I often
move to spare Lenovo laptop if I need to.

[1]
[https://github.com/dnschneid/crouton/wiki/Backups](https://github.com/dnschneid/crouton/wiki/Backups)

------
z3t4
I read about the Chromebooks being a huge market especially in education, so I
bought a Chromebook and made a app targeted for education. The market is
however a ghost town, it seems I'm at least 5 years behind, most old apps have
10ˇ5 users, but new apps, those only one or two years old, have less then 10ˇ2
users ... What happened? Are schools only using pre-installed apps? Or did
they stop using Chromebooks? How does this market work!? Besides being only a
Chrome browser, the Chromebook is actually very nice! It's fast and battery
last for two or more days. It's perfect for browsing HN, but for developing
I'm using another machine with Ubuntu. Also I have not got support for Android
and this Crostini thing on my Chromebook. Ohh and you need a Google account to
login, although both Apple and Microsoft does this now a days, so even if you
bought your computer, you are not really owning it, just pre paid rent, unless
you install another Linux distro on it.

~~~
danans
> most old apps have 10ˇ5 users, but new apps, those only one or two years
> old, have less then 10ˇ2 users ... What happened? Are schools only using
> pre-installed apps?

Schools and school systems don't buy software directly from app stores, like
consumers do. Generally, they decide to use a particular piece of software
based on public standards, best practices within the educational community, or
academic research on efficacy. Then they will usually buy a site license or
subscription that provides access for all their students.

If you are trying to get schools to use your software, it probably makes sense
to explain its value via the channels that schools are paying attention to.

------
davidy123
I was excited by this prospect mainly because of battery life, but I have a
recent Thinkpad and with Ubuntu 18.10 battery life is quite good, even though
I have 32GB and a zillion tabs open. This i7 Thinkpad is more expandable and
serviceable and still cost less. Probably some of the improvements are due to
ChromeOS Kernel improvements, so thanks for that!

------
SniperOwl
Did he say 75% off? Can some elaborate the discount?

~~~
benforreal
I was at the Chrome Dev Summit - we got 75% off coupons at registration, so it
was advertised as for attendees only. Even so, it wasn't a real coupon code -
you go to a site, enter the code, and tell them what app you're working and
they get back to you. Not quite sure how "required" that is, but they were
required form fields

~~~
WildGreenLeave
Was that a personal coupon code or a generic one? In other words, can you
share it or not? :)

~~~
dandv
Speaker here. The discount codes were intended for the attendees, are unique,
and they can not be redeemed twice. That said, I'd keep an eye for any Black
Friday/Cyber Monday deals.

------
youeseh
Who is this really for?

Students who have a cheap Chromebook and couldn't write / test code due to OS
restrictions?

Developers who have a Chromebook (and love it) and wanted to use it for
everything?

~~~
pjmlp
You need a flagship Chromebook for proper Crostini support.

~~~
jvagner
What's not supported on my $280 Acer Chromebook 13?

~~~
pjmlp
Not having 8GB and a powerful enough CPU?

~~~
jvagner
OK, is Crostini different than the Linux VM? 'cause that does work.

~~~
pjmlp
Having a proper battery friendly dual core GNU/Linux laptop with 8GB, which
sometimes struggles to load everything, having seen the hardware
specifications of Pixelbook, the testing platform for Crostini, I have some
doubts anything less powerful can take the load of Chrome + Android containers
+ Linux VM/containers, including the required harddisk space.

Crostini is the codename for the official Linux VM support.

~~~
foldr
I used Crostini without issues on an Acer Chromebook 13 while traveling for a
week or so. The performance was as good as you would expect for a laptop in
that category. I didn't find it noticeably worse than when I used Crouton
(which isn't behind a virtualization layer).

~~~
pjmlp
Thanks for the feedback, was it the 4 GB or 8 GB model?

~~~
foldr
A 4GB model I bought in 2016.

~~~
pjmlp
Thanks.

------
satysin
I don't do any web development but I think this will be very interesting when
they bring the Android development tools to Chrome OS.

There are some very nice Chromebooks out these days that have more than enough
power to offer a decent-to-good Android development environment it just lacks
an OS that can run the required tools out-of-the-box.

I hope to see a true developer Chromebook in 2019 :)

------
xaduha
I think I'll install Chromium on my old notebook that hasn't died yet (Samsung
R40, that old).

But if I decide to buy a new one I'd make sure that VFIO works on it, once you
cross that bridge there's no reason to go back. And I suspect that Chromebooks
don't support VFIO.

------
chillydawg
So, I assume everything is streamed back to google for ads? Files, clicks,
network configs?

------
resters
Ready for web development just as it starts to achieve price parity with a
macbook. I'd argue that this is largely a failure of the initial vision of a
lightweight OS that can run very well on low cost hardware.

~~~
nbar1
Only the Google Chromebooks are priced high, and still isn't even close to the
Macbook.

There are many offerings from other company for just a few hundred dollars
that run Chrome OS.

~~~
johnatwork
But those cheap Chromebooks won't run Crostini right?

~~~
celkam
It depends on the kernel version and the CPU's virtualization support. I have
a C101PA that I got before the price hike, and use it for hacking in lisp
during my commutes.

------
pkulak
I'm still waiting on good Docker support. Word is it's close, but I don't know
if it's there right now. Really all I need in a dev machine is a Unix + docker
+ IDE, so this is pretty interesting.

~~~
enos_feedler
A patch has been merged to fix an issue that was preventing docker from
working. I don't think the patch has made it's way into a proper docker
release yet but I am using a custom build and it's been working fine for a
month on my pixelbook. I do container development and control a GKE cluster
with kubectl as well. More details on the docker patch here:

[https://www.reddit.com/r/Crostini/comments/9jabhq/docker_now...](https://www.reddit.com/r/Crostini/comments/9jabhq/docker_now_working/)

~~~
pkulak
Nice, thanks for the info!

------
stupidbird
I'd consider switching if I could get that 75% discount.

~~~
0xFFC
Me too. But I couldn't find where was that %75 discount?

~~~
stupidbird
only for attendees, doesn't seem to be any loopholes

------
chasedehan
I once had plans to do dev work on a chromebook. I even installed gallium on
one.

BUT,the biggest problem for me is the keyboard and missing a bunch of
essential keys.

~~~
type0
Not having proper function keys means it's faulty by design for me, or can I
remap those Chromebook keys to f keys somehow?

~~~
dandv
Yes, the top row of keys map to F1 - F10. You can activate them if you hold
the Search key while pressing them, or you can have Chrome OS "Treat top-row
keys as function keys" (Settings -> Keyboard).

Pixelbooks:
[https://support.google.com/pixelbook/answer/7504061](https://support.google.com/pixelbook/answer/7504061)
Chrome OS in general:
[https://support.google.com/chromebook/answer/1047364](https://support.google.com/chromebook/answer/1047364)

------
remir
I liked the Spotify progressive web app they demoed.

I wish Mozilla would compete against ChromeOS and release a similar OS. Too
bad FF OS is dead.

------
kbumsik
Will it happen to Chromium OS for normal laptops too? As a heavy Linux desktop
user this looks quite interesting.

------
sigzero
The actual ChromeOS (not Chromium) in a VM would be nice to try things out.

------
zwaps
So it does everything that Linux does, but you can also send all your personal
data automatically to google.

Wow, what a value proposition!

~~~
idm
I made a separate account for the Chromebook. I don't associate any personal
info with this account. Of course, most people will reuse their existing
accounts, but it's not strictly required to provide personal details in order
to use a Chromebook.

~~~
mooman219
Do you have an example of when your were personally attacked with you private
data by Google? If you're going to say ads in general, you know targeting can
be disabled? I see all this constant distrust towards Google, but they're
probably the best example of keeping your data secure. (According to market
share) 99% of people are running an OS that collects some amount of telemetry
data about them already, but Chrome OS, with a <1% market share is the real
offender? People are less vocal about companies that actually lose your data,
like Equifax, Facebook, and even Canonical had a data breach. I know it's fun
to pick on the biggest players, but mid size and small companies have
atrocious security practices that are actually abused.

~~~
zwaps
It's naive to think the data that is collected about you is harmless if it is
secure.

Standard economic theory suggests that precise knowledge about your properties
and preferences will, in the future, allow firms to extract the maximum profit
from you, to your detriment. Google is already heavily investing the health
sector, for example.

Not only does Google have a lot of broad data associated with your person, for
example, any symptoms of disease you ever plugged into search, but we are also
talking about an OS, which has absolute supremacy about anything you do on
that computer.

That is why we should care, and that is why a comparision even to amazon or
facebook is not accurate here. In this particular case, the breadth and depth
of the possibilities to get data about you are unusual.

And keep in mind we are arguing about an OS that is technically not even open-
source.

------
canhascodez
I patched my firmware and installed GalliumOS[0], which is basically a tweaked
version of Ubuntu. I was previously using crouton[1], which functions
similarly[3] to Crostini. On ChromeOS, I was using the Cloud9 Web IDE (which
has since become an Amazon service), and on the Crouton/GalliumOS side of
things I've been using ST2/3, but have essentially switched completely to
SpaceVim[3].

ChromeOS is fine for web development, except that it started killing tabs
after you open ten or more. I liked Cloud9 for the most part, particularly
that it saved its state all the time: you could close your browser window, and
come back to that project a few days later, and all of the same files would be
open, and any terminal commands still running.

Both NetBeans and Atom were painfully slow, regardless of system
configuration.

Switching to a docker-centric (i.e. HDD-heavy) workflow has meant switching to
a remote server -- for now, a VPS, at least until I get my local server a new
HDD. So ChromeOS is perfect for my needs, in that it has a full-color terminal
with ssh, and a web browser for documentation. However, that's kind of a low
bar. On the plus side, ChromeOS is quite secure. On the minus side, it's not
"real" Linux in some relevant senses. Auto-updating is nice, and also being
able to unbox a new machine, sign in, and automatically have your local apps
and files start appearing. Heavy Google Apps integration is probably more of a
feature than not. However, the rate at which the OS would kill tabs (including
the terminal!) made the system quite unpleasant to use. Yes, the problem here
is me: the hardware can't easily handle a large number of tabs, and it's a
perfectly valid decision to kill tabs quickly rather than let the system
become unresponsive. Probably it was even mostly effective at that. Probably a
better-spec'd machine would have fewer memory issues. However, I have
consistently gone to considerable lengths to avoid using ChromeOS: replacing
the firmware requires disassembly and the removal of an internal screw, and
risks bricking the machine. Enabling developer mode prevents the system from
booting normally: instead, a white screen appears after power-on which says
something like "Press spacebar to restore ChromeOS". I believe that it does
let you know that this will wipe the user partition, after you've started. It
does not tell you the key combination required to boot the machine. Loaning
out a Chromebook in developer mode is therefore not recommended.

I'm shopping for a replacement for the chromebook I'm typing this on. It cost
$115, I've used it for a couple years, the second power cord seems to be
giving up, and the screen is partially held together with electrical tape: I
think it gives it a bit of character. I've had at least two other (cheap)
Chromebooks before this. I don't think I'm in the market for another. At the
moment, I'm probably looking for a (Linux) Dell XPS 13, or similar: I would
appreciate any suggestions.

    
    
      [0] https://galliumos.org/
      [1] https://github.com/dnschneid/crouton
      [2] https://github.com/dnschneid/crouton#what-about-dem-crostinis-though
      [3] https://spacevim.org/

~~~
dandv
Tabs being killed is most likely due to the low RAM on your Chromebook. I've
been having 100+ open tabs for several weeks on my 8GB RAM Pixelbook, without
problems.

