Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Friday, December 23, 2011

Fridaygram: goodbye to 2011

Author Photo
By Scott Knaster, Google Code Blog Editor

This is the last Fridaygram of 2011, and like most everybody else, we’re in a reflective mood. It’s also the 208th post on Google Code Blog this year, which means we’ve averaged more than one post every two days, so that’s plenty of stuff for you to read. What did we write about?

At Google, we love to launch. Many of our posts were about new APIs and client libraries. We also posted a bunch of times about HTML5 and Chrome and about making the web faster. And we posted about Android, Google+, and Google Apps developer news.

Many of our 2011 posts were about the steady progress of App Engine, Cloud Storage, and other cloud topics for developers. We also published several times about commerce and in-app payments.

2011 was a stellar year for Google I/O and other developer events around the world. Some of our most popular posts provided announcements, details, and recaps of these events. And we welcomed a couple dozen guest posts during Google I/O from developers with cool stories to tell.

The two most popular Code Blog posts of the year were both launches: the Dart preview in October, and the Swiffy launch in June.

Last, and surely least, I posted 26 Fridaygrams in an attempt to amuse and enlighten you. Thank you for reading those, and thanks for dropping by and reading all the posts we’ve thrown your way this year. See you in 2012!

And finally, please enjoy one more Easter egg.

Thursday, December 22, 2011

Getting to know the Android Developer Challenge finalists

Author Photo
By Chukwuemeka Afigbo, Program Manager, Sub-Saharan Africa

Cross-posted from the Google Africa Blog

Last month, the five finalists of the Android Developer Challenge came together to share their experiences with the world via Google+ Hangouts. 

Selected from a group of more than 200 submissions and 30 semi-finalists, the five finalists were Chike Maduegbuna, Bobola Oniwura and Tope Omotunde of AfriNolly (Nigeria); David Lemayian of Olalashe (Kenya); Gerald Kibugi of Shopper’s Delight (Kenya); Herko Lategan of Rainbow Racer (South Africa); and Richard Marsh of Wedding Plandroid (South Africa). 

The interview was hosted by CP Africa, a popular African blog and Gbenga Sesan, Nigerian tech evangelist, who conducted the interview while sitting in the departure lounge of the Murtala Mohammed International Airport in Lagos as he waited to board his flight to Addis Ababa.



Thanks to the power of the internet and Google+, the interview was held simultaneously in Nigeria, Kenya and South Africa, in collaboration with three developer hubs: Umbono (Cape Town, South Africa), Co Creation Hub (Lagos, Nigeria) and iHub (Nairobi, Kenya). The finalists answered live questions and questions from people around the world including Ghana, Italy, Malaysia, Mali, Nigeria and Uganda using Google Moderator

The top-voted question was on how to prioritize features when building an application, while another participant wanted to know what kind of changes the finalists hoped to create in Africa with their applications. 

To learn more about the finalists for the Android Developer Challenge and their applications, please visit the new case studies section of the Google Africa Developers website. If you create solutions using Google services for developers (Google Apps, Chrome extensions, Android, App Engine, etc.) and want to share your story with the world, let us know!


Chukwuemeka Afigbo is a Program Manager in the Sub-Saharan Africa Outreach Team. He is an avid football (soccer) fan.

Posted by Scott Knaster, Editor

Wednesday, June 08, 2011

Add Gesture Search to your Android apps


By Yang Li, Research Scientist

Gesture Search from Google Labs now has an API. You can use the API to easily integrate Gesture Search into your Android apps, so your users can gesture to write text and search for application-specific data. For example, a mobile ordering application for a restaurant might have a long list of menu items; with Gesture Search, users can draw letters to narrow their search.


Another way to use Gesture Search is to enable users to select options using gestures that correspond to specific app functions, like a touch screen version of keyboard shortcuts, rather than forcing hierarchical menu navigation.

In this post, I’ll demonstrate how we can embed Gesture Search (1.4.0 or later) into an Android app that enables a user to find information about a specific country. To use Gesture Search, we first need to create a content provider named CountryProvider, according to the format required by Android Search framework. This content provider consists of 238 country names.

