Warning: Table './devblogsdb/cache_page' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'http://www.softdevblogs.com/?q=aggregator&page=1' in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc on line 135

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 729

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 730

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 731

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 732
Software Development Blogs: Programming, Software Testing, Agile, Project Management
Skip to content

Software Development Blogs: Programming, Software Testing, Agile Project Management

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Feed aggregator
warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/common.inc on line 153.

The Golden Age of x86 Gaming

Coding Horror - Jeff Atwood - Fri, 05/20/2016 - 23:05

I've been happy with my 2016 HTPC, but the situation has changed, largely because of something I mentioned in passing back in November:

The Xbox One and PS4 are effectively plain old PCs, built on:

  • Intel Atom class (aka slow) AMD 8-core x86 CPU
  • 8 GB RAM
  • AMD Radeon 77xx / 78xx GPUs
  • cheap commodity 512GB or 1TB hard drives (not SSDs)

The golden age of x86 gaming is well upon us. That's why the future of PC gaming is looking brighter every day. We can see it coming true in the solid GPU and idle power improvements in Skylake, riding the inevitable wave of x86 becoming the dominant kind of (non mobile, anyway) gaming for the forseeable future.

And then, the bombshell. It is all but announced that Sony will be upgrading the PS4 this year, no more than three years after it was first introduced … just like you would upgrade a PC.

Sony may be tight-lipped for now, but it's looking increasingly likely that the company will release an updated version of the PlayStation 4 later this year. So far, the rumoured console has gone under the moniker PS4K or PS4.5, but a new report from gaming site GiantBomb suggests that the codename for the console is "NEO," and it even provides hardware specs for the PlayStation 4's improved CPU, GPU, and higher bandwidth memory.

  • CPU: 1.6 → 2.1 Ghz CPU
  • GPU: 18 CUs @ 800Mhz → 36 CUs @ 911Mhz
  • RAM: 8GB DDR5 176 GB/s → 218 GB/s

In PC enthusiast parlance, you might say Sony just slotted in a new video card, a faster CPU, and slightly higher speed RAM.

This is old hat for PCs, but to release a new, faster model that is perfectly backwards compatible is almost unprecedented in the console world. I have to wonder if this is partially due to the intense performance pressure of VR, but whatever the reason, I applaud Sony for taking this step. It's a giant leap towards consoles being more like PCs, and another sign that the golden age of x86 is really and truly here.

I hate to break this to PS4 enthusiasts, but as big of an upgrade as that is – and it really is – it's still nowhere near enough power to drive modern games at 4k. Nvidia's latest and greatest 1080 GTX can only sometimes manage 30fps at 4k. The increase in required GPU power when going from 1080p to 4k is so vast that even the PC "cost is no object" folks who will happily pay $600 for a video card and $1000 for the rest of their box have some difficulty getting there today. Stuffing all that into a $299 box for the masses is going to take quite a few more years.

Still, I like the idea of the PS4 Neo so much that I'm considering buying it myself. I strongly support this sea change in console upgradeability, even though I swore I'd stick with the Xbox One this generation. To be honest, my Xbox One has been a disappointment to me. I bought the "Elite" edition because it had a hybrid 1TB drive, and then added a 512GB USB 3.0 SSD to the thing and painstakingly moved all my games over to that, and it is still appallingly slow to boot, to log in, to page through the UI, to load games. It's also noisy under load and sounds like a broken down air conditioner even when in low power, background mode. The Xbox One experience is way too often drudgery and random errors instead of the gaming fun it's supposed to be. Although I do unabashedly love the new controller, I feel like the Xbox One is, overall, a worse gaming experience than the Xbox 360 was. And that's sad.

Or maybe I'm just spoiled by PC performance, and the relatively crippled flavor of PC you get in these $399 console boxes. If all evidence points to the golden age of x86 being upon us, why not double down on x86 in the living room? Heck, while I'm at it … why not triple down?

This, my friends, is what tripling down on x86 in the living room looks like.

It's Intel's latest Skull Canyon NUC. What does that acronym stand for? Too embarrassing to explain. Let's just pretend it means "tiny awesome x86 PC". What's significant about this box is it contains the first on-die GPU Intel has ever shipped that can legitimately be considered console class.

It's not cheap at $699, but this tiny box bristles with cutting edge x86 tech:

  • Quad-core i7-6770HQ CPU (2.6 Ghz / 3.5 Ghz)
  • Iris Pro Graphics 580 GPU with 128MB eDRAM
  • Up to 32GB DDR4-2666 RAM
  • Dual M.2 PCI x4 SSD slots
  • 802.11ac WiFi / Bluetooth / Gigabit Ethernet
  • Thunderbolt 3 / USB 3.1 gen 2 Type-C port
  • Four USB 3.0 ports
  • HDMI 2.0, mini-DP 1.2 video out
  • SDXC (UHS-I) card reader
  • Infrared sensor
  • 3.5mm combo digital / optical out port
  • 3.5mm headphone jack

All impressive, but the most remarkable items are the GPU and the Thunderbolt 3 port. Putting together a HTPC that can kick an Xbox One's butt as a gaming box is now as simple as adding these three items together:

  1. Intel NUC kit NUC6i7KYK $699
  2. 16GB DDR4-2400 $64
  3. Samsung 950 Pro NVMe M.2 (512GB) $317

Ok, fine, it's a cool $1,080 plus tax compared to $399 for one of those console x86 boxes. But did I mention it has skulls on it? Skulls!

The CPU and disk performance on offer here are hilariously far beyond what's available on current consoles:

  • Disk performance of the two internal PCIe 3.0 4x M.2 slots, assuming you choose a proper NVMe drive as you should, is measured in not megabytes per second but gigabytes per second. Meanwhile consoles lumber on with, at best, hybrid drives.

  • The Jaguar class AMD x86 cores in the Xbox One and PS4 are about the same as the AMD A4-5000 reviewed here; those benchmarks indicate a modern Core i7 will be about four times faster.

But most importantly, its GPU performance is on par with current consoles. NUC blog measured 41fps average in Battlefield 4 at 1080p and medium settings. Digging through old benchmarks I find plenty of pages where a Radeon 78xx or 77xx series video card, the closest analog to what's in the XBox One and PS4, achieves a similar result in Battlefield 4:

I personally benchmarked GRID 2 at 720p (high detail) on all three of the last HTPC models I owned:

MaxMinAvg i3-4130T, HD 4400322127 i3-6100T, HD 530503239 i7-6770HQ, Iris Pro 580965978

When I up the resolution to 1080p, I get 59fps average, 38 min, 71 max. Checking with Notebookcheck's exhaustive benchmark database, that is closest to the AMD R7 250, a rebranded Radeon 7770.

What we have here is legitimately the first on-die GPU that can compete with a low-end discrete video card from AMD or Nvidia. Granted, an older one, one you could buy for about $80 today, but one that is certainly equivalent to what's in the Xbox One and PS4 right now. This is a real first for Intel, and it probably won't be the last time, considering that on-die GPU performance increases have massively outpaced CPU performance increases for the last 5 years.

As for power usage, I was pleasantly surprised to measure that this box idles at 15w at the Windows Desktop doing nothing, and drops to 13w when the display sleeps. Considering the best idle numbers I've measured are from the Scooter Computer at 7w and my previous HTPC build at 10w, that's not bad at all! Under full game load, it's more like 70 to 80 watts, and in typical light use, 20 to 30 watts. It's the idle number that matters the most, as that represents the typical state of the box. And compared to the 75 watts a console uses even when idling at the dashboard, it's no contest.

