Google I/O 2014 has come and gone, but that doesn't mean great stuff from the conference isn't still coming out. The companion app used by thousands of attendees -and hundreds of thousands of fans and followers- has been open sourced! Code for the I/O app is meant to serve as an example of best practices for Android developers, providing fully functioning implementations of the latest design principles, UI controls, networking code, and more.



It has become something of a tradition to release the source code for the I/O scheduler app, although this is only the 3rd time it has been done. While it appears deceptively simple, it's frequently used to demonstrate creative ways to work with sensors and OS features that are generally underutilized by developers. This time around the app is featuring extensive cloud syncing through Google Drive and Cloud Messaging (GCM), preview APIs from Android L, and even an Android Wear companion app. The project also includes server-side code (intended for Google App Engine) that can be easily adapted for use with other conferences and events.

The I/O app is also one of Google's best platforms to urge developers in the direction of certain platform conventions and a particular design language. A burgeoning card-based style was demonstrated in the version released for I/O 2013, which was an iteration on the Holo-light look of 2012. This year, Google is obviously promoting the brand new Material design language, featuring bolder colors, fewer lines, smoother transitions, and subtle layers of depth.

If you're a developer, check out the announcement for more details, and head over to the github repository and poke around to your heart's content. This release is a fantastic example of a well-built and fully functional Android app, and many developers should find it useful in preparing for the major update coming later this year. For everybody else, feel free to hit the widget below to download and play around with the app; and for the fun of it, maybe take a look back through the Material Design guidelines. Keep up the good work, Google!

Source: Google+, Android Developer Blog