Then, in GestureSearchAPIDemo, the main activity of the app, we invoke Gesture Search when a user selects a menu item. (Gesture Search can be invoked in other ways depending on specific applications.) To do this, we create an Intent with the action "com.google.android.apps.gesturesearch.SEARCH" and the URI of the content provider. If the data is protected (for example, see AndroidManifest.xml), we also need to grant read permission for the content URI to Gesture Search. We then call startActivityForResult to invoke Gesture Search.
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    menu.add(0, GESTURE_SEARCH_ID, 0, R.string.menu_gesture_search)
        .setShortcut('0', 'g').setIcon(android.R.drawable.ic_menu_search);
    return true;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case GESTURE_SEARCH_ID:
        try {
          Intent intent = new Intent();
          intent.setAction("com.google.android.apps.gesturesearch.SEARCH");
          intent.setData(SuggestionProvider.CONTENT_URI);
          intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
          intent.putExtra(SHOW_MODE, SHOW_ALL);
          intent.putExtra(THEME, THEME_LIGHT);
          startActivityForResult(intent, GESTURE_SEARCH_ID);
        } catch (ActivityNotFoundException e) {
          Log.e("GestureSearchExample", "Gesture Search is not installed");
        }
        break;
    }
    return super.onOptionsItemSelected(item);
  }
In the code snippet above, we also specify that we want to show all of the country names when Gesture Search is brought up by intent.putExtra(SHOW_MODE, SHOW_ALL). The parameter name and its possible values are defined as follows:
/** 
   * Optionally, specify what should be shown when launching Gesture Search.
   * If this is not specified, SHOW_HISTORY will be used as a default value.
   */
  private static String SHOW_MODE = "show";
  /** Possible values for invoking mode */
  // Show the visited items
  private static final int SHOW_HISTORY = 0;
  // Show nothing (a blank screen)
  private static final int SHOW_NONE = 1;
  // Show all of date items
  private static final int SHOW_ALL = 2;

  /**
   * The theme of Gesture Search can be light or dark. 
   * By default, Gesture Search will use a dark theme.
   */
  private static final String THEME = "theme";
  private static final int THEME_LIGHT = 0;
  private static final int THEME_DARK = 1;

  /** Keys for results returned by Gesture Search */
  private static final String SELECTED_ITEM_ID = "selected_item_id";
  private static final String SELECTED_ITEM_NAME = "selected_item_name";
As you can see in the code, when Gesture Search appears, we can show a recently selected country name, or nothing. Gesture Search then appears with a list of all the country names. The user can draw gestures directly on top of the list and a target item will pop up at the top. When a user taps a country name, Gesture Search exits and returns the result to the calling app. The following method is invoked for processing the user selection result, reading the Id and the name of the chosen data item.
@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
      switch (requestCode) {
        case GESTURE_SEARCH_ID:
          long selectedItemId = data.getLongExtra(SELECTED_ITEM_ID, -1);
          String selectedItemName = data.getStringExtra(SELECTED_ITEM_NAME);
          // Print out the Id and name of the item that is selected 
          // by the user in Gesture Search
          Log.d("GestureSearchExample", selectedItemId + ": " + selectedItemName);
          break;
      }   
    }
  }
To use the Gesture Search API, you must be sure Gesture Search is installed. To test this condition, catch ActivityNotFoundException as shown in the above code snippet and display a MessageBox asking the user to install Gesture Search.

You can download the sample code at http://code.google.com/p/gesture-search-api-demo.

Yang Li builds interactive systems to make information easily accessible anywhere anytime. He likes watching movies and spending quality time with his family.

Posted by Scott Knaster, Editor

Tuesday, May 10, 2011

Android: momentum, mobile and more at Google I/O


By Hugo Barra, Product Management Director, Android

Cross-posted from the Official Google Blog

Update 5/11: Added video of keynote

This morning at Google I/O, the Android team shared some updates. It’s hard to believe a little more than two and a half years ago, we were just one device, launching in one country, on one carrier. Thanks to the ecosystem of manufacturers, developers and carriers, the platform has grown exponentially. There are now:
  • 100 million activated Android devices
  • 400,000 new Android devices activated every day
  • 200,000 free and paid applications available in Android Market
  • 4.5 billion applications installed from Android Market
Mobile—one OS everywhere
Over the past two and a half years, we’ve shipped eight releases of Android and there are now more than 310 Android devices around the world, of all shapes and sizes. This morning we talked about our next version of Android, Ice Cream Sandwich. Our goal with Ice Cream Sandwich is to deliver one operating system that works everywhere, regardless of device. Ice Cream Sandwich will bring everything you love about Honeycomb on your tablet to your phone, including the holographic user interface, more multitasking, the new launcher and richer widgets.

