Material Design

A good place to begin before discussing the operating system itself is to explain what exactly "Material Design" is. The term comes up a lot throughout the course of the review, which makes sense given how the biggest changes that users will see when moving from KitKat to Lollipop will be because of Material Design. Material Design is a set of design principles, and contained within them is something of a mission statement about Google's approach to services across multiple platforms. Material Design is definitely not Google's first big change to the Android interface, but this time I'm actually very confident that it will be the last we see for a very long time. I'm very impressed by the work Google has done to create an interface that looks and feels modern, simple, and beautiful. Before getting into what Material Design looks and acts like, I'd like to address and give my thoughts about Google's previous style of interface design which was called Holo.

To me, Holo always seemed like a transitional type of interface. Google had just brought on Matías Duarte, but as someone whose first smartphone was a Palm Pre, I didn't feel his influence anywhere at all. I think that Holo was a definite improvement over the previous Android interface, but that isn't really saying much. In my opinion, it still didn't feel coherent or look visually appealing. For example, if you showed me the two screens above without the status bar and navigation buttons, I would be hard pressed to tell you that they're from the same operating system. They don't share a single common interface element. The lack of color and use of grey was also questionable. While some users protest the heavy use of white in many modern interfaces, to me the grey that was commonly used in Holo Light applications was analogous to a dirty white cloth. The lacking color also made applications feel rather dull and lifeless, and I almost wondered if it was an effort to try and mask the fact that phones were shipping with either under-saturated or over-saturated displays by just having almost no color at all. 

With my disappointment in Google's new interface, I was worried that it would just be something I would have to deal with for many years. Fortunately, less than one year after Android Ice Cream Sandwich was released, we were given a glimpse of the beginnings of a new type of design that was distinctly not Holo. It was in a feature called Google Now which launched with Android 4.1, and that many people now use everyday. This application used bright white cards to display relevant information, and had a much heavier use of color than any other applications that shipped along with Android. While at the time this could have been dismissed as the most obvious way to make an application that is constantly displaying and updating information for the user, in hindsight it was clearly the beginning of a new type of design being practiced at Google. It was still immature, lacking the animations, drop shadows, and dynamic nature of Material Design, but it began the dissolution of the Holo interface that had just been introduced.

Finally with the end of Holo, comes the beginning of Material. When Google gave a sneak peek of the new interface for Lollipop at Google IO I was very excited by what I saw seeing. The basic idea of the cards in Google Now had been applied to the entire operating system, and expanded upon in ways that I hadn't expected but have been pleasantly surprised by. As you can see above, both applications display the sections of the interface on white cards that float above the background and cast slight shadows. There's also a much greater use of color, and a better use of screen real estate by dividing the application into multiple sections which can be seen in the new Calendar application. The Settings application is actually a bad example in this regard, as the increased spacing means the main page fits less on screen than before, but this is an exception and I included it primarily to show the contrast between new and old.

Material Design is based upon the ideas of paper, lighting, shadows, depth, and color. While this sounds a lot like the skeuomorphic interface of previous versions of iOS, Material Design doesn't limit itself based on the actual limits of physical items like paper, and it doesn't go to the point where applications are merely digital recreations of real world objects. There's also a heavy use of animations. Everything you touch seems to respond with an elegant animation, and the different cards in the interface can expand, contract, and stack atop one another to create an extremely dynamic feel. It is truly hard to explain, and it's really something that needs to be used to be fully understood.

The last thing to say about Material Design is how it represents more than just a way to design applications. Like I said earlier, within Material Design is a mission statement about Google's approach to services across multiple platforms. Although I've discussed it within the context of the Android platform, Material Design is going to be what you see in Google's applications across every platform. From web apps, to Android, to Chrome, to iOS applications, you will see a consistent style of design that adapts to different display sizes, use models, and methods of input. Overall this is a great step forward in making Google's services consistent across all devices, but I think in the context of iOS applications Google may be going a bit too far by ignoring the design guidelines of that platform in favor of their own.

Introduction Lock Screen, Launcher, Keyboard, and Navigation Buttons
Comments Locked

126 Comments