Of course, 4k video playback is no problem, though 10-bit 4K video may be a stretch. If that's not enough — if you dream bigger than medium detail 1080p gameplay — the presence of a Thunderbolt 3 port on this little box means you can, at considerable expense, use any external GPU of your choice.

That's the Razer Core external graphics dock, and it's $499 all by itself, but it opens up an entire world of upgrading your GPU to whatever the heck you want, as long as your x86 computer has a Thunderbolt 3 port. And it really works! In fact, here's a video of it working live with this exact configuration:

Zero games are meaningfully CPU limited today; the disk and CPU performance of this Skull Canyon NUC is already so vastly far ahead of current x86 consoles, even the PS4 Neo that's about to be introduced. So being able to replace the one piece that needs to be the most replaceable is huge. Down the road you can add the latest, greatest GPU model whenever you want, just by plugging it in!

The only downside of using such a small box as my HTPC is that my two 2.5" 2TB media drives become external USB 3.0 enclosures, and I am limited by the 4 USB ports. So it's a little … cable-y in there. But I've come to terms with that, and its tiny size is an acceptable tradeoff for all the cable and dongle overhead.

I still remember how shocked I was when Apple switched to x86 back in 2005. I was also surprised to discover just how thoroughly both the PS4 and Xbox One embraced x86 in 2013. Add in the current furor over VR, plus the PS4 Neo opening new console upgrade paths, and the future of x86 as a gaming platform is rapidly approaching supernova.

If you want to experience what console gaming will be like in 10 years, invest in a Skull Canyon NUC and an external Thunderbolt 3 graphics dock today. If we are in a golden age of x86 gaming, this configuration is its logical endpoint.

[advertisement] Find a better job the Stack Overflow way - what you need when you need it, no spam, and no scams.
Categories: Programming

Android Wear 2.0 Developer Preview

Android Developers Blog - Fri, 05/20/2016 - 20:03
Posted by David Singleton, VP of Engineering

Today at Google I/O, we announced the most significant Android Wear update since its launch two years ago: Android Wear 2.0. Based on what we’ve learned from users and developers, we're evolving the platform to improve key experiences on the watch, including watch faces, messaging, and fitness.

Android Wear 2.0 will be available to users this fall. We’re making a Developer Preview available today and plan to release additional updates throughout the summer, so please send us your feedback early and often. Also, please keep in mind that this preview is a work in progress, and is not yet intended for daily use.

What’s new?
  • Standalone apps: Your Android Wear app can now access the internet directly over Bluetooth, Wi-Fi, or cellular, without relying on the Data Layer APIs. This means your app can continue to offer full functionality even if the paired phone is far away or turned off. Removing the requirement to use the Data Layer APIs also enables your app to offer the same functionality regardless of whether the watch is paired with an Android or iPhone. In addition, your app can receive push messages via Google Cloud Messaging and access AccountManager directly on the watch.
  • New system UI: We’ve made a number of UI changes that will help users interact with your app more easily. A new notification design and app launcher make it easier to take action on notifications and launch your app, and a new watch face picker makes switching watch faces fast and fun. The system UI also adopts a dark color palette and makes better use of round displays. We recommend you test your existing Android Wear app and notifications with the new UI.
  • Material design for wearables: The new Material Design for Wearables guide will help you make your app’s interface more consistent, intuitive, and beautiful. The new navigation drawer and action drawer components in the Wearable support library make it easy to align your app with the system UI’s new vertical layout. We’ve also provided guidance on how to adopt the dark color palette.
  • Complications API: Complications are bite-sized pieces of information displayed to users directly on the watch face. Android Wear now has a system-wide framework to enable any app to show data on any watch face that implements the API. As an app developer, you can choose to publish your data to a wide variety of watch faces and make it easier for users to launch your app from the watch face. As a watch face developer, you can rely on data from a rich ecosystem of Wear apps without having to worry about sourcing it yourself.
  • Input methods: Keyboard and handwriting input methods open up new ways to accept text from users on the watch. You can now use these new input methods in your app via RemoteInput and EditText, and notifications that already use RemoteInput for voice replies will automatically support the new input methods. We’ve ported over the full Android input method framework to the watch, so you can even create your own custom input methods if you wish.
  • New MessagingStyle notification: Android Wear 2.0 includes a new notification template with a layout optimized for quick and responsive messaging. This template is also available on phones and tablets using Android N, so creating a great cross-device messaging experience is a breeze.
  • Google Fit platform: Improvements to the Google Fit platform make it easier for your app to use fitness data and detect activity. You can register a PendingIntent to be notified of changes in the fitness data store, so you don’t have to keep querying for changes to weight, nutrition, and other data types. It’s also easier for your app to get a consistent daily step count on Android Wear -- with HistoryApi.readDailyTotal(), a step recording subscription is no longer required. Finally, apps will soon be able to detect (with consent) when the user starts walking, running, or biking.
  • Support for Android N: Your Android Wear app can now take advantage of the latest Android N features such as Data Saver and Java 8 Lambda support. Also, let’s not forget the new emojis!
Get started and give us feedback!The Android Wear 2.0 Developer Preview includes an updated SDK with tools, and system images for testing on the official Android emulator, the LG Watch Urbane 2nd Edition LTE, and the Huawei Watch.
To get started, follow these steps:
  1. Take a video tour of the Android Wear 2.0 developer preview
  2. Update to Android Studio v2.1.1 or later
  3. Visit the Android Wear 2.0 Developer Preview site for downloads and documentation
  4. Get the emulator system images through the SDK Manager or download the device system images
  5. Test your app with your supported device or emulator
  6. Give us feedback
We will update this developer preview over the next few months based on your feedback. The sooner we hear from you, the more we can include in the final release, so don't be shy!
Categories: Programming

Bring Your Android App to Chromebooks

Android Developers Blog - Fri, 05/20/2016 - 19:47
Posted by Dylan Reid and Elijah Taylor, Software Engineers, Chrome OS

Users love Chromebooks for their speed, security and simplicity. According to IDC1, in Q1 of this year Chromebook shipments overtook Macs in the U.S. That means, thanks to your support, in the U.S. Chrome OS is now the second most popular PC operating system.  As we continue to increase our focus on mobility, we want to make sure your apps are easily available on this new form factor, reaching the many Chrome devices while maintaining a great experience.

Today we announced that we’re adding Android apps to Chromebooks, which means users will be able to install the apps they know and love. Later this year you can expand your app’s reach to a new hardware platform and wider audience while maximizing the Google Play ecosystem. With expanded app availability, new use cases and improved workflows can be achieved for all Chromebook users, whether for personal use, for work or for education.  As a developer we encourage you to test your app as described here.




Developers can start to optimize their app for the Chromebook form factor in advance of launch later in 2016. Here are some of the benefits:
  • Android Apps can be shown in 3 different window sizes to allow the best experience
  • Users can multi-task with multiple Android apps in moveable windows along with a full desktop browser, all within the familiar Chrome OS interface.
  • Keyboard, mouse, and touch input will seamlessly work together
  • Users will get Android notifications on their Chromebooks
  • Android apps benefit from the Wifi or Bluetooth connectivity setup by the user or the administrator
  • File sharing is seamless between Chrome and Android apps through the Files app
  • Performance of demanding apps such as games or design apps is excellent