We also launched Music Beta by Google, a new service that lets you upload your personal music collection to the cloud for streaming to your computer and Android devices. With the new service, your music and playlists are automatically kept in sync, so if you create a new playlist on your phone, it’s instantly available on your computer or tablet. You can use a feature called Instant Mix to create a playlist of songs that go well together. You can even listen to music when you’re offline: we automatically store your most recently played music on your Android device and you can choose to make specific albums or playlists available when you’re not connected. The service is launching in beta today to U.S. users and is available by invitation.



We’ve also added Movies for rent to Android Market. You can choose to rent from thousands of movies starting at $1.99 and have them available across your Android devices—rent a movie on your home computer, and it’ll be available for viewing on your tablet or phone. You can rent from Android Market on the web today, and we’ll be rolling out an update to Verizon XOOM customers beginning today. We’ll start rolling out the update to Android 2.2 and above devices in the coming weeks.

The Android ecosystem has been moving really fast over the last two and a half years and rapid iteration on new and highly-requested features has been a driving force behind Android’s success. But of course that innovation only matters if it reaches consumers. So today we’re announcing that a founding team of industry leaders, including many from the Open Handset Alliance, are working together to adopt guidelines for how quickly devices are updated after a new platform release, and also for how long they will continue to be updated. The founding partners are Verizon, HTC, Samsung, Sprint, Sony Ericsson, LG, T-Mobile, Vodafone, Motorola and AT&T, and we welcome others to join us. To start, we're jointly announcing that new devices from participating partners will receive the latest Android platform upgrades for 18 months after the device is first released, as long as the hardware allows...and that's just the beginning. Stay tuned for more details.

More—extending the platform beyond mobile
From the beginning, Android was designed to extend beyond the mobile phone. With that in mind, we’ve developed Android Open Accessory to help developers start building new hardware accessories that will work across all Android devices. We previewed an initiative called Android@Home, which allows Android apps to discover, connect and communicate with appliances and devices in your home. We also showed a preview of Project Tungsten, an Android device for Music Beta to give you more control over music playback within the Android@Home network.

You can watch the entire Android keynote from Google I/O on our Google Developer YouTube Channel shortly. On behalf of the team, we want to thank the entire Android community of developers, OEMs and carriers who are pushing the platform into new areas and building great experiences for consumers. Without you, the Android platform wouldn’t have grown so large in the past two and a half years. We look forward to seeing where you take it next.



Hugo Barra is Director of Product Managment for Android.


Posted by Scott Knaster, Editor

Apps4Android: Developing accessibility apps for Android


By Steve Jacobs, President, IDEAL Group, Inc., and CEO, Apps4Android, Inc

This post is part of Who's at Google I/O, a series of guest blog posts written by developers who are appearing in the Developer Sandbox at Google I/O.


IDEAL Group's Android Development Team has developed and released several apps in the Android Market. In this post, we'll highlight three of our apps which capture some of the best aspects of developing on Android.

IDEAL Magnifier


Android smartphones can have amazing hardware, and the platform gives developers the ability to tap into that power. Traditionally, handheld video magnifiers have been standalone, dedicated, hardware devices that can cost hundreds of dollars. Thanks to Android's Camera APIs, we're able to offer similar functionality in the form of a free, open source app.

In addition to using Android's zoom and flash features to make things easier for our users to see, we also enable our users to apply color effects such as converting everything to monochrome and even inverting the colors to improve contrast. Despite the wide variety of Android devices available, we found it relatively easy to support multiple devices since Android enables developers to check what the maximum zoom level is and what color effects are supported. Here's a YouTube video demonstrating IDEAL Magnifier in action.

IDEAL Item Identifier including Talking Barcode Maker


Thanks to Android's Intents system and its MediaRecorder and Text-To-Speech (TTS) APIs, we were able to produce an open source app which turns a user's phone into a talking barcode reader. Talking barcode readers enable blind and visually impaired users to scan the barcode of a product and hear what that item is. In addition, many of the higher end models offer the ability to let users create their own barcodes which they can stick onto items. Unfortunately, like video magnifiers, these devices have traditionally been quite expensive.

We solved the problem of detecting and reading barcodes without spending any development time by simply delegating this task to the ZXing Barcode Scanner. Once we get the UPC code of a product, we do a lookup of that UPC and speak the name of that product.

For custom labels, we record what the user is saying and save it to a file locally. We then use the Send Intent to enable users to email themselves a QR code which contains the automatically generated filename of that recording so that we play back that file when users scan this code. Users can print out the QR code on any sticky label, and voila, their very own custom label. Here's a video demonstrating IDEAL Item ID in action.

