Friday, March 11, 2011

Celebrating 1 year of Integrated Goodness

Celebrating 1 year of Integrated Goodness: "The Google Apps Marketplace turns one year old today. Over the last year, we’ve seen over 300 business applications join the Apps Marketplace. As a Developer Advocate on the Apps Marketplace, I’ve worked with the developers and product managers of many of these applications to help them understand our APIs and how integrations will help their users.

On our first birthday, I want to share some of my thoughts based on what I’ve seen as an advocate for developers and our mutual customers.

My definition of deeply integrated

A deeply integrated app is one that values my time -- the developers have done everything possible to build an amazing user experience throughout the process of configuring and deploying the application as well as day-to-day use.

When integrations truly impress me, I call them star integrations.

Stop making me create accounts and passwords

This is a core tenant of the Apps Marketplace, and one that I strongly believe in. We knew we wanted to eliminate the proliferation of passwords and create a smooth Single Sign-On (SSO) experience when we were building the Marketplace.

While not many business applications had adopted OpenID for authentication, we rallied behind this open standard (with some additional discovery extensions) to enable SSO. I’m happy and proud to say there are now hundreds of business web applications which are OpenID relying parties. While some only support Google Apps, or Google Apps and Gmail accounts currently, it’s a step in the right direction for our users.

How does Single Sign-On work with the Apps Marketplace? It’s super simple for a user to access all of their apps from the navigation at the top of Gmail, Calendar, Docs and more.

Beyond access from Google’s applications, some apps also allow their users to login via their Google Apps accounts directly from their homepages. This saves time for users and gets these integrations a shiny Star in my book.


Cohuman: Allows me to sign in with my Google Apps account directly from their site, in addition to providing Single Sign-On access from the universal navigation bar

Eliminate my data silos

I want one calendar, one set of contacts, one e-mail inbox, and one repository for my documents. I don’t want to re-enter this information in yet another application-- I already have it in Google Apps.

I often hear developers say ‘2-way synchronization is a hard problem.’ I agree, but sometimes the hard work is worth it to build a great user experience.

Auto-complete my Contacts

I don’t always remember the e-mail addresses of my friends, colleagues and clients, but that info is in my Google Contacts. The good news is, building auto-complete using the Google Contacts API can mostly be done in the front-end, without full synchronization. When you prompt me with a ‘To’ field to invite someone to collaborate on a project with, you should make it super easy for me to fill out.


Mavenlink:Allows me to send invitations to contacts or colleagues to collaborate on a project. They make it very easy by auto-completing addresses using my Google Contacts.

Connect with my Google Docs

I store everything in my Google Docs -- my presentations, my financials and even some of my favorite screenshots. Please, please, please don’t make me export and import docs, but rather enable me to easily use those docs from within my favorite applications.

Manymoon: Automatically manages the ACLs of docs I attach to a task or project, so new project members automatically get access to the project docs


Your integration with Google Docs doesn’t need to be only in your interface. I love it when developers take new features in the Google Apps UI and extend them to be features of their applications. For example, collections (folders) in Google Docs enable you to organize and share your content, but they’re typically just a loose collection of documents. Your application can make them more useful by creating folders and managing their content.


class.io: Creates a Google Docs folder and Google Calendar automatically when a teacher creates a new course. This allows students to access all the information about their class from within the tools they already use.

Manage my central calendar

If I have an upcoming project due, a phone call with an important customer, or a homework assignment to turn in, I want to be able to go to my Google Calendar and see all the events. I don’t want to bounce between a dozen apps (even with the wonders of SSO, that’s painful!). If your application has any date-based data, give me the option of using Google Calendar to store it.

To do this, there are two basic ways to store data from a third-party app in Google Calendar -- in the user’s personal calendar, or by creating a separate (“secondary”) calendar for a project or other entity. I’m often asked which is the best strategy, and this is one of the few things I don’t have an opinion on. Do what your users want, or offer both options.