In addition to being a great personal device, one of the reasons Chromebooks are popular in schools and businesses is that you can centrally manage and configure them with 200+ policies. Administrators can manage Android apps on Chromebooks using the same Admin Console. In addition to whitelisting or push installing specific apps to users, admins can selectively enable them for parts of their organization while disabling in others.

Please come to our Google I/O session on May 19th at 4 pm. You will hear directly  from our friendly engineers on how to optimize your Android app for Chromebooks. We are making the feature available in early June on Asus Chromebook Flip, Chromebook Pixel (2015) and Acer Chromebook R11 specifically for developers to have sufficient time to test their apps. For the actual launch and thereafter we will keep adding support for the following list of devices. Please see detailed instructions on how to get started with testing your apps.

1 - IDC’s Worldwide Quarterly PC Tracker, May 2016
Categories: Programming

And the winners of the Google Play Awards are…

Android Developers Blog - Fri, 05/20/2016 - 19:43

Posted by Purnima Kochikar, Director, Apps and Games Business Development, Google Play

During a special ceremony last tonight at Google I/O, we honored ten apps and games for their outstanding achievements as part of the inaugural Google Play Awards.

As we shared onstage, when you look at how Google Play has evolved over the years, it’s pretty amazing. We’re now reaching over 1 billion users every month and there’s literally something for everyone. From real-time multiplayer to beautiful Indie games, industry changing startups to innovative uses of mobile technology, developers like you continue to push the boundaries of what apps can do.

Congrats to the following developers in each category!

Categories: Programming

Discovery Projects Work for Agile Contracts

Marcus Blankenship and I wrote an article, Stay Agile with Discovery, to discuss how to help your clients see the benefits of working in an agile or more agile way.

We have seen too many clients want “agile” and not want all the responsibilities that being a Product Owner or customer involves. If your client asks you to be agile and then demands you estimate “everything” and provide a fixed cost, fixed scope “agile” contract, you don’t have to say, “NO.”

You can say, let’s try a discovery project so we (as the provider) can explore what it would take to do “everything.” As we finish this first discovery project, where we will provide working product, you can provide us feedback. Based on that feedback, we might do another discovery project. In fact, you can work in month-long (or two-week long) discovery projects all the way through. Your client can ask for changes that you incorporate into the next discovery.

That’s just one way to help people learn about collaboration and resilience over contracts and guarantees.

If you are a Product Owner or a person who represents the customer, you might like our Practical Product Owner workshop.

Categories: Project Management

Keeping dependencies up-to-date in Maven

Xebia Blog - Fri, 05/20/2016 - 09:33
Keeping your dependencies up-to-date is more important than ever in modern projects. Everything is connected to the internet and needs to be secure. New vulnerabilities in libraries are found, exploited and patched within days. We use a lot of dependencies, and due to continuous delivery some of your dependencies will need updating every day. Solid

Metrics: Decisions Needed When Using A Cumulative Flow Diagrams

1


The simple cumulative flow diagram (CFD) used in Metrics: Cumulative Flow Diagrams – Basics  and in more complex versions provide a basis for interpreting the flow of work through a process. A CFD can help everyone from team members to program managers to gain insight into issues, cycle time and likely completion dates. Learning to read a CFD will provide a powerful tool to spot issues that a team, teams or program may be facing. But to get the most value a practitioner needs to decide on granularity, a unit of measure, and time frame needed to make decisions.

Granularity / Complexity.  As we have seen, organizations use CFDs to reflect any consistent process. In order to reflect the complexity of software development or maintenance requires identifying the flow of work. Often organizations begin with a process map when constructing a CFD or kanban board.  In order to develop a CFD, it is rarely necessary to include the all of the tasks, activities and parameters, rather identify the major state changes.  A few examples of state changes for a piece of work could include story definition, design, coding and unit testing and integration testing (just of few of the typical state changes between an idea and functional code). In terms of granularity, a CFD is typically more a reflection of a value chain map than a process map. The decision of the level of granularity and complexity is always a balance between the cost and effort needed to collect, analyze and display the data.  Most importantly, granularity is driven by the data needed to inform key the decisions. More complexity generates a higher cost of data collection and a larger the potential impact on the process being measured.

Unit of Measure: Value, Stories or Points. All CFD’s have two axes: time frame and units of measure. Time is the X-axis is some unit of time (see below) and the Y-axis is a measure of what the team is delivering.  The most common CFD uses stories to measure the flow of work through the process.  The common problem with using stories is that the varying levels of granularity can mean that one story is far larger than another. Story points and function points are techniques used to consistently size stories.  Value is another [WHAT?] used to develop a consistent understanding of the amount work flowing through the process.  In scenarios that require combining the performance of multiple teams, a consistent sizing mechanism makes reporting easier for groups with different perspectives to understand.

Timeframe or Reporting Period.  In most Agile and lean efforts, the data needed to develop and maintain cumulative flow diagrams is available on a continuous basis. I recommend having the CFD available to review both at daily stand-ups as well as for higher-level status meetings.  At a team level, I typically show a chart that reflects the planning period (sprint length for Scrum or Scrumban) and a chart that reflects the process for release.  At a program level (multiple teams or program increment in SAFe), I generate both a planning period and release CFD that reflects all teams. 

The decisions on granularity, a unit of measure and timeframe for reporting shape the kind of decisions a team or manager can make using a CFD.  A simple CFD will not be able to pinpoint problems in specific process steps, but will require relatively little effort to create and maintain. Similarly, decisions about the unit of measure and timeframe change frame what can and can’t be done with a CFD.    


Categories: Process Management

The Mobile Web Is Open for Business

Google Code Blog - Thu, 05/19/2016 - 22:02

Originally posted on Google Chromium Blog


Posted by Rahul Roy-chowdhury, VP Product Management, Chrome
One of the virtues of the web is its immense reach, providing access to information for all internet users regardless of device or platform. With the explosion of mobile devices, the web has had to evolve to deliver great experiences on the small screen. This journey began a few years ago, and I am excited to be able to say that the mobile web is open for business. Join me live at Google I/O at 2:00pm PT as I discuss the state of the union and how to take advantage of new experiences like AMP and Progressive Web Apps (PWAs) to deliver a best-in-class mobile experience.





If you don't have time to tune in today, we'll post the recording shortly on our YouTube channel. In the meantime, here's a quick recap of the four aspects to focus on while building a great mobile web experience.
AccelerateExpressiveness has always been a strength of the web, but sometimes that expressiveness can come at the cost of loading time or smooth scrolling. For example, event listeners allow developers to create custom scrolling effects for their website, but they can introduce jank when Chrome needs to wait for any touch handler to finish before scrolling a page. With the new passive event listener API, we've given control back to the developer, who can indicate whether they plan to handle the scroll or if Chrome can begin scrolling immediately.

Speed also goes beyond user experience gains. Studies have shown that 40% of users will leave a retail site if it takes longer than 3 seconds to load. To get a blazing fast web page in front of users immediately, we've introduced Accelerated Mobile Pages (AMP). With AMP, we have seen pages load 4x faster and use up to 10x less data. AMP is already seeing great adoption by developers, with more than 640,000 domains serving AMP pages.

EngageProgressive Web Apps (PWAs) let developers take advantage of new technologies to provide users with an engaging experience from the very first moment. Thanks to a new API called service worker, all the important parts of a web app can be cached so that it loads instantly the next time a user opens it. This caching also allows developers to continue to provide a fast and meaningful experience even when the user is offline or on an unreliable network. PWAs provide elements of polish too: an icon users can add to their home screen, a splash screen when they open it, and a full-screen experience with no address bar.
image 9.gif
JalanTikus Progressive Web App