Vista Center

The Vista Center is a Palo Alto, California-based organization that helps the blind and visually impaired. We volunteered to create an Android app for them to help users access their educational materials which include topics such as how to use ticket machines and how to set up Android phones for accessibility.

This turned out to be a much easier project than expected, thanks to Android's accessibility features and the strong open source culture that is part of the Android platform's DNA. Specifically, we were able to take advantage of the Google Accessibility Team's I/O challenge which encouraged contestants to open source their submissions. We modified the ccTube app so that it always does a search on startup for videos from the Vista Center, and since Android has accessibility built right into the platform, we didn't need to do anything special to make it work with the TalkBack screen reader.

(Hat tip to Google's Charles L. Chen for helping us connect with the Vista Center and pointing us to Google I/O's Accessibility Challenge, and to Casey Burkhardt, who wrote ccTube and open sourced his code.)

Android is a tremendous platform for building tools that empower people. We're very excited by the fast pace of Android evolution and can't wait to see what the next iteration of this wonderful platform will have to offer.


Come see Apps4Android in the Developer Sandbox at Google I/O on May 10-11.

Steve Jacobs’ greatest passion is to enhance the independence, quality of life, education and mobile communications experiences for tens of millions of consumers with disabilities, senior citizens (like Steve), people who never learned to read, and everyone else.

Posted by Scott Knaster, Editor

Monday, May 09, 2011

Social features for Endomondo Sports Tracker


By Jesper Majland, Endomondo Android Developer

This post is part of Who's at Google I/O, a series of guest blog posts written by developers who are appearing in the Developer Sandbox at Google I/O.


Endomondo is a sports community focused on making exercising more fun, more social and more motivating. Android includes great APIs to support adding a social community to an existing application.

Our Android app, Endomondo Sports Tracker, uses the device’s GPS to measure distance and speed while you are doing your favorite distance-based sport. The result can be shared, commented upon and analysed online within the social Endomondo community.

Until recently, the Endomondo community has only been accessible from a desktop web browser. Now we are bringing this community to your pocket.

So far, we have implemented these three feature areas:

1. Find and connect friends.

We use the ContactsContract API to scan the device for local contacts. We then hash-encode the names and email addresses and send them to our servers to see if they match existing members of the community. The result is a list of possible friends already using Endomondo. The user can then send a friend request by clicking on the relevant person.


2. Sync with a cloud service to get updates.

Once the user has added some friends, we can add some content from our cloud service.
The Sample Sync Adaptor API was exactly what we were looking for. First, we created a new Endomondo account using the AccountManager. Our next step was to write our own synchronization manager by extending AbstractAccountAuthenticator. When the user logs in or signs up, our app automatically creates a new account. The new account can be controlled using Android’s built in “Accounts & sync settings” service.

You can find a very good “how to implement” description here: part 1, part 2.

3. Extend the app to access Contact info.

Our in-app friend list now shows a list of all friends in the community, with a short description of the latest activity and a nice profile picture for each.

We use QuickContactBadges to show friends' profile pictures and to quickly pivot to other ways to contact them; perfect for planning a run together!

When our users and their friends add new accounts, the Android ContactsContract framework will automatically merge contacts, adding a very handy feature to our app without us having to do anything!

For implementation inspirations, take a look here: QuickContactsDemo.

We’re just getting started with adding social dimensions to Endomondo. There are plenty more exciting developments in the works. One of them is the ability to send pep talk messages to friends out exercising, directly from the app. You can download our app from the Android Market and try it out for yourself.

Any input or good ideas are more than welcome. Please post your feedback in the comments.


Come see Endomondo in the Developer Sandbox at Google I/O on May 10-11.

Jesper Majland is involved with all parts of app developing from idea, design and implementation to test/release and bug fixing. In his spare time, he tries to get outside to bike, ski or go for a short run.

Posted by Scott Knaster, Editor

Tuesday, May 03, 2011

Google I/O goes mobile


By Roman Nurik, Android Developer Advocate

The Google I/O mobile app for Android is back for 2011 and looking better than ever before. We’ve added some new features to make it easier for you to connect with the I/O session content on the go, even if you don’t have a ticket into Moscone Center.

For the 2011 edition we redesigned the app to support Android tablets, taking advantage of the extra screen space to offer a realtime activity stream for Google I/O as well as a tablet optimized layout. For the first time, you’ll be able to stay up to date with I/O as it happens, regardless of whether you’re using your computer, tablet, or smartphone.


