
Google Pixel C Review - ingve
http://www.anandtech.com/show/9972/the-google-pixel-c-review/8
======
cstross
It looks from where I'm standing as if Apple has a methodology for getting rid
of legacy cruft while keeping the important bits, viz:

1\. Pick a product. (Pages, for example, or Logic Pro. Or the entire platform
-- OSX.)

2\. Create a new version with significant feature regressions (e.g. Pages 5,
iOS in the early years, Logic Pro X).

3\. Keep an eye on what features the customers are screaming about losing, and
re-implement them (but not the bits nobody cares about).

4\. Screams subside, product reaches parity again -- but is a lot less crufty,
easier to maintain on new platforms.

Google _hasn 't_ mastered this art, and they're unsure what their operating
strategy is. First there was Chrome the browser, then ChromeOS (a thin client
platform), and Android because they needed a phone OS, then running Android
apps on ChromeOS, then this idea of giving ChromeOS touch support so it could
replace Android, then the flagship touch-ChromeOS platform (the Pixel-C) has
to ship before the OS is ready and it all falls apart. With much wheel-
spinning, Google ends up falling behind an in-some-ways-inferior Apple
competitor because they don't focus on iterative design.

(Am I barking up the wrong tree here? TL:DR is the Pixel-C hardware looks
gorgeous but the software is clearly a case of "dammit, we have to ship _now_
, what OS can we dump on it?" rather than any strategic planning.)

~~~
ajross
Dunno, seems like if they had just called this a "Nexus" and not a "Pixel"
most of your points would fall apart, no?

It's a 10" Android Tablet. Looks nice enough I guess. Don't really see what it
has to do with ChromeOS or the Chrome Books other than the reuse of the name.

And re: the Apple point, this is pretty much exactly as "incremental" over a
ChromeOS device as an iPad is with over a MacBook.

~~~
hawski
Pixel-C probably was supposed to run on ChromeOS.

Link: [http://arstechnica.com/gadgets/2015/12/the-pixel-cs-bumpy-
ro...](http://arstechnica.com/gadgets/2015/12/the-pixel-cs-bumpy-road-from-
chrome-os-concept-to-android-adoptee/) Discussion:
[https://news.ycombinator.com/item?id=10713384](https://news.ycombinator.com/item?id=10713384)

------
jallmann
> Despite how fast Tegra X1 is, and the fact that the SoC is seemingly always
> using its A57 cores, the interface can be quite janky at times. Normally
> things perform fine, but both Josh and I have observed random lag and frame
> drops when doing basic actions like scrolling, opening apps, and bringing
> down the notification drawer.

This is aggravating to no end. Top of the line (mobile) hardware, years and
millions of dollars in engineering effort, and perf still sucks. I've tried
very hard for years to be charitable about this problem: programming is hard,
and there are a lot of smart people working on this.

But something is fundamentally broken with Android's abstractions. I don't
know enough about Android's architecture to say what it is -- but there is no
other reason for perf to still be a problem [1]. Every Android device I've
owned has had these issues, while my $45 Nokia Lumia Windows phone has been
consistently responsive for over two years, on marginal hardware. What the
hell is going on here?

[1] Either that, or critical code paths are being bloated with unnecessary
features faster than the runtime and hardware are improving. Which would still
be surprising, because that has to be a _lot_ of bloat.

~~~
astn
Java.

~~~
jallmann
Didn't want to say it outright, but that's my theory too. Having a VM manage
everything in a resource/power constrained environment is a crazy idea in the
first place. Oracle's JVM is competitive because of heroic engineering, _in
spite_ of Java's design -- not because of it. And it still has tradeoffs, like
insane memory usage. ART/Dalvik are operating under different constraints,
which probably contributes significantly to Android's handicap.

That can't be the whole story though, because C# and VB.NET both (seem to)
perform decently under a managed runtime on Windows Phone. Wonder how big of a
role the CLR has in typical WP apps and the WP core, as opposed to unmanaged
C/C++ code.

~~~
pjmlp
.NET is AOT compiled to native code since Windows Phone 8.

On Windows Phone 8.x, it uses MDIL (Machine Dependent Intermediate Language)
meaning native code with symbolic names for the on-device linker.

On Windows Phone 10 onwards, it makes use of .NET Native.

Both are based on Visual C++'s backend, which is way more world battle tested
than ART.

.NET also supports value types.

Also the XAML layouts are compiled to binay, not interpreted on load like on
Android (aka inflated).

Windows Phone also only supports asynchronous code, graphics and sound APIs
must be hardware accelerated.

~~~
iofj
The Go authors had a pretty good article on what's wrong with Java's
performance : pointers everywhere. Every last little thing that isn't a
primitive type is a pointer. Everywhere, in every bit of code.

That means a "new Object()" takes up 16 bytes (8 bytes for the object, 8 for
the pointer to it). That means you fill a cache line by allocating 4 objects,
or 2 objects containing a single reference, or ...

So in java you should never program a line drawing loop by using 2 vectors,
because 2 vectors, each with 2 32-bit ints take up 8 _2 (2 pointers to the
objects you 're using) + 8_2 (overhead for the objects) + 4*2 (the actual
data) 40 bytes of data. No way you can fit that in registers and still use
registers to actually calculate things. So instead you should use 4 ints and
just forget about the objects, and even that will only work if you never call
any functions.

Same loop in C/C++/Pascal/Go/... using structs takes 8 bytes (they don't keep
structs on the heap), which, if necessary, fits in 1 register (granted, in
practice we're talking 2 registers, but still).

People might reply to this with benchmarks, but if you actually analyse the
java code where java beats or is comparable with C/C++ you're going to see
zero object allocations. You're not even going to see them using bool in the
extreme cases, rather they'll bitshift into ints to effectively generate
packed bools (certainly in SAT benchmarks). This is not realistic java code,
which would have been way slower.

Java's memory model is the main culprit at this point in time. Java can do
incredible tricks with programs, and actually exposes them, enabling lots of
language creativity on the JVM. But there's a pretty sizeable cost in speed
and memory usage.

~~~
userbinator
_People might reply to this with benchmarks, but if you actually analyse the
java code where java beats or is comparable with C /C++ you're going to see
zero object allocations._

I've noticed that tends to be true in general for benchmarks of high-level
languages which show them performing as well as or sometimes even better than
C/C++ --- the code performs so well because it's essentially using none of the
other language features that most code in the language does. I touch upon this
in my other comment here about culture: the language theoretically allows you
to write quite efficient code, but it doesn't look "idiomatic" or perhaps
isn't a "best practice", so it's discouraged and isn't done. The entire dogma
of avoiding any optimisation compounds this problem even more, since once
programmers finally realise they have performance issues, they've already
created such complex and inefficient code that it's even harder to do any
optimisation on.

On the other hand, idiomatic C tends to be written in a simple and
straightforward style that is naturally quite efficient already. C++ is
similar, although templates, OOP, and all the other new features can lead to
inefficient code if not used in moderation.

I suppose the ultimate example of what could be called "intrinsically
efficient" is assembly language. With Asm, every instruction, every byte you
can save from typing is one the machine also doesn't have to execute, so
you're basically forced to optimise as you write. There's certainly no desire
to overengineer things, simply because of the extreme tedium and futility of
doing so. With no IDE to help you generate classes and autocomplete
indirections, it really changes your perspective of what constitutes efficient
code.

~~~
pjmlp
Even on Assembly one might suffer from macro opcodes and the respective
microcode expansion, for the sets that don't map 1:1 to what the CPU does.

------
mkozlows
Most of this review is basically correct -- it's a device with a good screen
and good battery life, it'll be a terrible laptop replacement because Android
isn't well-suited for that -- but the stuff about poor touch sensitivity,
crashing, and performance issues is weird.

If you read all the reviews of the Pixel C out there, you'll see that Ars
Technica complained about touch sensitivity, but nobody else did; and not even
Ars complained about performance or overall reliability.

I own a Pixel C, and haven't encountered any of these problems. It's on the
crashy side for an Android device (it reboots itself randomly about weekly),
but nothing like the kind of issues that Anandtech had.

My suspicion would be that they have quality control issues, and that
Anandtech (and Ars) got defective units, but the Anandtech statement about
Google preparing a software patch makes it sound like there's some kind of
software issue -- but what kind of software issue affects a subset of devices?

~~~
userbinator
_it reboots itself randomly about weekly_

Hearing about things like this makes me wonder, "What happened to the concept
of uptime?" Recently on HN there was discussion about how Windows 10 would
force reboots to update, and make users lose all their unsaved work.

20 years ago, I remember Linux/UNIX users would ridicule Windows users for
their frequent crashes and need to reboot, and pride themselves on months or
even years of uptime. Now we have Linux-based Android that appears to be just
as unstable?

~~~
reustle
Obviously this is a mostly edge case. People Android phones and tablets aren't
rebooting weekly.

------
thomasahle
Reading this article on a Pixel C right now.

I can't say I haven't noticed a few of the lags and keyboard glitches
mentioned, but probably not more than a handfull over a month. The Pixel C has
nearly replaced my Mac Book Pro 2015 for all of my browsing, note taking and
communication.

The keyboard is really good and with apps like Termux, I've also done quite a
bit of coding in vim. I'm hoping it'll get split screen soon though.

Feel free to ask any questions.

~~~
mkozlows
How on earth are you coding in Vim on a keyboard with no escape key, no [],
|\, or {} keys, and a misplaced +/= key?

~~~
XorNot
In related news though I'm mystified at macbook popularity with developers.
The first thing I noticed was the lack of page keys, home/end and delete.

~~~
jrockway
Do programmers actually use those keys? I use Home and End in the web
browser... but when coding, I just use the close-to-my-fingers shortcuts. Home
= C-<, End = C->, Delete = C-d, Page Up = C-v, Page Down = M-v.

~~~
Naga
It depends on your text editor! I, for one, use C-a for home and C-e for end.

~~~
jrockway
Ah, that's what Home and End do? Different from the browser. Like I said, I
never use them for programming.

------
Splendor
I would suggest either changing the link to the beginning of the review[0] or
updating the title to something like 'The Google Pixel C Software Review'.

0: [http://www.anandtech.com/show/9972/the-google-pixel-c-
review](http://www.anandtech.com/show/9972/the-google-pixel-c-review)

~~~
oneeyedpigeon
Some of the blame needs to go towards Anandtech and their pagination spam.

------
atirip
So. Google has all the best engineers there is, unlimited supply of money,
Android is as old as iOS (in software terms a grandpa) and Head of UX that
makes fun of iOS on every occasion he gets. And still. What gives?

~~~
aiiane
No supply of money is unlimited, and throwing more people at a problem doesn't
necessarily solve it.

No sane company is going to invest more money in a platform than they believe
they'll eventually get a return for, so that's generally an upper bound. You
don't spend 20 billion on a project you think will net you 5 billion in
revenue.

~~~
0xFFC
>No sane company is going to invest more money in a platform than they believe
they'll eventually get a return for, so that's generally an upper bound. You
don't spend 20 billion on a project you think will net you 5 billion in
revenue.

That is completely incorrect. It depend on strategy of company . If company
consider some product to be strategic place, they will spend hell more than
what they will get in return. About android it is same. Google does not think
about Android as strategic product (they maybe change their mind after windows
10 attack and Microsoft revive, I dunno).

Mostly they think that is something we have , we provide it to the market ,
specially to the third world . Just for getting more and more people access to
the internet.

That's all.

------
tdkl
It just shows this wasn't supposed to ship with Android on board. Also Google
has a bit of a problem regarding Android on tablets and ChromeOS, because I'm
not positive they're actually sure where the future is here.

It also feels kinda old seeing own Google apps completely un-optimized for
tablets, while they're cheering for developers to do so for third party apps
on IO. If Google doesn't bother, why would anyone else ?

------
nkurz
If you don't want to read the whole review, this paragraph is a fine summary:

    
    
      At this point I would normally continue to run our PCMark 
      and GFXBench battery tests. Unfortunately, the Pixel C's 
      software makes it incapable of completing either of them. I 
      made five attempts to complete PCMark, which took a great 
      deal of time as the test runs over many hours. In all cases 
      the tablet locked up during the test and required a hard 
      reboot. It may be possible to eventually get it to 
      complete, but I didn't feel that it was worth delaying the 
      review further in the hopes that I could eventually get the 
      Pixel C to complete the test properly.
    

[http://www.anandtech.com/show/9972/the-google-pixel-c-
review...](http://www.anandtech.com/show/9972/the-google-pixel-c-review/6)

------
tkubacki
It's really sad, that there is no serious competitor for Windows and OSX on
desktop ATM. Linux is still somewhere between X11 and Waylaynd/Mir with it's
GUI toolkits support and lacks commercial offering. Android is just not
desktop OS and ChromeOS is not a full desktop.

~~~
0xFFC
Microsoft's new CEO is much smarter than these.They are shifting their product
to be IT company rather than a pure software company. They will put endless
money on bing. They did put Bing in the core of their best product -Windows
10-.

Google does know very well this Microsoft is going to hurt them really bad.
The recent news about Google working on Desktop OS is google's answer to
Microsoft moves. Microsoft prepares itself to make greatest Desktop OS in the
whole market in next 3 year.

And Google does know if Microsoft unifies all its user under windows 10 and
windows do provide them best desktop experience, eventually they will find a
way to take away user from Chrome(browser)/Android to their own platform.

The only move google can make in this position, is to work on windows
replacement. (and as news came out, they are doing).

and they choose android rather than Chrome os to be their desktop os. Let's
not kid ourselves, chrome os will not be mainstream os maybe until 30 years .
(the networking technology is not there yet, it doesn't have anything to do
how great/secure is Chrome OS).At the other hand they had android.which is
fragmented, which is not that great. but they have a huge userbase. And they
are working on a desktop version of android.

~~~
jordanthoms
What networking technology does Chrome OS need? It's entirely possible to
write great offline apps for it, they are just built using web technologies so
you can use the same code online and offline.

~~~
detaro
Apps are useless if they can't reach their data, because it didn't fit in
(tiny) local storage anymore and external storage is unavailable due to lack
of (reliable, fast) network connectivity. Although manufacturers could simply
offer devices with local storage and solve that.

------
kstenerud
I had the same kinds of problems with my chromebook. It would freeze up, mouse
pointer and all. Sometimes it would come back after a couple of minutes, other
times it wouldn't. Sometimes the whole OS would die and it would reboot.

The wifi was flaky at best, often refusing to connect when my nexus 5x right
beside it had no problems. Browsing the filesystem was an exercise in madness.
My Amiga 500 running at 7MHz was MUCH more responsive. I used a stopwatch to
time 27 seconds from double click to actual display of a jpeg image in the
image viewer.

I averaged about two OS crash/forced reboots per day on it until I finally
gave up and got a macbook.

~~~
marcelluspye
Interesting. I recently got a chromebook (and not one of the nicer ones) and
haven't seen any of this kind of behavior. It's actually been one of the best
"just works" items I've bought in a while. I set up crouton so that I could
use it for more than a browser, and the only piece of software that's caused
any issues is WINE (though I haven't been too adventurous with the kinds of
things I install on there).

------
kpil
Meanwhile, I've been using an Sony Xperia Z tablet for a couple of years. It's
starting to get old, but Sony have updated it to Lollipop which I think is
fair enough.

In my mind, it's a better experience than any of the iPads of various version
that I also have, and it is also rock solid.

But really, laptop replacement? Even with a keyboard both an iPad or any
Android device will suck. My poor kids are using their iPads in school, but if
I had to do serious work with it, I'd probably go insane.

~~~
Mahn
> My poor kids are using their iPads in school

I know this is not what you meant but I find this sentence hilarious. Poor
kids indeed, having to endure using an iPad at school, nevermind that for most
of us school consisted of just pen, paper, books and not much else :)

~~~
kpil
Hahaha!!! Oh the luxury. Back in my day we didn't even have concept of
spacetime :-)

------
TD-Linux
Oh wow, they shipped a bad touch screen again? The Nexus 7 2013 had basically
the same problem. They fixed it later with firmware updates that basically
added a lot of filtering, so single finger touches work basically fine now but
multi-touch is still hit and miss (it's too poor to play Love Live for
example, but maybe that's a net win, heh).

------
Sanddancer
It's things like this that have pushed me away from the iOS/Android tablet
ecosystem and towards an x86 non-rt windows tablet. Having a bigger screen
than a phone shouldn't mean having to sacrifice useful development apps, good
third party device support, and a liberal programming environment that tries
to stuff me in the sandbox.

~~~
Mahn
Well it really depends on what you want the tablet for. As a device to just
relax, browse the web and dick around, mobile OSes feel generally faster than
full blown desktop ones.

------
xlayn
There is an interesting point in this review... Seems like industry has get
good enough to make hardware -Microsoft and the beautiful magnesium surface
pro -Apple and the aluminum design (the possible saphire screen and the new
aluminum alloy) -Android several devices...

But we are lacking on the software, and you see it everywhere

    
    
      -Microsoft and the tablet/desktop os which haven't get
       that much hate lately
      -ios and let's fix everything we break with the ios7
       and newer (e.g. small tiny buttons for music controls on 
       the lock screen of the ipad....)
      -android and... oh well you have the above review.
    

Interestingly some of the things that have been fixed and make the os nice
have been done by apple, ad filter, the future screen color shifting a.k.a.
"fluxing".

------
Zigurd
I wonder why people persist in speculating about OS unification. Chrome OS is
great on cheap laptop form factors where Android would suck.

A web UI isn't good for a touch-only configuration. The web grew up with
pointing devices, and "mobile web" apps haven't been competitive with native
apps on touch-first devices. A web tablet would suck, too.

Microsoft has been banging their heads against this unwise unification until
they missed the whole mobile market. You can't drag Windows into a touch-first
world, and your ISVs will never get to where their apps work well in a touch-
first world. It just ends up being a not-quite-getting-there mess.

Another way to look at it is: Try using a Google web app on a touch
convertible. They're terrible. Not even trying to get touch right.

------
perseusprime11
Did anyone see this quote from the review? "It’s honestly shocking to see
these issues on a device designed by Google running software designed by
Google." Gold!

------
aikah
Are there recent Google devices that ship with ChromeOS ? While I believe that
Android makes more sense (since it also has a browser and can run classical
apps) I wonder what the state of ChromeOS is.

~~~
mkozlows
The Chromebook Pixel is new in 2015, and is wonderful. ChromeOS is an
excellent, rock-solid OS built on solid technical foundations.

~~~
emidln
I'm typing this from a Pixel 2015 LS. ChromeOS is great if you're not a dev,
and it's still pretty good if you do dev work on it. The problem isn't really
ChromeOS (you can replace ChromeOS with Arch or Ubuntu with a little work),
but that (judging from the G+ community) a lot of Pixel 2s have been RMA'd for
flash disk and audio issues. If you get a good Pixel 2, it's an amazing
machine. You might have to RMA it once or thrice to find that machine though.

Tbh, I would pay an additional $500 to a company that cloned the hardware but
offered at least a 512 GB hard disk. I've even give up the touch screen. I'd
like a quad core Skylake upgrade while we're at it, but I'm not greedy, I just
want a reasonable amount of disk. They could even price it at $2000 and I'd
still buy it in a heartbeat. As is, I'm still using my Pixel 2 LS, albeit with
a slimline USB key pseudo-permanently attached to provide extra space. Nothing
else approaches the power and battery life of a Macbook Pro if I want fully
supported hardware under Linux.

~~~
wstrange
Google could sell a ton of Chromebook Pixels to developers if they would put a
512GB SSD in it.

ChromeOS + Crouton + a decent SSD would make a killer development laptop.

~~~
phasmantistes
Honestly I use ChromeOS + SecureShell and connect to a workstation from
wherever I am. No Crouton or SSD necessary.

~~~
shams93
Yeah I do this with my raspberry pi, edit with vim, for web applications the
pi is plenty fast. I use the asus flip got it on sale for less than $200.

~~~
shams93
Which currently does the web fine but doesn't work for native android I have
an intel machine for that stuff but for web development the pi is pretty sweet
I run rails and node just fine on it with postgresql.

------
randiantech
As a side note, that "third world" posts in the article's comments are just
disgusting.

