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

Wednesday, 15 May 2013
Facebook StumbleUpon Twitter Google+ Pin It

Cross-Platform SSO technology

Author Photo
By Tim Bray, Google Identity Team

During the Android portion of the Google I/O keynote, we showed Cross-Platform Single Sign-On; the effect was that for Wallet and Google+ users, signing in to a Web browser resulted in automatic download of, and sign-in to, an Android app.

To support this, we have introduced general-purpose API tools which allow developers to achieve cross-client authentication and authorization, in particular between Android and Web apps.

Not having to sign in repeatedly feels so natural for users that they don’t even notice it. But as more and more apps deploy this sort of magic, you don’t want to be the hold-out that’s pestering users for passwords on Web sites or, worse, on tiny mobile-device keyboards.

On the Android side, client libraries like PlusClient, GamesClient, and WalletClient have “connect” methods that take care of this as automatically as possible; they check whether any of the accounts on the phone have already been authorized for access to the service in question, conduct sign-in if necessary but avoid it if possible, and when they return to your code, everything’s all set up.

If you’re writing server-side code and using libraries like Google+ Sign-In, once again, all the right things happen automatically; when you start accessing the service, the software imposes the minimum necessary pain on the user, ideally zero, and lets you get to work.

Of course, some people want less automation, and finer control over how things work. If you want to access our services at the HTTP level rather than via a library, or to deal with multiple accounts on an Android device in a customized way, you can do these things and in most cases still deliver the no-sign-in magic.

Of course, this involves working with HTTP message flows, validating tokens, and securing shared secrets. This may sound intimidating but will be straightforward for one well-versed in HTTP-level Web programming. If you’re one of those, check out the low-level protocols and APIs that support this, in “Cross-Client Identity”.

The time is now to start moving your apps towards a sign-in-free future.


Tim says: By day, I help in the struggle against passwords on the Internet.
The rest of my life is fully documented on my blog.


Posted by Scott Knaster, Editor

Introducing Google Play game services

Author PhotoBy Greg Hartrell, Lead Product Manager

We love to talk about games at Google. Especially the old ones, like Pac-man, Pitfall and Frogger. Since those classics, games have changed a lot. They’ve moved from that clunky box in your living room to the screen that you carry with you in your pocket wherever you go. They’re mobile, they’re social, and they’re an important part of Google Play.

Today, we’re launching Google Play game services, a core part of building a gaming platform for the next generation of games. These services help you make your games more social, with achievements, leaderboards, and multiplayer, as well as more powerful, storing game saves and settings in the cloud. They are available on Android, and many on iOS or any other connected device. By building on Google’s strengths in mobile and cloud services, you can focus on what you’re good at as game developers: creating great gaming experiences for your users.

With game services, you can incorporate:
  • Achievements that increase engagement and promote different styles of play.
  • Social and public leaderboards that seamlessly use Google+ circles to track high scores across friends and across the world.
  • Cloud saves that provide a simple and streamlined storage API to store game saves and settings. Now players never have to replay Level 1 again.
  • Real-time multiplayer for easy addition of cooperative or competitive game play on Android devices. Using Google+ Circles, a game can have up to 4 simultaneous friends or auto-matched players in a game session together with support for additional players coming soon.



Several great Android games are already using these new game services, including World of Goo, Super Stickman Golf 2, Beach Buggy Blitz, Kingdom Rush, Eternity Warriors 2, and Osmos.

And many more titles launch today as well:



Google Play game services are available today through an SDK for Android, and a native iOS SDK for iPhone and iPad games. Web and other platform developers will also find corresponding REST APIs, with libraries for JavaScript, Java, Python, Go, Dart, PHP, and more.

We’re excited to see what games will do with these new services and experiences, and this is only the beginning. Wait until you get to the boss battle... er.. Check out our developer site to get started: https://developers.google.com/games/.


Greg Hartrell is Lead Product Manager on Google Play game services, devoted to helping developers make incredible games through Google Play. In his spare time, he enjoys jumping from platform to platform, boss battles and matching objects in threes.