Our most popular features from last year are making a comeback for the Google I/O 2011 mobile app as well. Browse through session content and schedules, orient yourself with a map, check out the Sandbox, and take notes to get the most out of your experience at the conference.

Speaking of Android, please remember that if you have an old, unlocked Android device, you’ll be able to donate it at the Android for Good booth at I/O to support NGOs and educational institutions in developing countries.


Get the Google I/O 2011 mobile app today by scanning the QR code above or by visiting this link from your computer or your Android device.

Roman is an Android Developer Advocate at Google, focusing on user experience, visual design, and multimedia. He has an irrational love for icon design and typography.

Posted by Scott Knaster, Editor

Thursday, April 21, 2011

Android for Good at Google I/O 2011

By Zi Wang of the Android Team

Do you have an unlocked Android device that you no longer need? If you’re coming to Google I/O, you can make a world of difference by donating it to Android for Good.

Android for Good evolved from a program at Google started by one passionate engineer with an idea to help the developing world through technology. A small team collected Android devices from Googlers around the world and organized their donation to groups including Grameem’s AppLab Community Knowledge Worker Initiative in Uganda, Save the Elephants in Kenya, V-Day in the Democratic Republic of Congo, VillageReach in Mozambique, VetAid in Tanzania & Kenya, and UNHCR in Central Africa.

This year, we want to make it easy for everyone at Google I/O to get involved as well. We know you like to keep up to speed with the latest and greatest technology, so you may have an older Android device you don’t need anymore. If that device is unlocked (such as the T-Mobile G1, Nexus One, or Nexus S) and in good working condition, bring it along to Google I/O and drop it off at the Android for Good booth, located on the third floor of Moscone Center. Although it might seem old to you, that device could mean a new beginning when placed in the right hands.

Zi Wang is a Product Marketing Manager on the Android Team. In his 20% time, Zi is working on a very cool project called Android in Space.

Posted by Scott Knaster, Editor

Friday, December 17, 2010

Android stretches its legs... errr wheels... with help from 20% time at Google

Today we announced a fun 20% robotics project that resulted in three ways you can play with your iRobot Create®, LEGO® MINDSTORMS®, or VEX Pro® through the cloud. We did this by enhancing App Inventor for Android, contributing to the open source Cellbots Java app, and beefing up the Cellbots Python libraries. Together these apps provide new connectivity between robots, Android, the cloud, and your browser.

You can start empowering your Android phone with robot mobility by picking the solution below that matches your skill level and programming style:

  • App Inventor for Android
    This is an entirely cloud based programming environment where you drag and drop elements into a project right within your browser. The latest features for robots include a low level Bluetooth client for connecting with many serial-enabled robots, and tight integration with LEGO MINDSTORMS. There are seven LEGO components in all, with NxtDrive and NxtDirectCommands used for driving and basic control while NxtColorSensor, NxtLightSensor, NxtSoundSensor, NxtTouchSensor, and NxtUltrasonicSensor are used for sensors.

    Also be sure to try out the social components to connect with Twitter, and TinyWebDB for hooking up to AppEngine. All of these can be used together to make your phone a powerful robot brain.


  • Cellbots for Android

    We wanted to offer a flexible application that could drive multiple platforms and support different control modes. To do this we created the Cellbots Java application which currently supports four robot platforms and allows additional robot types and UI control schemes to be added using the standard Android SDK. It is entirely open source and available for free in the Android Market so you can try it out right away.

    With it you can use the phone as a remote control with D-Pad, joystick, accelerometer, or voice control inputs. Then try mounting your phone to the robot in brain mode where you can stream video back to a web browser and make the robot speak using Android’s native text-to-speech. For those of you with two Android phones, we support remote-to-brain mode where you can ask the robot for its compass heading or change the persona on screen.

     

  • Cellbots Python library

    The 20% team got together to create a more modularized version of the popular Cellbots project, which is all open source code. The goal for the Python library is to allow developers an easy way to demonstrate the features on Android phones suitable for robots. There are commands to make it speak, listen, record audio, take pictures, get a geolocation, and of course provide the I/O to the bot.

    The Python code is the most flexible in terms of connectivity with support for Google Talk chat over XMPP, HTTP through a relay or direct connection, telnet, and voice input. To use it you just need to install the Scripting Layer 4 Android and enable the Python interpreter. Then copy over the Python and config files to the SD card and script away.