ConvertLogging in is a ubiquitous pattern on the web, but 92% of users abandon a task if they've forgotten their password. To alleviate this pain, Chrome's password manager enables more than 8-billion sign-ins per month, and we're expanding support with the Credential Management API. Using this API allows web apps to more closely integrate with the password manager and streamline the sign-in process.

Even once logged in, checkout can be a complicated process to complete. That's why we're also investing in capabilities such as the Web Payment API and enhanced autofill, assisting users by accurately filling in forms for them. We've found that forms are completed 25% more when autofill is available, increasing odds for conversion.

RetainOnce the first interaction with a user is complete, re-engaging on the web can be tricky. Push notifications address this challenge on native apps, and now the push API is available on the web as well. This allows developers to reconnect with their users even if the browser isn't running. Over 10 billion push notifications are sent every day in Chrome, and it’s growing quickly. Jumia found that users who enabled push notifications opened those notifications 38% of the time and recovered carts 9x more often than other users.
    Jumia Mobile Web Push Notifications

Success StoriesAs developers begin embracing these new technologies, we're seeing success stories from around the world. AliExpress, one of the world's largest e-commerce sites, built a PWA and saw conversion rates for new users increase by 104%. They've also found that users love the experience, spending 74% more time on their site per session.

Another great example is BaBe, an Indonesian news aggregator service that was app-only until they developed a PWA with feature parity to their native app. Since launching they have found it to perform even faster than their native app, and have seen comparable time spent per session: 3 minutes on average on both their mobile website and their native app.

Even developers who have only begun implementing certain PWA technologies have seen success. United eXtra, a leading retailer in Saudi Arabia, implemented push notifications and saw users who opted-in returned 4x more often. These returning users also spent 100% more than users returning from other channels.

These are just a handful of businesses that have begun reaping the benefits of investing in Progressive Web Apps. Learn more about our how partners are using PWA technologies to enhance their mobile web experience.
Screen Shot 2016-05-17 at 6.06.16 PM.png
Subscribe to our YouTube channel to stay up to date with all the mobile web sessions from Google I/O, which we will continue to upload as they’re ready. Thanks for coming, thanks for watching, and most of all, thank you for developing for the web!



Categories: Programming

Build deeper integrations with Google Classroom

Google Code Blog - Thu, 05/19/2016 - 20:30

Originally posted on Google for Education blog

Posted by Ed Kupershlak, Google Classroom Software Engineer

Last year, we launched the Classroom API to make it easier for administrators to manage classes, and for developers to integrate their applications with Classroom. Since that time, hundreds of applications have integrated with Classroom to help teachers gamify their classes, improve students’ writing skills, build interactive presentations and more.

Do more with coursework in the Classroom API

Today, we’re introducing new coursework endpoints that allow developers to access assignments, grades and workflow. Learning tools can focus on creating great content and, in turn, use Classroom to manage the workflow for assignments created with this content. Gradebooks and reporting systems can now also sync grades with Classroom, eliminating the need for teachers to manually transfer grades.

Several partners have been helping to test the new functionality, including:

  • OpenEd, which provides a library of open education resources for K-12 teachers
  • Tynker, a creative computing platform for teaching students to code
  • GeoGebra, a visual mathematics platform that allows students and teachers to author interactive mathematics content

Access course Drive folders, groups and materials

In addition to the coursework endpoints, we’ve added new functionality to our existing course and roster API endpoints. Developers can now access course Drive folders, groups and materials. Applications can use this new functionality to store files in the same Drive folder as the rest of the resources in a class, or use course groups to manage file sharing permissions.

In the coming months, we’ll be adding more coursework management capabilities. When we do, we’ll post updates to the developer forum and issue tracker. We look forward to working together to make it even easier for teachers and students to use the tools they love with Classroom. Developers, please review the documentation, the FAQ, and ask questions on Stack Overflow. Also, don’t forget to let us know what you’re building using the #withClassroom hashtag on Twitter or G+. And teachers, check out this list of applications that work well with Classroom today.

Categories: Programming

Daydream Labs: exploring and sharing VR’s possibilities

Google Code Blog - Thu, 05/19/2016 - 19:36

Posted by Andrey Doronichev, Group Product Manager, Google VR

In Daydream Labs, the Google VR team explores virtual reality’s possibilities and shares what we learn with the world. While it’s still early days, the VR community has already come a long way in understanding what works well in VR across hardware, software, video, and much more. But, part of what makes developing for VR so exciting is that there’s still so much more to discover.

Apps are a big focus for Daydream Labs. In the past year, we’ve built more than 60 app experiments that test different use cases and interaction designs. To learn fast, we build two new app prototypes each week. Not all of our experiments are successful, but we learn something new with each one.

For example, in one week we built a virtual drum kit that used HTC Vive controllers as drumsticks. The following week, when we were debating how to make typing in VR more natural and playful, we thought — “what if we made a keyboard out of tiny drums?”

We were initially skeptical that drumsticks could be more efficient than direct hand interaction, but the result surprised us. Not only was typing with drumsticks faster than with a laser pointer, it was really fun! We even built a game that lets you track your words per minute (mine was 50 wpm!).

Daydream Labs is just getting started. This post is the first in an ongoing series sharing what we’ve learned through our experiments so stay tuned for more! You can also see more of what we’ve learned about VR interactions, immersion, and social design by watching our Google I/O talks on the live stream.

Categories: Programming

VR at Google - Jump, Expeditions, and Daydream

Google Code Blog - Thu, 05/19/2016 - 17:37

Posted by Nathan Martz, Product Manager, Daydream

Two years ago at Google I/O, we introduced Google Cardboard, a simple and fun way to experience virtual reality on your smartphone. Since then, we've grown the Google VR family with Expeditions and Jump, and this week at Google I/O, we announced Daydream, a platform for high quality mobile virtual reality.

Jump—in the hands of creators and more cameras on the way

We announced Jump, cameras and software to make producing beautiful VR video simple, at I/O last year. Jump cameras are now in the hands of media partners such as Paramount Pictures, The New York Times, and Discovery Communications. Virtual reality production companies including WEVR, Vrse, The Secret Location, Surreal, Specular Theory, Panograma, and RYOT also have cameras in hand. We can't wait to see the wide variety of immersive videos these creators will share with a growing VR audience.

To enable cameras in a range of shapes and sizes and price points. Today, the Jump ecosystem expands with two partnerships to build Jump cameras. First, we're working with Yi Technology on a rig based around their new 4K Action Cam, coming later this year.

With Jump, we've also seen incredible interest from filmmakers. Of course when you're creating the best content you want the absolute highest quality, cinema-grade camera available. To help create this, we're collaborating with IMAX to develop a very high-end cinema-grade Jump camera.

Expeditions—One year, one million students

More than one million students from over 11 countries have taken an Expedition since we introduced the Google Expeditions Pioneer Program last May. The program lets students take virtual reality trips to over 200 places including Buckingham Palace, underwater in the Great Barrier Reef—and in seventh grader Lance Teeselink’s case—Dubai’s Burj Khalifa, the tallest building in the world.

And soon, students will have even more places to visit, virtually, thanks to new partnerships with the Associated Press and Getty Images. These partners will provide the Expeditions program with high-resolution VR imagery for current events to help students better understand what’s happening around the world.