TripIt: Has a Calendar Sidebar Gadget to give me a quick glance view of my upcoming trips

When an app puts events into my Google Calendar, I’m also able to take advantage of built-in support for things like alerts, which gives me configurable popup, email and SMS notifications of my upcoming events.

Make my data available on the go

I’m not always sitting at my desk waiting for the next phone call or e-mail to flow in -- I’m on US-101 for a few hours every day. I’m fortunate to be on a Google shuttle where my laptop is easily accessible, but not all of your users are that lucky.

Google has made all of my favorite apps, like Google Calendars, Contacts, Mail and Chat all work really well on my Android phone. We’ve also invested in sync for other devices such as the Blackberry and the iPhone.

When you eliminate data silos and allow me to store all my info in Google Apps, you also empower me to use my data everywhere I go, making me a more productive and happier user.

AffinityLive: Creates appointments in Google Calendar, making them available on the web and on your mobile device

Some apps on the Marketplace also provide mobile-optimized web sites or native mobile apps to help you access your app-specific data on the go. But how do you do SSO on a mobile device? This is the biggest challenge Apps Marketplace developers mention when building mobile versions of their apps. There are several different strategies which work well for Marketplace apps. The best solution I’ve seen is using OpenID to open a browser and login to TripIt, with a custom URL scheme registered as the Intent Filter in Android. Sure, opening a browser is a little ugly, but since I’m often already logged into my account, it’s a smoother experience than typing a username+password. Alternatively, the mobile apps for Concur Breeze use a one-time mobile PIN which you must enter when you first setup the app.

Enable me to take action in context

How often do you copy and paste an e-mail address from Gmail into your CRM to lookup a customer? Or look at a Calendar appointment and want more information about the people you’re meeting with? Or receive an e-mail asking you to approve an expense report, requiring you to popup a new window and login to your expenses app?

You shouldn’t have to, and a deeply integrated app won’t make you.

Show me relevant information next to my e-mails

Gmail Contextual Gadgets ranks as my favorite API we’ve released for Google Apps. It allows you to register a regular expression which attempts to match against each Gmail message -- using the e-mail addresses, subject or body of the message. If a match succeeds, your application is triggered as a gadget which appears below each matching e-mail message.

That’s the geeky definition, but what do Gmail Contextual Gadgets do in practice? They save me, and all your other users plenty of precious time, by allowing us to see information take action to e-mails right within the context of those messages.

Harvest: If I forgot to submit my timesheets for the week, it sends me a reminder and I can file the timesheets right from within the email


Solve360: When I receive an e-mail from a potential customer, I can immediately capture the opportunity in my CRM

Become my friend in Google Talk

Gmail gadgets aren’t the only way that apps can make me more efficient in the context of my other tasks. Apps can also take advantage of Google Talk, which is available for Google Apps users in Gmail, in iGoogle and on their mobile devices.

GQueues: Uses the XMPP functionality built into App Engine to allow me to IM the application to add a new task. So, if I have an e-mail open or am running around with my Android, I can pop open a Google Task and quickly add a task.

Make my dates more Interesting

Calendar Sidebar Gadgets are also contextual, allowing you to display relevant information about the event. Imagine if the created event was about a project-- a sidebar gadget could display other upcoming events related to the project, information about the members in the project and give quick access to relevant documents.

Let me pack my bags if we must part ways

Google has an initiative and team called the Data Liberation Front. Their goal is to make sure it’s really easy to move data in and out of Google products, like Calendar, Contacts, Docs and more. They enable data portability through a combination of user-facing UI and developer-facing APIs.

Some of the applications on the Apps Marketplace also make it easy to move data in and out.

Viewpath: If I want to get my data out of Viewpath, I can easily export it as a Microsoft Project file.

Earn your stars!

Get started on your integrations now and earn stars from your customers . Then work with those customers to share the story of how your deep integrations with Google Apps made them happier and more efficient.