We hope this gives developers, hobbyists, and students a head start in connecting the next generation of cloud apps to the world of robotics. Be sure to push your mobile phone’s processor to its limits and share the results with the Cellbots Google Group. Try using Willow Garage’s OpenCV for Android or the new Gingerbread APIs for gyroscopes, enhanced OpenGL graphics, and multiple cameras!

Monday, July 12, 2010

Sharing the Joy of Creating Android Apps with Everyone

Sharing the joy of building software with someone that doesn’t have an engineering background is hard. Today it got a little easier with App Inventor for Android.

App Inventor for Android is a Google Labs project that makes it possible to create complex Android applications without having to write any code. This is because, instead of writing code, you can visually design the way the app looks and use blocks to specify behavior.


This helps introduce concepts about logic and programming in a compelling way, without getting lost in syntax and code. And while App Inventor for Android doesn’t have every feature available in the latest Android SDK, it has been used to create some very compelling applications.

For more information about how to participate, take a look at the announcement on the Google Blog.

We look forward to seeing what you think and hearing about your stories. And, yes, the irony of writing a Google Code blog post about avoiding the need to code is not lost on me. :-)

App Inventor for Android is possible due to some significant work done in research on education computing both inside and outside Google. The brainchild of Hal Abelson (visiting faculty), App Inventor for Android is an effort to see if the nature of introductory computing can be changed.

By Ali Pasha, Google Developer Programs

Friday, June 04, 2010

Tech Talks and Fireside Chats at I/O 2010

Today we’re releasing videos from the Tech Talks and Fireside Chats at I/O 2010. A look back on each track:

Tech Talks:

From new programming languages to venture capital to 5-minute lightning talks, the Tech Talks track at I/O was a veritable potpourri of geeky goodness.

You can find videos and slides for the Tech Talks on the linked session titles below:




  • Go programming - The Go programming language was released as an open source project in late 2009. Rob Pike and Russ Cox discussed how programming in Go differs from other languages.

  • Opening up Closure Library - Closure Library is the open-source JavaScript library behind some of Google's big web apps like Gmail and Google Docs. Nathan Naze talked about the library, its design, and how to integrate it in with your setup.

  • Optimize every bit of your site serving & web pages with Page Speed - Richard Rabbat and Bryan McQuade talked about Page Speed, an open-source Firefox/Firebug Add-on which allows web developers to evaluate and improve the performance of their web pages.

  • SEO site advice from the experts - Matt Cutts, Greg Grothaus, Tiffany Lane, and Vanessa Fox offered SEO feedback on a number of actual websites submitted by the audience.

  • Beyond design: Creating positive user experiences - John Zeratsky and Matt Shobe shared their tips on how to keep users coming back to your applications through a positive user experience.

  • How to lose friends and alienate people: The joys of engineering leadership - Brian Fitzpatrick and Ben Collins-Sussman regaled the audience with tips on how to lead vs. manage.

  • Ignite Google I/O - Brady Forrest and Ignite returned to I/O with an awesome line-up of speakers - Ben Huh, Matt Harding, Clay Johnson, Bradley Vickers, Aaron Koblin, Michael Van Riper, Anne Veling, and James Young.

  • Technology, innovation, computer science, & more: A VC panel - This year was the first time that we had investors/VCs speaking at I/O. Albert Wenger, Chris Dixon, Dave McClure, Paul Graham, Brad Feld, and Dick Costolo (moderator) debated hot tech topics including betting on start-ups with non-technical founders and open vs closed platforms.
The Tech Talk videos are also available in this YouTube playlist.


Fireside Chats:

In the 9 fireside chats at I/O this year, Google teams were eager to talk about the latest ongoings with their respective product areas, as well as spend most of the time on audience Q&A.

This year, we decided to record fireside chats because we know how popular they are not just with I/O attendees, but everyone interested in hearing from the engineers behind our products. You can find videos for the fireside chats below:

These videos can also be found in this Fireside Chats YouTube playlist or the YouTube playlist for each session track. (ex. the two Android Fireside Chats are also in the Android playlist)

On Monday, we’ll be posting the last batch of I/O videos from the Geo, Google APIs, and Google Wave tracks. Stay tuned!

Posted b

Monday, December 21, 2009

A look back on 2009

2009 was a remarkable year for developers. Vic Gundotra, VP of our developer team declared at Google I/O, "The web has won!" and this year was full of launches and announcements that remind us how the web has become the platform of our day. We found lots of inspiration from the developers at Google I/O in San Francisco and at our Google Developer Days in Japan, China, Brazil, Russia and the Czech Republic.