Posted by Scott Knaster, Editor

Tuesday, 26 February 2013
Facebook StumbleUpon Twitter Google+ Pin It

Introducing Google+ Sign-In: simple and secure, minus the social spam

By Seth Sternberg, Director of Product Management, Google+

Cross-posted from the Google+ Developers Blog

Today we’re adding a new feature to the Google+ platform: application sign-in. Whether you’re building an app for Android, iOS or the web, users can now sign in to your app with Google, and bring along their Google+ info for an upgraded experience. It’s simple, it’s secure, and it prohibits social spam. And we’re just getting started.



In this initial release, we've focused on four key principles to make things awesome for users:

1. Simplicity and security come first 
If you sign in to Gmail, YouTube or any other Google service, you can now use your existing credentials to sign in to apps outside of Google. Just review the Google+ permissions screen (outlining the data you're sharing with the app, and the people who can see your activity), and you're all set. Google+ Sign-In also comes with the protections and safeguards you’ve come to expect from your Google account (like 2-step verification), so you can always sign in with confidence.


Managing your signed-in apps is easy too: visit plus.google.com/apps at any time, or open the new Google Settings app on Android.

2. Desktop and mobile are better together 
Many developers offer web and mobile versions of their app, yet setting things up across a browser, phone and tablet is still a major hassle. Starting today, when you sign in to a website with Google, you can install its mobile app on your Android device with a single click.


3. Sharing is selective; spraying is just spam 
Sometimes you want to share something with the world (like a high score), but other times you want to keep things to yourself (like fitness goals). With Google+ Sign-In and circles you decide who to share with, if at all. In addition: Google+ doesn’t let apps spray “frictionless” updates all over the stream, so app activity will only appear when it’s relevant (like when you’re actually looking for it).


4. Sharing is for doing, not just viewing 
Pictures and videos are great for viewing, but sometimes you actually want to do stuff online. That's why, when you share from an app that uses Google+ Sign-In, your friends will see a new kind of "interactive" post in their Google+ stream. Clicking will take them inside the app, where they can buy, listen to, or review (for instance) exactly what you shared.




If you’re building an app for Android, iOS or the web, and you’d like to include Google+ Sign-In, simply dive into our developer docs and start checking stats once your integration is live. Android apps will require the latest version of Google Play Services, which is rolling out to all devices in the next day or so.

To see what other developers are doing with Google+ Sign-In, just visit any of the following sites, and look for the new "Sign in with Google" button (also rolling out gradually):



Written by Seth Sternberg, Director of Product Management, Google+

Posted by Scott Knaster, Editor

Friday, 21 December 2012
Facebook StumbleUpon Twitter Google+ Pin It

No WebView required, with native YouTube Player API for Android

Author Photo
By Scott Knaster, Google Developers Blog Editor

This post is abridged and cross-posted from the YouTube API Blog.


Adding a high-quality video experience to your Android application just got a whole lot easier. Starting today, you can embed and play YouTube videos in your app using the new YouTube Android Player API.

The API, which was pre-announced at Google I/O 2012, offers these benefits:
We are launching the API as experimental, although we do not expect major interface changes going forward.

The only limit now is your imagination (and ToS)

These instructions explain how to include the API client library in your Android application. The library is supported on Android devices running version 4.2.16 or newer of the Android YouTube app. By including the library in your project, you can create rich video playback experiences through the ability to control and customize the video player. Flipboard, shown below, is a good example. See the full post for more cool app examples.


Flipboard
Flipboard

Learn more

If you would like to learn more about the YouTube Android Player API, read the full post on The YouTube API Blog. The post features several companies already using the API and contains useful links to source code examples and documentation. Alternatively, get started by watching some of the videos from our YouTube Android Player API playlist.




Scott Knaster is the Editor of Google Developers Blog. His programming books have been translated into several languages, including Japanese and Pascal.

Wednesday, 5 December 2012
Facebook StumbleUpon Twitter Google+ Pin It

Google HackFair in South Korea

Author Photo
By Soonson Kwon, Developer Relations Program Manager

For developers and engineers, the best way to learn something is to get your hands dirty and try making something. That is why Google hosts many hackathons around the world. Last November 17 and 18, we had a bigger experiment at Gangnam (yes, this is the very Gangnam in Gangnam Style!) in Seoul, South Korea which expanded a 1-2 day hackathon into a much longer one which we called Google HackFair.



The idea was to give developers enough time (2 months) to develop something bigger and provide a nice chance to showcase their projects. 153 developers submitted 92 projects, and 40 projects were chosen from among them and displayed. Developers used many different technologies, including Android, Chrome, App Engine, and HTML5, and they completed creative and interesting projects: a remote controlled car guided by Android, a serial terminal for Chrome, a braille printer using Go, and many more!


Besides the exhibition, we also prepared a mini-conference and GDG (Google Developers Group) booth where Googlers and community developers gave 27 sessions in total.


More than 1000 people attended and enjoyed the Google HackFair. Although the event is finished, developers continue updating and polishing their projects. It was a great time indeed.

If you are interested in details for the projects including full demos or source code, please check here.


Soonson Kwon is Developer Relations Program Manager and Country Lead for South Korea. His mission is to help Korean developers make better use of Google’s developer products. He is also passionate about Open Source.

Posted by Scott Knaster, Editor

Wednesday, 25 April 2012
Facebook StumbleUpon Twitter Google+ Pin It

African developers finding success with Google technologies

Author PhotoBy Chukwuemeka Afigbo, Program Manager, Sub-Saharan Africa

Cross-posted from the Google Africa Blog

Creating applications and services that use Google platforms to make the internet more relevant to Africans is a big part of Google’s vision in Africa. This is why we are always excited whenever we come across individuals or companies whose efforts are in line with this vision. Here are a few of the interesting applications we have seen in recent months.

Battabox, co founded by Christian Purefoy and Yemisi Ilo, is an online social television platform developed in Nigeria that aims to provide everything Nigerian from music, film, street-life to news, comedy and cooking using the YouTube platform. Crowdsourcing videos is an important part of the Battabox strategy and they were able to achieve this using YouTube Direct running on Google App Engine integrated into their website. They also provided an Android App that enables users to upload videos directly from their Android phones.




Battabox website screenshot

There are many other examples from further afield. In South Africa we met Nomanini who have a Google App Engine backend for Lula, their airtime vending device, which promises to change the way airtime is distributed in the region. Envaya SMS is an amazing application that turns your Android phone into an SMS gateway and has been used by many NGOs in East Africa. SAF SMS is a school management solution built with Google Web Toolkit that has been adopted in more than 100 schools in Nigeria. We also met Serengeti Advisers, a consultancy firm in Tanzania that uses Google Chart Tools to create interactive reports on their website.



Nomanini’s Lula terminal communicates with a backend powered by Google App Engine

As part of our drive to meet and interact with app developers in Africa, our Android Developer Relations team also recently hosted the developers of AfriNolly and the Nigerian Constitution Android app on their weekly Android DevRel office hours hangout on Google+ for Europe, Middle East and Africa. At the hangout, these African developers shared information about their apps with other Android developers.

You can follow the exploits of these and more developers in Sub Saharan Africa as they continue to make things happen with Google APIs and platforms by keeping an eye on our case studies page.

Do you feel your app should be featured here? 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

Friday, 23 December 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 22 December 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 8 June 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 10 May 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 9 May 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 3 May 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 21 April 2011
Facebook StumbleUpon Twitter Google+ Pin It

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, 17 December 2010
Facebook StumbleUpon Twitter Google+ Pin It

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, 12 July 2010
Facebook StumbleUpon Twitter Google+ Pin It

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, 4 June 2010
Facebook StumbleUpon Twitter Google+ Pin It

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, 21 December 2009
Facebook StumbleUpon Twitter Google+ Pin It

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!