Daydream—high quality VR on your Android smartphone

Daydream is our new platform for high quality mobile virtual reality, coming this fall. Over time, Daydream will encompass VR devices in many shapes and sizes, and Daydream will enable high quality VR on Android smartphones.

We are working with a number of smartphone manufacturers to create a specification for Daydream-ready phones. These smartphones enable VR experiences with high-performance sensors for smooth, accurate head tracking, fast response displays to minimize blur, and powerful mobile processors. Daydream-ready phones take advantage of VR mode in Android N, a set of powerful optimizations for virtual reality built right into Android.

With Daydream, we've also created a reference design for a comfortable headset and an intuitive controller. And, yes we're building one too. The headset and controller work in tandem to provide rich, immersive experiences. Take a look at how the controller lets you interact in VR:

Build for Daydream

The most important part of virtual reality is what you experience. Some of the world's best content creators and game studios are bringing their content to Daydream. You will also have your favorite Google apps including Play Movies, Street View, Google Photos, and YouTube.

You can start building for Daydream today. The Google VR SDK now includes a C++ NDK. And if you develop with Unreal or Unity, Daydream will be natively supported by both engines. Visit the Daydream developer site where you can get access the tools. Plus, with Android N Developer Preview 3 you can use the Nexus 6P as a Daydream developer kit.

This is just the beginning for Daydream. We’ll be sharing much more on this blog over the coming months. We’re excited to build the next chapter of VR with you.

Categories: Programming

Quote of the Day

Herding Cats - Glen Alleman - Thu, 05/19/2016 - 17:32

Do not deny the classical approach, simply as a reaction, or you will have created another pattern and trapped yourself there.
— Bruce Lee

Any new innovative or revolutionary suggestion in the software development world, needs to be anchored on the established principles of how to manage the spend of other people's money. If it's your own money, spend as you please - no one cares.

But if you're spending other people's money to produce value in exchange for that money, those providing the money likely have a fiduciary obligation to know something to some level of confidence how much it will cost, when it will be done, and what they'll get for that that cost and time.

To suggest otherwise without a foundation of principles by which this new and innovative idea can be tested is selling snake oil to the uninformed. That approach has worked since the dawn of time - I have the solution to your unnamed ailment, just try this magic elixir and all will be better. 

Categories: Project Management

Velocity is Not Acceleration

I see a lot of confusion around velocity in new-to-agile teams.

Too many people treat velocity as an acceleration measurement. That is, they expect velocity to increase to some large number, as a stable state.

Velocity is a rate of change coupled with direction. When managers think they can measure a team with velocity, they confuse velocity with acceleration.

As I enter a highway, I have a higher rate of acceleration. As I continue to drive, I achieve a stable state: I get into a lane and maintain a constant speed. (Well, with any luck.) I stay stable with respect to the road (my direction). My velocity stays the same—especially if I use my cruise control. With a reasonable velocity—that might change a little with traffic—I can get to my destination.

A note on direction:  I live in the Boston area, where roads curve. North, South, East, and West are useful to other people. We have highways that literally point south that have a designation of “North.” They curve. I don’t find these directions useful. I am more likely to talk about the exit number on a highway or the gas station on a side road. Direction is as contextual as is velocity.

Direction for a project is much more about finishing features. How close to “done” are you? More on that below.

When managers try to use velocity as acceleration, they create schedule games. See Double Your Velocity. That often leads to people taking shortcuts and incurring technical debt.

What can you use instead of velocity? The feature burnup/burndown chart and the product backlog burnup chart.

Program.Feature.Chart_ This chart is an example of a feature burnup/burndown chart.

You chart the total number of features (the green line that wiggles at the top), the features complete (the burnup red line that continues to increase), and the features remaining (the burndown in blue, the line that proceeds down). I like this chart because you can see if things get a little “wonky” during the project.

If you add too many features faster than the team can finish features, you will have a large gap between the green and red lines. The blue line will go up. This chart shows you that. You can see how close to done you are for the project.

Product Backlog Burnup Chart (several iterations/milestones)

Product Backlog Burnup Chart (several iterations/milestones)

I also like the product backlog burnup chart. This shows how much progress a team (or teams) make on all the feature sets. (That helps people realize they should define feature sets. Feature sets help the team see where the product is headed.)

In this chart, the team works on feature set 1 (FS 1) and feature set 2 (FS 2). Those stories are more valuable than anything in feature set 3.

You can see that feature set 2 increased in the number of stories for the 5th milestone/iteration. That also helps people understand when they can expect the project to be done.

Measuring velocity can help a team see what’s happening. See Value of Burndown and Burnup Charts.

However, velocity is for a team. Velocity helps a team see its context over some time period. They get to decide how to show it and what to do about it. If management wants to see progress, the team can measure the features complete, remaining, total chart and the product backlog burnup chart. (I would also measure cumulative flow to see how much work in progress the team has.)

Don’t measure velocity to see progress.  That’s not the measurement you want or need.

Categories: Project Management

Writing Workshop Starts on August 24, 2016

I had a great time with my previous version of the Non-Fiction Writing Workshop: Write Non-Fiction to Enhance Your Business and Reputation. I am offering it again, starting this August 24.

I added another week, so you have the chance to practice more. I am also offering a personal accountability option. If you want, you can track your writing (words or minutes) in a group spreadsheet.

If you want to improve your non-fiction, start with your non-fiction writing, or nudge yourself to writing that book, please join me in the workshop. I’d love to work with you.

Categories: Project Management

Enhancing Android Pay APIs

Android Developers Blog - Thu, 05/19/2016 - 02:28
Posted by Pali Bhat, Senior Director, Product Management

Today, we’re enhancing our APIs, making it easier than ever for the developer community to integrate with Android Pay. With just a few lines of code, you can enable quick and seamless checkout to help increase purchase conversions and ongoing engagement.

Improve conversions within apps

We’ve been working with popular apps such as Airbnb, Yelp Eat24, Kickstarter, TicketMaster, Uber and many others to bring the ease of speedy checkouts to apps. We also want to make the same great in-app experience available to all developers, big or small. So we’re taking a few steps:

  • Earlier today, we announced Android Instant Apps, which gives users the ability to pay using Android Pay with a single tap, without the friction of getting a user to install the app to complete their transaction. 

Example of Android Pay in Android Instant Apps
  • We’re opening the Android Pay API to all developers selling physical goods and services in markets where Android Pay is available—just sign up at developers.google.com/android-pay/
  • We’ve teamed up with payment processors globally so developers can integrate Android Pay with their Android apps in just a few hours.

Enhance mobile web payments

Many users continue to make purchases on mobile sites. But buying something from a website on your phone can be clumsy and cumbersome, which results in much lower conversion rates on mobile sites than on desktop sites.

To make painful web checkout forms a thing of the past, we will be launching PaymentRequest, a brand new web API that we are developing together with Chrome and standardizing across browsers through W3C. Android Pay will be part of this API to allow users to pay on mobile websites as they do in-store and in-app.

Example of Android Pay in PaymentRequest Drive deeper engagement

Thanks for all the great feedback on our Save to Android Pay API since launch. You spoke and we’ve listened: We think you’ll be thrilled with the latest improvements to the Save to Android Pay API. The following enhancements help developers build stronger loyalty and engagement with new and existing customers:

  • Enable users to add offers, loyalty cards and gift cards in the Android Pay app with the tap of a button. Simply add a deep link to an email, SMS message, push notification or within an app and you’re all set.
  • Enroll new customers into a loyalty program in a variety of ways with the new simplified sign-up feature. Customers can sign-up either in store via a NFC tap or through a sign-up page linked from an Android Pay transaction notification.