Here's a look back at some of our favorite highlights from 2009:
It is a very exciting time to be a developer...we are just starting to see what is possible with the web as the platform. It will be a lot of fun to see where all of us, together, can take the web in 2010!

Happy Holidays from the Google Developer Team!

Thursday, July 23, 2009

Presentations from Google Developer Days in Asia are now live

Videos, presentations, and photos from our Google Developer Days in China and Japan are now live. China's event kicked off our 2009 GDDs in Beijing on June 5 and Japan's GDD was a few days later on June 9.
At each event, attendees had the opportunity to learn about products such as Android, Chrome, OpenSocial, and App Engine and interacted with Google developers during office hours. Developers even got a sneak peak of Google Wave!

Wednesday, June 24, 2009

AdSense for Mobile Applications Beta

Are you developing free iPhone or Android applications? With our new beta product - AdSense for Mobile Applications, you can monetize your mobile applications by showing contextually targeted ads and/or placement targeted ads alongside your application content. We provide you with iPhone and Android SDKs and example applications that request and display AdSense ads. Our SDKs also support DoubleClick ads.

You can show 320x50 text and image ads linked to HTML webpages in your application. These ads are targeted to the keywords that you send us in the AdSense (or DoubleClick) ad request. The keywords must be relevant to your application content. If your application content is loaded from a webpage that is customized for iPhones and Android handsets, then you can also send us the webpage URL for us to target ads. The ads may also be placement targeted which means an advertiser can specifically target to your application.

Our iPhone SDK is compatible with iPhone OS 3.0, and our Android SDK is compatible with Android 1.5 SDK. The SDKs include a library that can be linked in to your application which exposes methods to fetch and show ads. You must place a maximum of one ad per screen at the top or bottom (see the screenshot from the Backgrounds iPhone application). When a user clicks on the ad in your application, you can choose whether the user should view the advertiser's website in iPhone Safari or a full-screen UIWebView on the iPhone. For Android applications, our API defaults to opening the advertiser's website in the native browser.

To get started with monetizing your iPhone or Android application, sign up today on the AdSense for Mobile Applications website. We can't wait to have you join our beta network!


Thursday, June 04, 2009

Android: Now beaming I/O videos and presentations to the world

Google I/O was one of Android's biggest events of the year, with a Mobile track that focused primarily on all things Android, and 22 developers showcasing some of their great Android applications at the Google I/O developer sandbox.

For those of you who missed I/O or could not make all the Android sessions, we're excited to release session videos and presentations from the Mobile track online and free to developers worldwide.

At this year's I/O, we wanted to help developers further optimize their applications for the Android platform by creating better user experiences. Romain Guy explored techniques for making Android apps faster and more responsive using the UI toolkit. Chris Nesladek discussed the use of interaction design patterns in the Android system framework to create an optimal user experience. Since mobile application development is inextricably tied to battery performance, Jeff Sharkey provided an insightful look at the impact of different application features and functionalities on battery life. Taking the mobile experience further, T.V. Raman and Charles Chen discussed building applications that are optimized for eyes-busy environments, taking advantage of the Text-to-Speech library, as well as new UI innovations that allow a user to interface with the device without needing to actually look at the screen.

We also offered a few sessions on building compelling and fun apps that take advantage of the Android media framework and 2D and 3D graphic libraries. Chris Pruett discussed the gaming engine that he built and used as a case study to explain best practices and common pitfalls in building graphics-intensive applications. David Sparks lifted the hood on the infrastructure by diving into Android's multimedia capabilities and expanding on how to use them to write secure and battery-efficient media code.

We also had several sessions that meditate on challenges, best practices, and philosophies for writing apps for Android. Dan Morrill demonstrated multiple techniques for developing apps for Android in different scenarios, to help developers make the right decisions on the right techniques for writing their apps. Joe Onorato talked to developers about leveraging Android's ability to support multiple hardware configurations to make their applications run on a wide variety of devices without the overhead of building a custom version for each. Justin Mattson talked about advanced usage of Android debugging tools in his session and presented real-world examples in which these tools were used at Google.

Lastly, Robert Kroeger returns from the frontlines of launching Gmail Mobile Web for iPhone and Android's offline capabilities and shares the team's experiences in using a portable write-through caching layer running on either HTML 5 or Gears databases to build offline-capable web applications.

