Posted by the Flutter and Chrome OS teams
Chrome OS is the fast, simple, and secure operating system that powers Chromebooks, including the Google Pixelbook and millions of devices used by consumers and students every day. The latest Flutter release adds support for building beautiful, tailored Chrome OS applications, including rich support for keyboard and mouse, and tooling to ensure that your app runs well on a Chromebook. Furthermore, Chrome OS is a great developer workstation for building general-purpose Flutter apps, thanks to its support for developing and running Flutter apps locally on the same device.
Since its inception, Flutter has shared many of the same principles as Chrome OS: productive, fast, and beautiful experiences. Flutter allows developers to build beautiful, fast UIs, while also providing a high degree of developer productivity, and a completely open-source engine, framework and tools. In short, it’s the ideal modern toolkit for building multi-platform apps, including apps for Chrome OS.
Flutter initially focused on providing a UI toolkit for building apps for mobile devices, which typically feature touch input and small screens. However, we’ve been building keyboard and mouse support into Flutter since before our 1.0 release last December. And today, we’re pleased to announce that Flutter for Chrome OS is now stronger with scroll wheel support, hover management, and better keyboard event support. In addition, Flutter has always been great at allowing you to build apps that run at any size (large screen or small), with seamless resizing, as shown here in the Chrome OS Best Practices Sample:
The Chrome OS best practices sample in action
The Chrome OS Hello World sample is an app built with Flutter that is optimized for Chrome OS. This includes a responsive UI to showcase how to reposition items and have layouts that respond well to changes in size from mobile to desktop.
Because Chrome OS runs Android apps, targeting Android is the way to build Chrome OS apps. However, while building Chrome OS apps on Android has always been possible, as described in these guidelines, it’s often difficult to know whether your Android app is going to run well on Chrome OS. To help with that problem, today we are adding a new set of lint rules to the Flutter tooling to catch violations of the most important of the Chrome OS best practice guidelines:
The Flutter Chrome OS lint rules in action
When you’re able to put these Chrome OS lint rules in place, you’ll quickly be able to see any problems in your Android app that would hamper it when running on Chrome OS. To learn how to take advantage of these rules, see the linting docs for Flutter Chrome OS.
But all of that is just the beginning -- the Flutter tools allow you to develop and test your apps directly on Chrome OS as well.
No matter what platform you're targeting, Flutter has support for rich IDEs and programming tools like Android Studio and Visual Studio Code. Over the last year, Chrome OS has been building support for running the Linux version of these tools with the beta of Linux on Chrome OS (aka Crostini). And, because Chrome OS also supports Android natively, you can configure the Flutter tooling to run your Android apps directly without an emulator involved.
The Flutter development tools running on Chrome OS
All of the great productivity of Flutter is available, including Stateful Hot Reload, seamless resizing, keyboard and mouse support, and so on. Recent improvements in Crostini, such as high DPI support, Crostini file system integration, easier adb, and so on, have made this experience even better! Of course, you don’t have to test against the Android container running on Chrome OS; you can also test against Android devices attached to your Chrome OS box. In short, Chrome OS is the ideal environment in which to develop and test your Flutter apps, especially when you’re targeting Chrome OS itself.
With its unique combination of simplicity, security, and capability, Chrome OS is an increasingly popular platform for enterprise applications. These apps often work with large quantities of data, whether it’s a chart, or a graph for visualization, or lists and forms for data entry. The support in Flutter for high quality graphics, large screen layout, and input features (like text selection, tab order and mousewheel), make it an ideal way to port mobile applications for the enterprise. One purveyor of such apps is AppTree, who use Flutter and Chrome OS to solve problems for their enterprise customers.
“Creating a Chrome OS version of our app took very little effort. In 10 minutes we tweaked a few values and now our users have access to our app on a whole new class of devices. This is a huge deal for our enterprise customers who have been wanting access to our app on Desktop devices.”
By using Flutter to target Chrome OS, AppTree was able to start with their existing Flutter mobile app and easily adapt it to take advantage of the capabilities of Chrome OS.
If you’d like to target Chrome OS with Flutter, you can do so today simply by installing the latest version of Flutter. If you’d like to run the Flutter development tools on Chrome OS, you can follow these instructions to get started fast. To see a real-world app built with Flutter that has been optimized for Chrome OS, check out the the Developer Quest sample that the Flutter DevRel team launched at the 2019 Google I/O conference. And finally, don’t forget to try out the Flutter Chrome OS linting rules to make sure that your Chrome OS apps are following the most important practices.
Flutter and Chrome OS go great together. What are you going to build?
Posted by Wesley Chun (@wescpy), Developer Advocate, G Suite
We recently introduced Hangouts Chat to general availability. This next-generation messaging platform gives G Suite users a new place to communicate and to collaborate in teams. It features archive & search, tighter G Suite integration, and the ability to create separate, threaded chat rooms. The key new feature for developers is a bot framework and API. Whether it's to automate common tasks, query for information, or perform other heavy-lifting, bots can really transform the way we work.
In addition to plain text replies, Hangouts Chat can also display bot responses with richer user interfaces (UIs) called cards which can render header information, structured data, images, links, buttons, etc. Furthermore, users can interact with these components, potentially updating the displayed information. In this latest episode of the G Suite Dev Show, developers learn how to create a bot that features an updating interactive card.
As you can see in the video, the most important thing when bots receive a message is to determine the event type and take the appropriate action. For example, a bot will perform any desired "paperwork" when it is added to or removed from a room or direct message (DM), generically referred to as a "space" in the vernacular.
Receiving an ordinary message sent by users is the most likely scenario; most bots do "their thing" here in serving the request. The last event type occurs when a user clicks on an interactive card. Similar to receiving a standard message, a bot performs its requisite work, including possibly updating the card itself. Below is some pseudocode summarizing these four event types and represents what a bot would likely do depending on the event type:
function processEvent(req, rsp) { var event = req.body; // event type received var message; // JSON response message if (event.type == 'REMOVED_FROM_SPACE') { // no response as bot removed from room return; } else if (event.type == 'ADDED_TO_SPACE') { // bot added to room; send welcome message message = {text: 'Thanks for adding me!'}; } else if (event.type == 'MESSAGE') { // message received during normal operation message = responseForMsg(event.message.text); } else if (event.type == 'CARD_CLICKED') { // user-click on card UI var action = event.action; message = responseForClick( action.actionMethodName, action.parameters); } rsp.send(message); };
The bot pseudocode as well as the bot featured in the video respond synchronously. Bots performing more time-consuming operations or those issuing out-of-band notifications, can send messages to spaces in an asynchronous way. This includes messages such as job-completed notifications, alerts if a server goes down, and pings to the Sales team when a new lead is added to the CRM (Customer Relationship Management) system.
Hangouts Chat supports more than JavaScript or Python and Google Apps Script or Google App Engine. While using JavaScript running on Apps Script is one of the quickest and simplest ways to get a bot online within your organization, it can easily be ported to Node.js for a wider variety of hosting options. Similarly, App Engine allows for more scalability and supports additional languages (Java, PHP, Go, and more) beyond Python. The bot can also be ported to Flask for more hosting options. One key takeaway is the flexibility of the platform: developers can use any language, any stack, or any cloud to create and host their bot implementations. Bots only need to be able to accept HTTP POST requests coming from the Hangouts Chat service to function.
At Google I/O 2018 last week, the Hangouts Chat team leads and I delivered a longer, higher-level overview of the bot framework. This comprehensive tour of the framework includes numerous live demos of sample bots as well as in a variety of languages and platforms. Check out our ~40-minute session below.
To help you get started, check out the bot framework launch post. Also take a look at this post for a deeper dive into the Python App Engine version of the vote bot featured in the video. To learn more about developing bots for Hangouts Chat, review the concepts guides as well as the "how to" for creating bots. You can build bots for your organization, your customers, or for the world. We look forward to all the exciting bots you're going to build!
Simpler to use: We've applied Material Design to all aspects of the AdMob look and feel to deliver an easy-to-use and intuitive experience across the entire platform—on mobile and desktop. You'll get more done in less time. Below you can see how easy it is to pick an app that you're monitoring, check out its key metrics and then quickly take action to fine-tune its performance.
Deeper insights: We've also integrated Google Analytics for Firebase into the core of the redesigned AdMob so you have quick access to the metrics that matter most for your business. Once you link your AdMob and Firebase accounts, you'll have access to detailed ad revenue data and user insights like time spent in the app and in-app purchases—all in one place.
Engage users in key moments of discovery with new UAC placements in Google Play
Android reaches more than 2 billion active devices every month, with Google Play available in 190+ countries around the world. It's the place users come to discover new apps and games. Beyond searching for apps to try, users are increasingly browsing the Play store and finding recommendations for new apps.
To help those users discover more of your apps, we are introducing new ad placements on the home and app listing pages in the Google Play Store. These new placements, available exclusively through UAC, help you reach users in "discovery mode" as they swipe, tap and scroll in search of their next favorite app.
Discover more of your best users with new bidding options in UAC
Some users are more valuable to your business than others, like the players who level-up in your game or the loyal travelers who book several flights a month. That's why we're expanding Smart Bidding strategies in UAC to help you acquire more of these high-value users. Using Smart Bidding, you can tailor bids for your unique business goals - target cost per acquisition (tCPA) or target return on ad spend (tROAS). UAC delivers the right users based on your objectives: installs, events and, coming soon, value. This update starts rolling out to iOS and Android developers and advertisers in the coming months.
Introducing App Attribution Partners, a new measurement program
Many developers rely on third-party measurement providers to measure the impact of ads and gain valuable insights about how users engage with your app. To help you take action on these insights in a faster and more seamless way, we are introducing App Attribution Partners, a new program designed to integrate data from 7 global companies right into AdWords. Welcome to adjust, Adways, AppsFlyer, Apsalar, CyberZ, Kochava and TUNE... we're thrilled to have them onboard! AdWords' integration with these partners ensures that you have consistent, reliable and more granular data where you review app metrics. Now you can take action with confidence and stay on top of your business performance.
Posted by Fabian Schlup, Software Engineer
Two weeks ago, over 7,000 developers descended upon Mountain View for this year’s Google I/O, with a takeaway that it’s truly an exciting time for Search. People come to Google billions of times per day to fulfill their daily information needs. We’re focused on creating features and tools that we believe will help users and publishers make the most of Search in today’s world. As Google continues to evolve and expand to new interfaces, such as the Google assistant and Google Home, we want to make it easy for publishers to integrate and grow with Google.
In case you didn’t have a chance to attend all our sessions, we put together a recap of all the Search happenings at I/O.
1: Introducing rich cards
We announced rich cards, a new Search result format building on rich snippets, that uses schema.org markup to display content in an even more engaging and visual format. Rich cards are available in English for recipes and movies and we’re excited to roll out for more content categories soon. To learn more, browse the new gallery with screenshots and code samples of each markup type or watch our rich cards devByte.
2: New Search Console reports
We want to make it easy for webmasters and developers to track and measure their performance in search results. We launched a new report in Search Console to help developers confirm that their rich card markup is valid. In the report we highlight “enhanceable cards,” which are cards that can benefit from marking up more fields. The new Search Appearance filter also makes it easy for webmasters to filter their traffic by AMP and rich cards.
3: Real-time indexing
Users are searching for more than recipes and movies: they’re often coming to Search to find fresh information about what’s happening right now. This insight kickstarted our efforts to use real-time indexing to connect users searching for real-time events with fresh content. Instead of waiting for content to be crawled and indexed, publishers will be able to use the Google Indexing API to trigger the indexing of their content in real time. It’s still in its early days, but we’re excited to launch a pilot later this summer.
3: Getting up to speed with Accelerated Mobile Pages
We provided an update on our use of AMP, an open source effort to speed up the mobile web. Google Search uses AMP to enable instant-loading content. Speed is important---over 40% of users abandon a page that takes more than three seconds to load. We announced that we’re bringing AMPed news carousels to the iOS and Android Google apps, as well as experimenting with combining AMP and rich cards. Stay tuned for more via our blog and github page.
In addition to the sessions, attendees could talk directly with Googlers at the Search & AMP sandbox.
5: A new and improved Structured Data Testing Tool
We updated the popular Structured Data Testing tool. The tool is now tightly integrated with the DevSite Search Gallery and the new Search Preview service, which lets you preview how your rich cards will look on the search results page.
6: App Indexing got a new home (and new features)
We announced App Indexing’s migration to Firebase, Google’s unified developer platform. Watch the session to learn how to grow your app with Firebase App Indexing.
7: App streaming
App streaming is a new way for Android users to try out games without having to download and install the app -- and it’s already available in Google Search. Check out the session to learn more.
8. Revamped documentation
We also revamped our developer documentation, organizing our docs around topical guides to make it easier to follow.
Thanks to all who came to I/O -- it’s always great to talk directly with developers and hear about experiences first-hand. And whether you came in person or tuned in from afar, let’s continue the conversation on the webmaster forum or during our office hours, hosted weekly via hangouts-on-air.
Posted by Mike Pegg, Head of Developer Marketing
Google I/O is almost here! We’ll kick-off live from the Shoreline Amphitheatre in Mountain View at 10AM PDT next Wednesday, May 18th. This year’s festival will focus on key themes that matter to you: Develop, to build high quality apps; Grow & Earn, to increase user engagement and create successful businesses; and What’s Next, a look at new platforms for future growth.
While we’re putting the finishing touches on the keynote, sessions, and code labs, we wanted to provide you with some tips to get ready to experience I/O, either in-person or offsite.
Navigate the conference with the Web & Mobile apps
To get the most out of Google I/O, make sure to install the Android or iOS app and add the web app to your mobile homescreen. The apps will help you plan your schedule (even while offline!), view the venue map, and keep up with the latest I/O details.
Attending in person?
Badge pick-up starts on Tuesday, May 17th, between 7AM - 7PM at the Shoreline Amphitheatre. Keynote seating will be pre-assigned on a first come, first served basis during badge pick-up so plan to come by early on! Remember to bring your ID, the QR code that will be emailed to you before the conference, proof of academic eligibility if you registered for an Academic badge, and your best look for the badge photo! Find the full badge pick-up schedule here.
After the keynote ends, in addition to attending technical sessions, you’ll have the opportunity to talk directly with Google engineers throughout the Sandbox space which will feature multiple product demos and activations; during Code Labs where you can complete self-paced tutorials; and at Office Hours where you can get specific questions answered by Google specialists.
Don’t forget to bring your (comfortable) party shoes! On Day 1, we’ll have an After Hours Concert from 7-10PM that will include dinner, drinks, and feature some exciting musical performances we think you’ll enjoy! On Day 2, we’ll have an After Hours Party from 8-10PM which also includes food, drinks and lots of fun activities. Enjoy the time to explore the venue at dusk - it will look quite different than during the day. We recommend bringing a jacket for the evening festivities as it can get chilly after dark.
Attending remotely?
Whether you’re looking to experience I/O with other devs in your neighborhood, or if you’ll be streaming it live from your couch, here are some ways you can connect with I/O in real-time:
We’re looking forward to having you with us for 3 days of I/O fun, soon!
Don’t forget to join the social conversation at #io16!
Published by Mike Pegg, Head of Developer Marketing
One day in June of 2006 a very special thing happened. For the first time ever, we invited a handful of developers to spend the day with us at Google celebrating what they had achieved with our Maps APIs. Our engineering team came all the way from the Sydney office to help answer questions from developers, and help them learn new ways to solve problems in the apps they were building.
What a difference a decade makes. We’re absolutely amazed with all that developers from around the world have created and changed since that day in 2006. We’ve enjoyed this journey with you, and as developers ourselves we continue to be excited by the challenges that lie ahead.
It was this thinking that drove us to bring I/O back to where it all started 10 years ago and to continue celebrating this developer journey we’re on together. We’re really excited for I/O 2016 and we hope this year’s festival, happening May 18-20 at Shoreline Amphitheatre, is just as special as that first gathering at Google back in 2006.
We know a lot has changed over the years and the opportunities (and challenges) are even greater today than they were back then. We’re gearing up for an I/O festival that will celebrate your accomplishments, answer your burning technical questions, and hopefully help make your life as a developer a little bit easier. We hope you can join us! Applications for attendance opened today and will remain open until 3/10, 5PM PST. And in the meantime, share your #love4dev back with us.
Posted by Mike Pegg, reppin' I/O since 2011
Google I/O is almost here! We’ll officially kick-off live from the Moscone Center in San Francisco at 9:30AM PDT this Thursday, May 28th. While we’re putting the finishing touches on the keynote, sessions, sandbox talks, and code labs, we wanted to provide you with some tips to get ready to experience I/O, either in-person or offsite.
To get the most out of Google I/O, make sure to download the I/O Android App and/or add the I/O web app to your mobile homescreen (both work offline!). From either, you can plan your schedule, view the venue map, and keep up with the latest I/O details. We just updated the website this morning, optimizing it for real-time content, as well as the Android app on Google Play - make sure to download the latest version (3.3.2) before the conference starts.
New this year, keynote access will be assigned on a first-come, first-serve basis during badge pickup. Be sure to swing by Moscone West tomorrow, Wednesday, May 27th between 9AM-8PM PDT to pick up your badge (full badge pick-up schedule). Don’t forget to bring your government-issued photo ID and a copy of your ticket (on your phone or a printed copy). If you’re an Academic attendee, please remember to bring proof of eligibility. You might want to read through the pro tips in our FAQ before you arrive to learn how to best navigate the conference.
Last but not least, we’re looking forward to kicking back and relaxing with you at the After Hours party during the evening of Day 1. Expect good food, good drinks, and a few Googley surprises. Be sure to check your email during the event for further instructions.
Can’t join us in person? Don’t worry, we’ve got you covered! Whether you’re looking to to experience I/O with other devs in your neighborhood, or if you’ll be streaming it live from your couch, here are some ways you can connect with I/O in real-time:
We’re looking forward to seeing you in person or remotely on Thursday and Friday. Don’t forget to join the social conversation at #io15!
Today we launched the official schedule for Google I/O 2015 at google.com/io. At this year’s event, happening May 28-29 in San Francisco, we’ll host more than 200 talks centered around some important topics which matter to you: Design & Develop, to help you build beautiful, powerful apps; Earn & Engage, where we’ll cover tools to grow your user base and create sustainable, successful businesses; and What’s Next, a peek into Google’s emerging platforms. With just over three weeks until Google I/O, start planning your schedule today!
Whether you’re attending in person or virtually, you can get started building your schedule. Don’t worry about converting the start and end times to your local time zone, we’ve taken care of that for you. Simply sign in to the I/O website to add talks directly to “My Schedule.” If you’re using Chrome (on Android or desktop), you can enable notifications for events added to your schedule so that you can be sure to catch them. That way, you won’t miss exciting sessions like Astro Teller’s “Helping Moonshots Survive Contact with the Real World” or an update from the ATAP team on some cool new projects they’re working on. All sessions will be livestreamed, so whether you’re watching from one of the 400 I/O Extended Locations around the world or the comfort of your own desk, we’ve got you covered.
In addition to the traditional breakout sessions, which are livestreamed, if you’re attending in person, you’ll also get a chance to go to more than 100 sandbox talks. These intimate, 20-minute talks are often more technical, and the smaller size means that you’ll get a chance to interact directly with the Googlers teaching them. Together, you can roll up your sleeves and tackle topics ranging from “Memory Performance & Tooling” to “What's new in the Google Play Developer Console.” Most sandbox talks will happen twice throughout the two-day event, so you’ll have more chances to participate.
Don’t forget to save time in your schedule for a code lab or two. Back by popular demand, these self-paced workshops will showcase a variety of technologies from Google on mobile, wearables, and Cloud to name a few. We’ll provide the workstations and tablets for use on-site - just bring yourself any time during the two days of I/O! If you have your own device, Googlers will be on hand to help you get set up so you can jump into it.
We’re getting really excited about Google I/O 2015 and today’s schedule is just a preview of what’s to come. We’ll be adding more sessions, sandbox talks, and events to the schedule as we get closer to I/O. But, we can’t give everything away beforehand. Be sure to check the agenda again after the keynote on Day 1, for those top secret talks. We look forward to connecting with you in-person, at I/O Extended or via I/O Live in a few weeks!