Example sign-up feature for Walgreens Balance Reward®  
via Save to Android Pay from transaction notification
We believe that mobile payments can make for a better, more secure shopping experience - so we're in this together for the long haul. We’re building a robust Android Pay ecosystem, one that’s open and scalable, to enable developers to drive mobile payments - and their businesses - forward. We're very excited for the road ahead and we hope you are too.

To learn more about Android Pay and share your feedback, visit our developer pages.
Categories: Programming

What’s new in Google Play at I/O 2016: better betas, the pre-launch report, benchmarks, a new Play Console app, and more

Android Developers Blog - Thu, 05/19/2016 - 02:28
Posted by Purnima Kochikar, Director, Google Play Apps & Games

Google Play reaches over 1 billion monthly active users giving developers the world’s largest app distribution platform. Last year, Play users installed apps 65 billion times. To keep that great momentum going, we’re continuing to listen to your feedback and invest in more ways to help you grow your app or game business. Today, we’re sharing new features that benefit developers of all sizes.


 

Improvements to beta tests and app discovery on Google Play

Beta testing is a crucial tool that many developers use in the Google Play Developer Console to test their apps with real users, gather feedback, and make improvements before launching widely. Open beta tests are helpful to get feedback from a large group of users and allow any user to join a beta test. We're making open beta tests easier to find and participate in: apps that are available only as open betas and aren’t in production yet will soon appear in Play search results, users will be able to opt-in from Play store listings directly, and users will be able to send you private feedback through your Play store listing too.

We'll also be adding a new featured section to the store, called Google Play Early Access, showcasing a hand-picked group of promising open betas that haven’t gone to production yet.

There are more than a million apps available on Google Play and we continue to work on making it easy for people to discover the apps they’ll love. To that end, you’ll start seeing new collections on the store for tasks that might require a combination of apps. For example, when you're buying a house, you’ll see the best apps for finding real estate, keeping notes, getting a mortgage, and travelling in the area in one handy collection. Developers don’t need to take any action to take advantage of this benefit, apps will automatically be chosen. These contextual collections make it easier for users to discover complimentary apps as well as new types of apps.
Users can now opt-in to beta tests from the Play Store An example of a new collection for apps relating to buying a house Improve your app with the Play pre-launch report

Your app business relies on having high quality apps. To achieve quality, your apps need to be tested on a range of real devices before you ship them to your users. Play’s new pre-launch report summarizes issues found when testing your app on Firebase Test Lab for Android on a wide range of devices.

The pre-launch report in the Developer Console Along with diagnostics to help you fix any crashes we detected in your app, your reports will also include screenshots from devices that use different Android versions, languages, and screen resolutions. These can help you find layout issues. We’ve also included early warnings of known security vulnerabilities that may have sneaked into your app -- even via third party libraries you rely on. You can enable the pre-launch report in the Developer Console.

Gain deeper insights from user reviews at a glance and reply to user reviews more easily

Your app reviews offer a wealth of information on what your users like and dislike about your app. We’re expanding on the improvements we made to ratings and reviews earlier this year, to offer you more ways to take advantage of reviews and better engage your audience.

Review benchmarks let you see your app’s rating distribution compared to similar apps in your category for a list of common topics which are relevant for all apps – like design, stability, and speed. You are also able to see how each area impacts your app’s rating. Review topics will let you see your app’s rating distribution for a list of topics which are specific to your app. With this analysis functionality, you can more easily identify what users think of your app and where to focus your improvement efforts.

Review benchmarks in the Developer Console Developers frequently tell us they find replying to reviews valuable as a channel to directly engage their audience and gather feedback. In fact, we have found that users who update their star rating after a developer has responded to their review increase it by an average of 0.7 stars. For developers who have their own customer support solutions, we’re making replying easier with a new Reply to Reviews API. In the last few months, we’ve tested the API with Zendesk and Conversocial, so you can now start replying to reviews directly from those popular platforms or build your own custom integration.



Developers can now reply to reviews on Google Play from platorms such as Zendesk and Conversocial Understand more about user acquisition and conversion, and see how you’re doing compared to others

The User Acquisition performance report in the Developer Console gives you a snapshot of how many users visit your store listing, how many install your app, and how many go on to make purchases. We’ve now added the ability to see user acquisition data by country and you’ll soon be able to see user acquisition benchmarks and compare your app’s conversion rates to similar apps on the Play store. With this data, you can find opportunities to focus your marketing efforts and increase your installs with tools like Store Listing Experiments.


User acquisition country data in the Developer Console
Building apps and games for billions of users

Hundreds of millions of users, many of them in emerging markets, are coming online and, for many of them, their first experience is on an Android device.
 
To help you get your app ready for this opportunity, we’ve created Building for Billions guidelines with a development checklist to help you optimize your app. You can also get more in-depth tips and best practices for expanding to new markets in the accompanying Building for Billions Playbook

To help you meet local expectations when you set your prices and make purchases more attractive to your users, the Developer Console will now automatically round prices to local conventions in each market. For example, for a US app priced at $1.99, a user in Japan would see ¥200 rather than a non-rounded price from a straight FX conversion. You can also set up pricing templates to change pricing for products in bulk. You can make this change in the Developer Console.

While you're working on getting your app ready for billions of users, we've been enhancing the Google Play experience for them too. With improved compression, we've made app updates more data efficient, and we're focusing on making the Play Store itself faster than ever on all connection types.

We’ve also revamped how we select visible apps in key markets like India and Brazil to better showcase apps that are more relevant locally and apps made by local developers. And we continue to add more payment methods in new countries, including carrier billing and gift cards in India and Indonesia.

Two new apps: Get your app data and important notifications on the go, and stay up to date with best practices

To give you access to your data when you need it, and to keep you informed of crucial business updates with notifications, we’re launching the Play Console app. You can access your app’s data including installs, uninstalls, crashes, ratings, and reviews. You can also receive push notifications for important news like when your app update is live on Google Play. And you can even reply to reviews directly in the app, making it easier and quicker to engage your audience when you want to. Get the Play Console app on Google Play today.

Staying on top of all the features and best practices and strategies you should consider when growing your business can be a challenge. We’ve built another app, the Playbook by Google Play. The Playbook is a tailored list, based on your objectives, of the latest articles and videos from Google experts and across the web to help you grow a successful business on Google Play. Join the Playbook beta today and let us know your feedback.
The Play Console app Playbook by Google Play
Finally, we will be soon making some updates to the Developer Distribution Agreement (DDA), which includes the ability for family members to share purchased apps on Google Play. Here you can see the updated DDA.


To learn more about all of these features, tune-in live to ‘What’s new in Google Play for developers’ at 11am PDT / 2pm EDT / 7:00pm GMT+1 on May 19 on the Google Developers YouTube channel.

If you’re attending I/O, come and visit the Google Play sandbox to get your app reviewed by experts.
Whether you’re attending I/O in person, at one of the many I/O Extended events around the world, or just watching from home, you can find more Google Play sessions in the I/O 2016 schedule.
Categories: Programming

Introducing Android Instant Apps

Android Developers Blog - Thu, 05/19/2016 - 02:13
Posted by Suresh Ganapathy, Product Manager