We hope these session videos and presentations are helpful to all Android developers out there. Don't forget to check out our newly announced Android Developer Challenge 2 - we look forward to seeing your passion, creativity, and coding prowess come together in the great apps you submit in this next challenge!

Tuesday, June 02, 2009

Post Google I/O 2009

We would like to thank the thousands of developers who joined us last week and made this year's Google I/O a wonderful developer gathering. We announced some of the things we've been working on and shared our thoughts on the future of the web. 140 companies joined us to showcase what they've been working on and talk about their experiences building web applications. We hope you left I/O inspired with new ideas for your own products. Our engineers were pumped to get your feedback and were inspired by what they learned from conversations at Office Hours, in the Sandbox, and during the After Hours party.

If you missed a session you really wanted to see at Google I/O, you'll be happy to know that over 70 of the sessions (videos and slides) will be made available over the next few days. For your convenience, you'll also be able to download those videos to view them on the go.

These will be going live soon at code.google.com/io. We'll be releasing I/O content in the following waves:
  • Wed, June 3: Client (Chrome, HTML 5, V8, O3D, Native Client, and more)
  • Thurs, June 4: Google Wave, Mobile/Android
  • Fri, June 5: Tech Talks
  • Mon, June 8: Google Web Toolkit, App Engine, Enterprise
  • Tues, June 9: AJAX + Data APIs, Social
You can check out some of our favorite Google I/O photos here. In addition, check out video interviews with the 3rd Party developers featured in our Developer Sandbox, and see how they've implemented products & technologies represented at I/O.

We've gotten many inquiries about the opening video for the Day 1 keynote. The video is comprised of different Chrome Experiments and the soundtrack music and lyrics were created by our very own Matt Waddell. Lastly, wondering why the Lego character on the Google I/O t-shirt is holding a spray can? For those of you who have t-shirts, turn off your room light and see what's written on the back of the green brick :)

Stay tuned for more updates on Google I/O!

Wednesday, May 27, 2009

Google I/O 2009 - Day 1 Recap

Day 1 of Google I/O was an action-packed endeavor, shared with an excited community of developers on the ground learning about developing web applications with Google and open technologies, and showcasing some of their best apps.

Here are a few highlights from our keynote speech:
  • Google Web Elements is launched: Adding Google products to your website or blog has never been easier.
  • App Engine for Java is now out of preview and open for signups
  • Google Web Toolkit 2.0 previewed upcoming new features, including in-browser debugging and developer-guided code splitting (also known as runAsync())
  • Android Developer Challenge 2 launched: Win awards for building great apps on Android
  • Google Latitude on iPhone 3.0 was previewed
Check out a video playlist of this morning's keynote:


Since a picture is worth a thousand words, we thought we'd recap the 1st day of I/O with photos captured throughout the day:


In case attendees had trouble finding Moscone West, they were directed to look for the life-sized Google Maps pin placed right in front of the entrance.


I/O 2009 had higher attendance, but registration went much more smoothly this year.


An attendee checks out the I/O agenda board. Product stickers were distributed to attendees to stick on their conferences badges to identify fellow attendees with similar product interests.


Eric Schmidt greeted developers and kicked off the keynote


Vic Gundotra takes the stage to talk about "a more powerful web, made easier."


Vic welcomes Jay Sullivan, VP of Mozilla, while also thanking Mozilla and the larger developer community for tireless efforts towards new web standards. Jay gave a glimpse of Firefox 3.5 features.


Michael Abbott, SVP of Palm, talks about why the web is the platform and Palm webOS.


A view from the audience.


We gave all Google I/O attendees a limited edition Android-powered device in order to encourage and facilitate further application development on the Android platform, and provided a preview of Donut features.


Office Hours are a new addition to I/O, where attendees can drop in and bring questions for Google engineers. View Office Hours schedule.


Alon Levi speaks on his App Engine session, From Spark Plug to Drive Train: Life of an App Engine Request.


At the Google Web Toolkit Fireside Chat - members of the GWT team listen to audience question.


Anybot struck up conversation and hung out with developers.


View of the Developer Sandbox from the escalator.


Enjoying a complimentary chair massage.


Developers crashed on bean bags, taking a break to check email and get some work done.


The Street View trike roamed the halls.


A developer pondering what to grab from the drink coolers, available throughout Level 2 for attendees to quench their thirst.


Developers enjoyed bins of chocolate covered raisins, M&Ms, pretzels, trail mix, and other goodies throughout the day.

To follow the latest at Google I/O, check out twitter and twazzup. Stay tuned for Day 2!