Cody Toombs
Cody is a Software Engineer and Writer with a mildly overwhelming obsession with smartphones and the mobile world. If he’s been pulled away from the computer for any length of time, you might find him talking about cocktails and movies, sometimes resulting in the consumption of both.

  • gfg
  • http://tablified.com Ayman Suleiman

    Waiting for the 'this isn't Material Design' haters.

    3, 2, 1....go!

    • Kevin

      This is Material Design though. Or at least what it's supposed to look like.

      • miri

        The screenshots are not, what's available at the source line is.

        • Captain Canada

          Give this man up votes, he is correct.

      • jef

        too bad screenshots aren't from an l preview build with the l preview io app. It would've shown colored themed status bar.
        Nothing more tho.

        • Dennis Ulijn

          Action bar vs app bar, use of icons and app icon in app bar; this is a KitKat api level design, with material design elements.

      • black

        Yeah, but AP followers have become such experts on Material Design that we can no longer enjoy stuff without their approval.

        Material Design is their holy grail. God forbid anyone who meddles with it.

    • http://ignaciozippy.com/ Ignacio Zippy

      This would have been waaaaaaay better than that Material nonsense. #HOLOYOLO

  • b0b

    " This year is obviously promoting the brand new Material design language, featuring bolder colors, fewer lines, smoother transitions, and subtle layers of depth."


    "... featuring fisher-price bright color extreme diarrhea, super low information density, overdone transitions that detracts and scream 'look at me, I'm so beautiful!', and an overused, abused and in your face Fucking Action Button (FAB) screaming "CLICK ME!" that will slowly invade all apps, to the point you'll puke instantly when you see yet another FAB (YAFAB) in each new app you install."

    • Sruly J


    • jef

      i lol'd inside

      • zaney K

        You laughed out loud inside? How does that even work?

        • John Smith


          • http://www.modminecraft.com/ Nick Coad

            Nice... nice...

    • Shining Wing

      I'd take the time to say everything that's wrong with this comment, but you're clearly just a troll anyway.

      • b0b

        Let's say I'm a bit harsh with MD here.

        The MD website is really asking for a parody.

        Apart from that, the Google I/O app is very nice.

    • Hi

      I don't see why using bright colours is seen as childish.

      • http://www.modminecraft.com/ Nick Coad

        Me either. It gets repeated as though it's self evident, but no one ever explains why adults can't enjoy bright colours (pro-tip: they can and DO enjoy colourful designs).

    • Nathan Walters

      b0b when Apple launched iOS 7: "OH MY GOD SO MANY COLORS THEY'RE SO BEAUTIFUL"

      • b0b

        Yes ! An app doesn't need to do something useful nor to have good usuability as long as it is BEAUTIFUL and has smooth transitions that DELIGHT.

        • Nathan Walters

          If this app wasn't useful or usable, you'd have a valid point. That being said, the app is useful and usable, and the design just serves to make it a more enjoyable app to use.

    • http://AndroidPolice.com/ Liam Spradlin

      You're actually right, the purpose of the FAB is to guide users toward the primary action of a screen. And I think that's helpful. As for the colors, the Material palette is very extensive, covering bright primaries as well as more subtle hues. Google's efforts here definitely contrast with previous efforts, but I think they are headed in the right direction. At least attempting (successfully or otherwise) to thoughtfully explain the rationale behind the new approach is a good thing.

      As for information density, that's a hot topic for a lot of users. Many people want to sacrifice aesthetics to jam-pack information above the fold, but there's a certain threshold beyond which no user can reasonably parse the amount of information on the screen faster than they could interact to find more. Encouraging interaction with a device that's comprised solely of a touch screen is good, and relaxing information density gives developers an opportunity to think about information hierarchy and what information really must be above the fold.

      But of course all of this is my opinion, and how well this new approach works hinges on whether developers pick up the guidelines and implement these ideas in a thoughtful cohesive way, which is anything except guaranteed.

      • odl

        I agree with most of what you said Liam but I think that the version number and "updated on" are necessary and should be on the top of each app page on Play Store app.

        • http://www.modminecraft.com/ Nick Coad

          You would be among a very small group of users who think that. I guarantee you the VAST majority of Android users (including myself) couldn't care less about the version number and updated on date. Google has access to research on users that tell them these kinds of things, and as a huge company with a global reach they have no choice but to opt for the crowd favourite.

    • http://www.modminecraft.com/ Nick Coad

      The funny thing is you're technically right in what you've said, but you have a weird perspective on all of those elements in that you hate them where most people quite like them.

      "Fisher-price bright color extreme diarrhea"
      First of all, any graphic designer would tell you immediately that most of the colours used in the Material Design stuff we've seen so far are quite muted. But that's beside the point, because you seem to be implying adults can't (or shouldn't?) enjoy colourful designs, which is patently and demonstrably wrong. Colour is a hugely effective way of attracting attention to key areas or simply to liven up an app so it's not dull and boring to use. This is valuable to adults and children.

      "Super low information density"
      Some people like to have all the important information available to them on one screen where possible - I get that. But you should equally understand that everyone has different ideas of what constitutes "important" information. In almost all situations and contexts, there'll only be a few key details that are considered important enough by everyone that they should all be included on the screen without concern for overpopulating it. Every web developer in the past 5 or so years could tell you about the huge shift from trying to position everything above the fold to now, where trying to do that is almost considered a web design sin. If you try to treat all information equally then there's no heirarchy of information and it becomes more difficult to parse for the average user. Google isn't custom designing Android for people like yourself, they're making it for a world population that is as varied as you are autistic.

      "FAB button"
      Yeah, that's the whole point. It's a call-to-action button. This concept has been around for so long I flat-out have no idea what you could possibly be upset about here. Seriously, you spent a full half of your rant carrying on about... a button. What?

  • Salman Thaw

    I honestly don't get it. So now every developer out there has to throw out their old app's UI, throw out their own UI and UX and make something to fit with this style? Because Matias Duarte said so?

    And then when Google gets bored with Fisher Price and says "Black is the new Black" then everyone is supposed to follow?

    I know that these are guidelines that are not compulsory, but are there people that want to make their app UI look like every other app UI out there? Are people not supposed to stand out? They should fire their UI guys and just follow what Duarte feels like this week?

    These guidelines are for designers and developers are clueless about design. If you had any sense of personality, not just taste, you wouldn't follow blindly just like that.

    I don't like Material Design at all and I hope that app makers apply their own creative thoughts into the apps design as much as they do in the code.

    I know that OEM skins are out of favor (slow your phone down), but having 1 million Vanilla Material Design apps is pretty boring.

    Soon you'll see people show off how "vanilla" their app is, how to-the-book they've followed the guidelines. Wow, you've tucked in your shirts real nice there. But Timmy's uniform looks more ironed than yours. He gets to be the Hall Monitor.

    • http://AndroidPolice.com/ Liam Spradlin

      Please, if you haven't already, look at google.com/design/spec carefully. The specifications are far less prescriptive than you suggest, and allow for (and encourage) personality and branding in any design. What Google is attempting to do is make suggestions for how apps can better fit with user expectations about interaction and with the platform itself.

      • b0b

        The MD spec being so much more detailed and thorough than Holo will lead to very samey MD apps (assuming they all adhere strictly to the guidelines).

        They will all have bright colors and related shades of such colors, colors derived from images (Palette), beautful and feel good hi-res images showing nice looking and happy people, beautiful and overly complex transitions that delight 24/24 but do not help accomplish stuff any faster, a FAB, identical spacing between elements, likely low information density, ....

        Whether this is a good thing or not is up to debate.

        And then you'll get much more Holo+MD mashup apps (it already started) that are everything in between holo and MD, for the delight of AP reader.

        • Imparus

          "overly complex transitions"
          Actually that is one of the thing MD guidelines keep saying not to do, whats more are the fact that the transitions if they are following the guidelines, should help the user understand what is happening.

        • http://AndroidPolice.com/ Liam Spradlin

          The fact that the guidelines are detailed still doesn't mean that they are prescriptive or restrictive. In fact the very nature of the spec guarantees that everyone CAN have a unique design and experience, it's just a matter of whether devs and designers choose to take that opportunity. Again, if you look closely at the spec you'll realize that what Google is doing is giving a set of best practices and an extremely extensive palette that is much more than just bright overpowering hues. How that gets interpreted is on the shoulders of devs and designers.

          As a side note, spacing between elements is critical, and Google's suggestions about baselines, grids, and how to lay things out mathematically are extremely helpful. It isn't about Google wanting everything to be spaced identically, rather it's about Google wanting everyone to understand the importance of gridding and proper layout approaches.

          I'll also emphasize again that information density is not the ultimate answer to good design. How information is arranged is far more important than how much can be crammed into one spot, unless every piece of information carries the exact same weight.

        • http://www.modminecraft.com/ Nick Coad

          You keep mentioning "overly complex transitions" but that's not what Google is advocating. They're advocating for transitions that show the user what has changed or updated on the screen. This is A Good Thing™ even if you don't understand it.

    • Dennis Ulijn

      The reason people say iOS is so user friendly is because there are design guidelines and users can expect how a new app works. This is how they expended the use of programs from 'power users' to new users, including your grandma, who would've never been able to, for instance, install Skype on her laptop. Making every app handle the same is a great step for android's usability. The color palette has been designed to make app design easier, more playful, inviting and always as an extension of your own brand color.

      • Salman Thaw

        The thing is, with each platform having its own design and UX guidelines, the same app by the same designer would behave very differently on different platforms, depending on the guidelines the devs follow.

        So if I use Skype (or something else) on W8 and it follows Microsoft's Metro guidelines, then use the app on my Andy tablet, and it's all Material Design-y and then go on iOS and it's all flat or skeuomorphic or whatever tropical color situation they've got this week.

        I'm not talking about visual style here, just expected behavior.

        In this case, people that use 1 ecosystem will like it, having everything consistent, wonderful. But people using different platforms (like most, except the hardest-core fanboys) will have a harder time getting to relearn how to use the same app, especially if they're not only on different platforms, but different sizes (laptop, tablet, phone, watch.)

        So it's app consistency within the platform vs app consistency across platforms. It's a tough one.

        In my experience, coming from Nexus phones, I've actually had trouble figuring out how HTC phones worked (how to see background apps, etc.)

        I wish everyone would make their apps/platforms more intuitive rather than more unique. Easier to use rather than memorable. I'd prefer ease and intuition over consistency any day.

        The other issue I wonder is what happens when a quarter of the designers follow these guidelines immediately, the other quarter do their own thing and the other half doesn't even update their app. What happens after a few years of this?

        • Dennis Ulijn

          You're right about people using multiple ecosystems, but apple, Microsoft and Google are trying their hardest to pull people into their ecosystem, make users used to the choices they made, making it harder to get used to other systems.

          The reason a lot of app icons on android are rounded squares is because there is a specific guideline for iOS and not for android, so developers put as little effort as possible into their android icon. Is that what you want? No guidelines, so every app is a poor destilation of whatever iOS guided design works on android, even developers not even implementing the back button in the right fashion?

    • Fatal1ty_93_RUS



    • Imparus

      "I know that these are guidelines that are not compulsory, but are there
      people that want to make their app UI look like every other app UI out
      there? Are people not supposed to stand out? They should fire their UI
      guys and just follow what Duarte feels like this week?"

      Arts and Craft, Jugend, Bauhaus, Se stilj, Streamling, Ulm, Postmodernism... all of these are different design style we have had trough time, and just like with material deign you have a lot of guidelines under them, yet there are also a freedom in the design. You will have to be quite blind, if you are saying every product made under one design period look exactly the same, just because they are following the design rules.

      "These guidelines are for designers and developers are clueless about
      design. If you had any sense of personality, not just taste, you
      wouldn't follow blindly just like that."
      Actually no, design keep changing to fit into our current world, which is why there have been so many different ones through time. Even with a lot of amazing designer, it is quite important there are some consistency, since you will be using more apps. If there are none then it would be like filling your room with items that all come from different design period, which would look terrible, since most of them don't work well with each other, same issue would you have using completely different design paradigm in different apps.

      "I don't like Material Design at all and I hope that app makers apply
      their own creative thoughts into the apps design as much as they do in
      the code."
      Read the document on Material Design, there are quite a lot of freedom as there are in any other design guidelines.

      "I know that OEM skins are out of favor (slow your phone down), but
      having 1 million Vanilla Material Design apps is pretty boring."
      What? That didn't make any sense, how did you go from talking about skin, to making a point about apps on the play store?

      I take you aren't a designer, or have ever worked with a designer, or even read the document for MD?

      • http://www.modminecraft.com/ Nick Coad

        "I take you aren't a designer, or have ever worked with a designer, or even read the document for MD?"

        This is my interpretation as well.

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      Well, everybody else has covered most of what you said, but there's a single detail I'd like to expand on. Most app developers really don't have to throw away anything. In many cases, if an app was built on the Android Design Guidelines and used the Holo Light theme, switching to the Material theme (for Android L) could be as simple as adding a few lines of XML and possibly recreating a few graphical resources (e.g. for custom buttons). It may not seem like it, but "Material Design" really is just an iteration on the previous ADG+Holo styling. Frankly, I can't recall a single thing in the guidelines that prevents an app from fitting both old and new.

      The MD documentation is considerably more detailed, and it calls for clear design principles. That's actually a new thing, despite what most people would tell you. Previous versions of the ADG had some general suggestions, but they weren't particularly specific, or they were only specific about fairly mundane bits, like how much spacing to have between the edge of the screen and the start of content.

      It's an awkward time right now because a lot of developers are fumbling around and jumping the gun by restyling their apps to feature MD. (And a lot of them think it's clever to describe it as a feature...Believe me, they are wrong.) Things are no different than they were in 2011, when Holo was introduced. Give it a few months, especially after L launches, and we'll see a lot of the bad habits dwindle away as developers and designers get things under control.

  • http://www.tanzaniteinfotech.com/ tanzanite infotech

    I'm aggresively waiting for it

  • John Smith

    I installed the app and was greeted with a TOS dialog.