Developers have built amazing Android apps. They use your mobile device to the fullest, including the camera, GPS, and sensors to connect to the real world. They’re beautiful and immersive, with Material Design and smooth animations running at 60 frames per second. They use access to identity and payments to create seamless experiences.

But developers tell us they wish they could bring users into their apps more quickly and easily. With the web, you can click on a link and land on a web page — it takes one click and just a few seconds. It should be easier for users to access a wider range of apps, and for developers to reach more people.

So, we asked ourselves: How do we make it possible for people to access a wider range of apps, seamlessly? How do we help developers reach more people? And how do we do that while giving developers access to the range of capabilities and experiences that Android apps provide?

Today we’re sharing a preview of a new project that we think will change how people experience Android apps. We call it Android Instant Apps, and it evolves Android apps to be able to run instantly, without requiring installation. With Instant Apps, a tap on a URL can open right in an Android app, even if the user doesn’t have that app installed.

As a developer, you won’t need to build a new, separate app. It’s the same Android APIs, the same project, the same source code. You’ll simply update your existing Android app to take advantage of Instant Apps functionality. In fact, it can take less than a day to get up and running for some developers, though the effort involved will vary depending on how your app is structured. You modularize your app, and Google Play downloads only the parts that are needed, on the fly. And when you do upgrade, your app will be available to more than a billion users on Android devices going back to Jelly Bean.

This is a big change, so it's going to take some time. We’ve been working with a small set of partners to help refine the experience, including developers like BuzzFeed, B&H Photo, Medium, Hotel Tonight, Zumper and Disney. We’ll be gradually expanding access for developers and bringing Instant Apps to users later this year.

B&H Photo (via Google Search) BuzzFeedVideo (via a shared link) Park and Pay (example) (via NFC)
If you’re interested in learning more about Android Instant Apps, please check out the Android developers website, where you can sign up for updates as they become available. We can’t wait to see what you build when your app is just a tap away.
Categories: Programming

Google Play services 9.0 updates

Android Developers Blog - Thu, 05/19/2016 - 01:57
Posted by Laurence Moroney, Developer Advocate


It’s been a little while since we made a release of Google Play services, because we’ve been busy integrating Firebase. While Firebase will contain the SDKs you’ve come to know and love for building mobile applications that run cross platform, we’ll also continue to ship Google Play services updates with new SDKs regularly. Firebase was built using Google Play services 9.0, so let’s dig a little deeper into some of the new and cool APIs that are available in this release.

Ads If you build apps that monetize with ads, we’ve added a lot of updates since 8.4. There's a new Initialization method that publishers can use to kick off the SDK at app start. There's also a new native ads format: Native Ads Express. With Native Ads Express, publishers can define CSS templates for their ad units that define fonts, colors, positioning, and other style information. AdMob combines these with advertiser assets like headlines and calls to action to make a finished ad, which is displayed in a NativeExpressAdView. Moving the work of customizing presentation off the device means there's less mobile code required, plus it's possible to update templates without redeploying the app.

Nearby We’re continuing to update BLE beacon scanning in Nearby Messages. Any app with ACCESS_FINE_LOCATION will be able to scan for beacons via Nearby without any additional permissions. We recommend developers check to see if the app has the location permission prior to calling GoogleApiClient.connect(). Get started here.

For peer-to-peer Nearby Messages, there’s now an option to show the opt-in dialog upon connection to the GoogleApiClient which significantly reduces boilerplate for obtaining the Nearby permission.

Player Stats API We’re also continuing to update the Play Games Client SDK with improvements to the Player Stat API and the public launch of the video recording API. The Player Stats API now has Predictive Analytics to help you identify which groups of players are likely to spend or churn, and we are adding new predictions for how much a player is likely to spend within 28 days and the probability that a player is a high spender. This allows you to tailor experiences for these players to try to increase their spend or engagement. Learn more about the Player Stats API.

Video recording API You will be able to easily add video recording to your app and let users share their videos with their friends and on YouTube in a few simple steps. In the coming months, we are also adding live streaming functionality to allow your fans to broadcast their gameplay experiences in real time on YouTube.

That’s it for this release of Google Play services 9.0 -- we’re continuing to ship new APIs all the time so watch this blog for future announcements.
Categories: Programming

What’s new in Android: the N-Release, Virtual Reality, Android Studio 2.2 and more

Android Developers Blog - Thu, 05/19/2016 - 00:40
Posted by Dave Burke, VP of Engineering

In the past year, Android users around the globe have installed apps–built by developers like you–over 65 billion times on Google Play. To help developers continue to build amazing experiences on top of Android, today at Google I/O, we announced a number of new things we’re doing with the platform, including the next Developer Preview of Android N, an extension of Android into virtual reality, an update to Android Studio, and much more!

Android N Developer Preview is available to try on a range of devices Android N: Performance, Productivity and Security
With Android N, we want to achieve a new level of product excellence for Android, so we’ve carried out some pretty deep surgery to the platform, rewriting and redesigning some fundamental aspects of how the system works. For Android N, we are focused on three key themes: performance, productivity and security. The first Developer Preview introduced a brand new JIT compiler to improve software performance, make app installs faster, and take up less storage. The second N Developer Preview included Vulkan, a new 3D rendering API to help game developers deliver high performance graphics on mobile devices. Both previews also brought useful productivity improvements to Android, including Multi-Window support and Direct Reply.

Multi-Window mode on Android N Android N also adds some important new features to help keep users safer and more secure. Inspired by how Chromebooks apply updates, we’re introducing seamless updates, so that new Android devices built on N can install system updates in the background. This means that the next time a user powers up their device, new devices can automatically and seamlessly switch into the new updated system image.

Today’s release of Android N Developer Preview 3 is our first beta-quality candidate, available to test on your primary phone or tablet. You can opt in to the Android Beta Program at android.com/beta and run Android N on your Nexus 6, 9, 5X, 6P, Nexus Player, Pixel C, and Android One (General Mobile 4G). By inviting more people to try this beta release, developers can expect to see an uptick in usage of your apps on N; if you’ve got an Android app, you should be testing how it works on N, and be watching for feedback from users.

VR Mode in Android  
Android was built for today’s multi-screen world; in fact, Android powers your phone, your tablet, the watch on your wrist, it even works in your car and in your living room, all the while helping you move seamlessly between each device. As we look to what’s next, we believe your phone can be a really powerful new way to see the world and experience new content virtually, in a more immersive way; but, until this point, high quality mobile VR wasn’t possible across the Android ecosystem. That’s why we’ve worked at all levels of the Android stack in N–from how the operating system reads sensor data to how it sends pixels to the display–to make it especially built to provide high quality mobile VR experiences, with VR Mode in Android. There are a number of performance enhancements designed for developers, including single buffer rendering and access to an exclusive CPU core for VR apps. Within your apps, you can take advantage of smooth head-tracking and stereo notifications that work for VR. Most importantly, Android N provides for very low latency graphics; in fact, motion-to-photon latency on Nexus 6P running Developer Preview 3 is <20 ms, the speed necessary to establish immersion for the user to feel like they are actually in another place. We’ll be covering all of the new VR updates tomorrow at 9AM PT in the VR at Google session, livestreamed from Google I/O.