View All Comments

  • kron123456789 - Saturday, December 6, 2014 - link

    Are you sure about that? The SoC labled as Exynos 5433 was found in Galaxy Note 4, but later Samsung claimed that Galaxy Note 4 has Exynos 7 Octa.
    http://www.samsung.com/global/business/semiconduct...
    Did they changed the SoC through OTA update? :)
  • OreoCookie - Monday, December 1, 2014 - link

    Have a look at http://arstechnica.com/gadgets/2014/11/nexus-9-rev...">Arstechnica's review of the Nexus 9: you see that the Nexus 9 fares better in some benchmarks in 64 bit mode while in others, it's slower. The difference is always quite small (about 1~2.5 %), so small that it's barely above the threshold of the statistical error, I bet.

    That was surprising to some, because they expected the Denver-based K1 to get a 20~30 % boosts similar to iOS devices when comparing 32 and 64 bit modes. At this stage nobody knows whether the basically flat results are due to the unusual architecture of the Denver cores (maybe the result of the code morphing is microcodes which is optimized at about the same level) or whether it's that ART does not yet make good use of the architecture. Given the fact that in 64 bit mode ARM processor can address more registers etc. I would guess that it's the former, the unusual architecture of Denver. I really hope Anandtech subjects it to an architectural deep dive.
  • Solandri - Monday, December 1, 2014 - link

    The 20%-30% speed boosts I've seen in iOS benchmarks from going 64-bit were grossly exaggerated by using the mean. You can't use the mean because it by definition weighs larger values more heavily. If there's a playground with a half dozen 8 year old kids romping around, a single 90-year old sitting on a bench will raise the mean age to 20. So a single large benchmark improvement can disproportionately skew the mean when the vast majority of benchmarks showed little to no improvement.

    You have to use the median in these cases. The median benchmark speedup I've seen has been about 5%-9%. If you remove the benchmarks which improved due to specialized hardware being added, the median improvement drops below 5%. Which is in line with the speedup Windows experienced when transitioning to 64-bit CPUs.

    Really, the only places where going to 64-bit can speed things up is flat memory addressing, which isn't a factor because none of the iOS devices have more than 4 GB. With calculations using long long ints (64 bit ints), which almost nobody uses. And with double floats, which outside of certain benchmarks is mostly used in scientific programming. Even most 3d game engines still use 32-bit floats because it's "good enough" for most cases (doubles don't become necessary until you start dealing with extremely large distances, like space simulation games). Most of the speed increase from Apple's 64-bit SoC comes from increasing the number of registers and from new specialized hardware speeding up things like AES by over 200%, both of which have nothing to do with 64-bit-ness. (Memory bandwidth is a bigger issue due to light only being able to travel 12cm in a single 2.5 GHz clock cycle. I'm not sure what memory controller ARM uses, but most devices have long since adopted 128-bit or larger memory controllers to get around this physics-imposed limit.)
  • The Hardcard - Monday, December 1, 2014 - link

    The added registers and other resource are tied to 64-bit-ness in the sense that ARM decided to make architectural boosts with the move to 64 bit. True they could have added those to 32-bit ARM but there wasn't a point in doing that.

    An possible explanation for the Denver results may not be in the code morphing in and of itself. It could just as well be that it uses the full register set and all the other resources for both 32-bit ARM and 64-bit ARM emulation. Because it is not that the 64-bit results are so bad, but that the 32-bit results are so good. You could just be seeing what it would be like if ARM had added the registers and instructions to 32-bit.
  • OreoCookie - Monday, December 1, 2014 - link

    First of all, it's part of the interpretation of data on how you obtain an average from the raw data. You argue it's the median instead of the expectation value, but a more realistic average would rely on weighing according to the instruction mix -- which varies. If encryption algorithms are constantly used (and they are used a fair bit on smartphones with all the encrypted traffic), then 250~800 % speed advantage is not an outlier, but significant in applications. Moreover, many of the benchmarks such as these (http://www.anandtech.com/show/7335/the-iphone-5s-r... are not necessarily meant to tell you how much faster the device will be in typical use (where most mobile SoCs are idling anyway), but rather probe specific aspects of the architecture in order to understand how it has evolved. Certainly I won't be the one arguing that simulating SDEs such as the Black-Scholes equation is a common real-world application in SoCs ;-) And speaking of a 20~30 % speedup on average (even if you exclude outliers) seems quite sensible given the benchmarks. If you want to argue about how to properly weight these benchmarks (e. g. that FP benchmark results which show more of an improvement are less important), that's a different discussion.

    You're also wrong when you claim that flat memory addressing is the only place where going 64 bit can speed things up: ARMv8 has twice the number of registers compared to ARM v7 which (similar to going from x86 to x64) -- and while this has nothing to do with 64 bit, but it has everything to do with being part of the new ARM ISA which also happens to be 64 bit. There are also changes to the Objective C runtime in order to take advantage of the 64 bit-ness, e. g. creation and destruction of objects was sped up by a factor of 2 (https://mikeash.com/pyblog/friday-qa-2013-09-27-ar... which can cumulatively become significant in iOS apps where you constantly manipulate objects.

    I don't think the attempt to separate improvements which have nothing to do with going 64 bit itself but are rather part of the 64 bit ARM v8 ISA is going to be practically useful because we cannot decouple the different components. Ditto for hardware encryption logic which replaces software routines: they are a real-world advantage, and the only question will be by how much.
  • name99 - Wednesday, December 3, 2014 - link

    It's a little ridiculous to claim that speedups from AES are "unfair" on the same blog that has been complaining about how much dramatically Android's whole-disk encryption slows down the OS...
  • tuxRoller - Monday, December 1, 2014 - link

    Denver is a different enough arch (internally) that there may be other reasons why it isn't faster.
  • jnemesh - Tuesday, December 2, 2014 - link

    Did you see any performance benefits moving from Windows 32 bit to Windows 64 bit? Nope. Not one little bit. You wont see any here either. As with desktop PCs the main benefit to 64 bit is that it allows you to address more than 4GB of memory. As most phones are shipping with 3GB or less, you won't see any benefit to a 64 bit environment unless and until the apps start demanding more RAM.
  • Maleficum - Friday, December 26, 2014 - link

    You don't have to struggle to prove your ignorance.
    After the Itanium fiasco, Intel abandoned IA64 and licensed the half-baked x86_64 where larger addressing space is practically the only benefit.

    Aarch64 is a full-fledged 64-bit architecture with a completely rewritten ISA similar to what Intel dreamed of with the Itanium. Larger addressing space is just one of the many side benefits on Aarch64.
  • kspirit - Monday, December 1, 2014 - link

    I don't know why people refuse to accept that the Lollipop UI, with its metro-like appearance of flat tiles and bold colours isn't a blatant copy of Windows Phone. I'm not hating, I actually like Android a lot, but come on! It's wrong to be in denial like that.

    On my Nexus 4, the recent contacts in the dialler app are actually coloured squares arranged in a grid! I mean, seriously? Might as well have polished up Holo. At least it was unique to Android.

Log in

Don't have an account? Sign up now