If you’re feeling your creativity is limited by the available integration points offered by our APIs, let us know how we can help by chiming into the Buzz stream below. Also chime in if you want to share an awesome integration you’ve built, even if you’re not quite ready to share a customer story.

Want to weigh in on this topic? Discuss on Buzz




Ryan Boyd profile | twitter | events

Ryan is a Developer Advocate on the Google Apps Marketplace team, helping businesses build applications integrated into Google Apps. Wearing both engineering and business development hats, you'll find Ryan writing code and helping businesses get to market with integrated features.


"

We want YOU-Tube: now hiring

We want YOU-Tube: now hiring: "(Cross-posted from the YouTube Blog)



Nearly six years ago, YouTube was created to enable people to create, share and discover the world through video. Today, 35 hours of video is uploaded to YouTube every minute and we see well over 2 billion views a day. It’s been amazing to watch an idea become a platform that turned into a stage for hundreds of millions of people to express themselves. We now have aspiring filmmakers and musicians building their careers on YouTube, activists opening our eyes to global issues and individuals telling their stories in ways that only video can capture. And because we believe that technology and platforms like YouTube are giving rise to the most diverse set of faces and voices ever seen or heard in human history, us YouTubers really enjoy and feel proud to work here.







2010 was a bang-up year. And in 2011, we plan to grow the number of people working at YouTube by more than 30% (!), making it the largest hiring year in YouTube’s history. We’re looking for top talent from around the world. Why don’t you join us?



Posted by Jeff Ferguson, YouTube HR


"

Hide sites to find more of what you want

Hide sites to find more of what you want: "Over the years we’ve experimented with a number of ways to help you personalize the results you find on Google, from SearchWiki to stars in search to location settings. Now there’s yet another way to find more of what you want on Google by blocking the sites you don’t want to see.



You’ve probably had the experience where you’ve clicked a result and it wasn’t quite what you were looking for. Many times you’ll head right back to Google. Perhaps the result just wasn’t quite right, but sometimes you may dislike the site in general, whether it’s offensive, pornographic or of generally low quality. For times like these, you’ll start seeing a new option to block particular domains from your future search results. Now when you click a result and then return to Google, you’ll find a new link next to “Cached” that reads “Block all example.com results.”





As always, Matt’s been gracious enough to let us use him as an example. His site is awesome, though, and we doubt many people will want to block it!


Once you click the link to “Block all example.com results” you’ll get a confirmation message, as well as the option to undo your choice. You’ll see the link whether or not you’re signed in, but the domains you block are connected with your Google Account, so you’ll need to sign in before you can confirm a block.





Once you’ve blocked a domain, you won’t see it in your future search results. (Side note: Sometimes you may have to search on a new term, rather than simply refreshing your browser, before you'll notice the domain has been successfully removed.) The next time you’re searching and a blocked page would have appeared, you’ll see a message telling you results have been blocked, making it easy to manage your personal list of blocked sites. This message will appear at the top or bottom of the results page depending on the relevance of the blocked pages.





You can see a list of your blocked sites in a new settings page, which you can access by visiting your Search Settings or clicking on the “Manage blocked sites” link that appears when you block a domain. On the settings page you can find details about the sites you’ve blocked, block new sites, or unblock sites if you’ve changed your mind.





We’re adding this feature because we believe giving you control over the results you find will provide an even more personalized and enjoyable experience on Google. In addition, while we’re not currently using the domains people block as a signal in ranking, we’ll look at the data and see whether it would be useful as we continue to evaluate and improve our search results in the future. The new feature is rolling out today and tomorrow on google.com in English for people using Chrome 9+, IE8+ and Firefox 3.5+, and we’ll be expanding to new regions, languages and browsers soon. We hope you find it useful, and we’ll be listening closely to your suggestions.



Posted by Amay Champaneria and Beverly Yang, Search Quality Engineers


"