Android Instant Apps: real apps, without the installation 
We want to make it easier for users to discover and use your apps. So what if your app was just a tap away? What if users didn't have to install it at all? Today, we're introducing Android Instant Apps as part of our effort to evolve the way we think about apps. Whether someone discovers your app from search, social media, messaging or other deep links, they’ll be able to experience a fast and powerful native Android app without needing to stop and install your app first or reauthenticate. Best of all, Android Instant Apps is compatible with all Android devices running Jellybean or higher (4.1+) with Google Play services. Android Instant Apps functionality is an upgrade to your existing Android app, not a new, separate app; you can sign-up to request early access to the documentation.

Android Wear 2.0: UI changes and standalone apps  
This morning at Google I/O, we also announced the most significant Android Wear update since its launch two years ago: Android Wear 2.0. Based on what we’ve learned from users and developers, we're evolving the platform to improve key watch experiences: watch faces, messaging, and fitness. We’re also making a number of UI changes and updating our design guidelines to make your apps more consistent, intuitive, and beautiful.  With Android Wear 2.0, apps can be standalone and have direct network access to the cloud via a Bluetooth, Wi-Fi, or cellular connection.  Since your app won’t have to rely on the Data Layer APIs, it can continue to offer full functionality even if the paired phone is far away or turned off. You can read about all of the new features available in today’s preview here.


Android Studio 2.2 Preview: a new layout designer, constraint layout, and much more
Android Studio is the quickest way to get up and running with Android N and all our new platform features. Today at Google I/O, we previewed Android Studio 2.2 - another big update to the IDE designed to help you code faster with smart new tooling features built in. One of the headline features is our rewritten layout designer with the new constraint layout. In addition to helping you get out of XML to do your layouts visually, the new tools help you easily design for Android’s many great devices. Once you’re happy with a layout, we do all the hard work to automatically calculate constraints for you, so your UIs will resize automatically on different screen sizes . Here’s an overview of more of what’s new in 2.2 Preview (we’ll be diving into more detail this update at 10AM PT tomorrow in “What’s new in Android Development Tools”, livestreamed from Google I/O):

  • Speed: New layout designer and constraint layout, Espresso test recording and even faster builds
  • Smarts: APK analyzer, Layout inspector, expanded Android code analysis and IntelliJ 2016.1
  • Platform Support: Enhanced Jack compiler / Java 8 support, Expanded C++ support with CMake and NDK-Build, Firebase support and enhanced accessibility

New Layout Editor and Constraint Layout in Android Studio 2.2 Preview
This is just a small taste of some of the new updates for Android, announced today at Google I/O. There are more than 50 Android-related sessions over the next three days; if you’re not able to join us in person, many of them will be livestreamed, and all of them will be posted to YouTube after we’re done. We can’t wait to see what you build!
Categories: Programming

Google I/O 2016: Develop, Grow & Earn

Android Developers Blog - Wed, 05/18/2016 - 20:39
By Jason Titus, Vice President, Developer Product Group

Earlier today, we kicked off our 10-year celebration of hosting developer events with Google I/O in front of over 7,000 developers at Shoreline Amphitheatre, and with millions of other viewers on the I/O live stream around the world. During the keynote, we had a number of announcements that featured tools for Android, iOS, and mobile Web developers, showcased the power of machine learning for delivering better user experiences, and introduced a previewed platform for high quality, mobile virtual reality.

And over the next three days at the festival, we’ll continue to focus on things that matter to you: Develop, to build high quality apps; Grow & Earn, to find high quality users, increase user engagement and create successful businesses; and What’s Next, a look at new platforms for future growth.

Develop, Grow & Earn with FirebaseThose core themes are best represented in our launch of Firebase. As shared during the keynote, we’ve significantly expanded Firebase beyond a mobile backend to include brand new features, like mobile analytics, growth tools, and crash reporting. Firebase is now a suite of 15 features and integrations designed to help you develop your app, grow a user base and earn money. At the heart of the suite is a new mobile analytics tool we built from the ground up called Firebase Analytics. Available for free and unlimited usage, Firebase Analytics is inspired by our decade-long experience running Google Analytics, but designed specifically for the unique needs of apps.

Let's also take a closer look at the other major developer news at I/O:

Develop
  • Android N Developer Preview 3 — Get a look at the next release of Android N focused on performance, productivity and security. Even better, Android N is now ready to test on primary phones or tablets.
  • Android VR — A rework of the entire Android stack in N to tailor it to provide high quality mobile VR experiences.
  • Android Studio 2.2 Preview — Our new preview focuses on speed, smarts, and Android platform support. This major update includes a completely rewritten, feature-rich Layout Designer.
  • Android Wear 2.0: A developer preview of the biggest platform update since we launched Android Wear two years ago. It includes updated design guidelines and APIs that make the watch even more useful for watch faces, messaging, and fitness. Apps on the watch can now be standalone, with direct network access to the cloud.
  • Recording APIs: enables Android TV app developers and content providers to bring recording functionality to live channels.
  • Google Play services 9.0 — In addition to Firebase, the next release includes new API updates for Ads, Nearby and Play Games services.
  • Android Pay APIs — A new set of tools that includes support for mobile web, Instant Apps, Save to Android Pay and an API for issuers. We’ll have more to share during the session “Android Pay everywhere: New developments” later today at 2:00 PM PT Stage 1 Hercules.
  • Progressive Web Apps — A new set of capabilities to build app-like mobile websites that work reliably on the worst network connections and can send notifications to re-engage users.
  • Credentials API — The latest version of Chrome now supports the Credential Management API, allowing sites to interact with the browser’s credential manager to improve the sign in experience for users. The API enables users to sign in with one tap and lets them automatically sign back in when returning to the site.
  • Accelerated Mobile Pages — Check out the AMP project, an open source initiative that is helping publishers create mobile-optimized content once and have it load instantly everywhere.
Grow & Earn
  • Reach a global audience on Google Play — New and powerful tools to help you grow your business: discover and join beta tests from the Play Store (including a new Early Access section), discover collections of complementary apps to help users solve complex tasks, see how your app runs on real devices with a new pre-launch report, get insights and benchmarks for reviews and user acquisition, monitor your app stats and get notifications when your updates are live with the new Play Console app, and more.
  • Android Instant Apps — With Android Instant Apps, users can open your app simply by tapping on a link, even if they don’t have the app installed. Instant Apps is compatible with Android Jelly Bean and later, reaching over a billion users. We’re working with a small set of developers now, and we’ll be gradually expanding access.
  • Building for billions — New resources to help you optimize your app and get your business ready to serve over a billion Android users around the world.
  • Universal App Campaigns — Last year, we introduced Universal App Campaigns as a simple and powerful way to surface apps to the billions of users across Google Play, Search, YouTube, and the Google Display Network. We’re building on this success by expanding onto iOS and by helping developers use insights to optimize for lifetime value. See our new apps best practices.
What’s Next
  • Awareness API: We'll be previewing a new, unified sensing platform that enables apps to be aware of all aspects of a user's context, while managing system health for you. Learn more at the "Introducing Awareness API: an easy way to make your apps context aware" session later today at 3:00 PM PT in Stage 5 Libra.
  • Daydream — We’ll have more to share on how developers can start building Daydream apps during the “VR at Google” session tomorrow (May 19) at 9:00 AM PT in the Amphitheatre and livestreamed.
  • Chromebooks — Hear from the team firsthand what’s new with Chromebooks tomorrow (May 19) at 11:00 AM PT in Stage 8 Crater.
  • The Mobile Web — We’ll share what we’re doing to improve the mobile web experience for developers and users tomorrow (May 19) at 2:00 PM PT in the Amphitheatre.
Categories: Programming