I'm a full-stack web developer. Already the word web makes me not quite a real programmer in the sense that I don't develop desktop applications in C/C++ or Java, but it would strike most developers as odd for me to be working on a Chromebook—without Linux installed in parallel with the native ChromeOS.
As a full-stack developer, I should be wanting to spin up webservers, databases and applications all the time, running build scripts and sandboxes/VMs for testing and so on. And it's true, I do spend much of my time on such things—but not on my laptop. I have a hulking Windows machine and an iMac at the office, as well as a number of virtual servers all running Linux in the cloud, and I'm also poking around in Google's App/Compute Engines to see if I might save time working through their service.
The question is not: “why a Chromebook?” but rather “why a laptop?” and after having spent some time messing with an iPad, it was a legitimate question in my mind for a little while. I could ssh into my VPSs, RDP into my Windows machines, and fling files to my iMac in the blink of an eye. Really, in the traditional Unix structure, my laptop or tablet need only be a terminal, a gateway to remotely work with the powerful computers from the comfort of my own home or on the road.
The case for the laptop is ironically what many consider to be the case for the tablet: the lack of a physical keyboard.
The iPad touchscreen is very responsive, and iOS in general is a pleasure to work on compared to Android (though I've yet to use a cutting edge Android device with the Material Design overhauls and latest performance improvements). It did, however, only cement for me what I had always argued and suspected: a physical keyboard cannot be beaten for development.
Ironically, a keyboard that adapts to suit particular input fields actually slows me down, because as long as all input fields are plain text, I know exactly where the keys should be and what sequences are optimal; enter the email or the number fields and suddenly my interface mutates, and now the optimal path has to be reconsidered.
Now, this doesn't exactly take me a long time, but it is annoying compared to a physical keyboard and simply knowing the optimal paths to composing textual strings efficiently.
Another great annoyance with touchscreen devices is that to type is to reduce the size of your screen by 30-50%. Speaking only about web applications—which are the only applications I care about since I fundamentally disagree with native apps (a topic for another post)—this means that whatever I'm typing may not even be plainly visible, or maybe scaled down/moved depending on what responsive styling is in place.
Part of the reason I took the plunge and bought a Chromebook was that I fundamentally dislike desktop apps and primarily use websites/webapps for my work already. I've always been a believer in the notion of distributed computing and while ChromeOS is not exactly what anybody at Bell Labs had in mind when they developed Plan9, I think it's a step in the right direction.
I like that on any Linux machine there is a set of tools I like waiting for me; the internet has given me a similar opportunity on fully fledged graphical operating systems, because rather than install my favourite apps or require a customised environment, I can just load up some web pages and boom: my email, file storage, text editor and almost everything else are all available without needing to download and install my preferred tools, and indeed without having to worry what platform I am on.
I have an iMac at work, and naturally I have Affinity Designer (for instance) on there because it is the most pleasant SVG editing tool available, but that is pretty much the only app I have installed on it. I don't "prototype" as some fashionable designers do; my idea of a prototype is a static site that does everything the live site will do, only connected to a dummy data source rather than to the back-end. I construct my layouts and UI by hand with markup and CSS so a text editor and a web browser with decent dev tools pretty much has me covered.
If I am working on the back-end, I can just SSH into the server. Or even RDP into the server.
Everything else is a bookmark. So because I am essentially a platform agnostic worker, I suppose I am preconfigured to appreciate Chrome OS because it's fast, it doesn't get in my way and it streamlines my experience. Whether I am on Windows, OS X or Linux, the first thing I tend to do besides opening a terminal window is to open a web browser. Doesn't necessarily matter which one.
If you're not like that, obviously Chrome OS is going to seem limited. You can run Android apps on Chrome OS with some effort, but that only throws Chrome OS's future into more doubt—the Pixel C is shipping with both Android and Chrome OS, and they won't run both in parallel forever. Eventually Google will pick a winner or merge them into one.
One thing I like about Chrome OS is its very sane handling of text/UI scaling for high DPI screens.
I used to be a power user, I used to spend ages crafting my tiling window manager and terminal apps to be pixel perfect and as minimal as anything else that these days you see fluttered about on /r/unixporn, but these days I just don't have time for all that stuff. I just want something that looks good quickly, that is unlikely to break, that is power efficient so I can work on the road, something that plays nicely with other platforms and so on. ChromeOS is not for power users. You get bash, but the first thing I'd do if I was still a power user is install Linux (as many already do). But I am happy with the native experience.
I am not a video game player, so that's not really a consideration for me, though there are plenty of good browser-based games/Android games available if I were. I am certain however that there is a probably a browser-based version of Pokémon Yellow or Pokémon Gold somewhere, so I am not too worried.
And I've yet to actually explore what the Chrome Web Store actually has to offer yet.