Google Devfest 2010 - AffinityLive and the Marketplace

31
Google Confidential and Proprietary Integrating with the Apps Marketplace Geoff McQueen

description

Presentation at Google Australia's Devfest 2010 event, introducing AffinityLive and talking people through our hard learned lessons with Google Apps integration.

Transcript of Google Devfest 2010 - AffinityLive and the Marketplace

Page 1: Google Devfest 2010 - AffinityLive and the Marketplace

Google Confidential and Proprietary

Integrating with the Apps MarketplaceGeoff McQueen

Page 2: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Where we’ll go today

What is AffinityLive?

Why the Marketplace & Google Apps?

Integration & Challenges with Google Apps

• Single Sign-On

• Calendar

• Contacts (incl shared directory)

• Schedule

• Future: Docs, Contextual Gadgets, Wave

Conclusions & Next Steps

2

Page 3: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

What is AffinityLive

Web-based Professional Services Automation (PSA) software

Currently in Private Beta – launch in Sept 2010

CRMMaking the Sale

PSADoing the Work

AccountsGetting Paid

Page 4: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Job & Task Tracking

Page 5: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Job & Task Tracking

Page 6: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Job & Task Tracking

Page 7: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Work & Scheduling

Page 8: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Work & Scheduling

Page 9: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Emails, Notes & Files

Page 10: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

AffinityLive: Emails, Notes & Files

Page 11: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Why integrate with Google Apps & Marketplace?

Google Apps:

• Our users are asking for integration

• Gives our product new features for low effort Calendar

Wave

Google Apps Marketplace:

• Market: large potential market of cloud-believing customers Over 2 million businesses using Google Apps

Over 3000 new businesses sign up a day

• Channel: existing sales & support ‘channel’ through Apps partners

• Credibility & Publicity: Google seen to be ‘vouching’ for us

There are challenges – technical & business – to overcome though!

Page 12: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Integrations with Google Apps

Single Sign-On via OpenID and OAuth

Calendar

Contacts

Schedule

Docs

Contextual Gadgets

Wave

Storage

Page 13: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Single Sign-On with OpenID

Page 14: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Single Sign-On with OpenID

Page 15: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Single Sign-On with OpenID

Page 16: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Single Sign-On with OpenID – Lessons Learned

Google Federated Login ≠ OpenID

• Need to check additional domains

• Ability to add OAuth scope options – hybrid

Glenn’s Net::Google::FederatedLogin for Perl

What 2-Legged really means – über impersonation!

Support multiple Apps domains per ‘client’ or not?

OAuth: AuthSub & Scope Error Messages – beware https!

On-Boarding of new users – they come in authenticated but unknown

Security issues in self-editing account info - some fields should be locked

Page 17: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Calendar

Page 18: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Calendar

Page 19: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Calendar

Page 20: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Calendar – Lessons Learned

Fun with invitations & requests

• Make sure you use the attendee status, type & notification values or you’ll get phantom appointments

Gmail’s identity crisis – all your bases belong to us

• If a Gmail user has added their non-Gmail address to their Google Account, Google will think it is control of their calendar

Extended properties are hidden (great), but you can’t search for them

• Make sure you keep sync info in your app for updates, etc

Choices about “multiple calendars” and what to sync with

Page 21: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Contacts

Page 22: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Contacts

Page 23: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Contacts – Lessons Learned

Two types of contact lists

• Personal contact list

• Shared contact list (Directory), only in Premier

Patience, my friend, patience

• ‘Contacts’ interface very laggy

• Shared contact list can take up to 24 hours!!! (it is in the docs)

Email address primary key in Contacts, but you can’t search on it

• Again, you’ll need your own sync records on your end

Use the right Gdata version header – Contacts is now on 3.0!

Page 24: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Schedule

Page 25: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Schedule – Lessons Learned

Ability to visualise all time commitments is very popular with users

Need to handle the multiple-calendar issue intelligently

Searching for entries based on dates and modified times is great

• But you can’t search on extended properties

Still working through best way to put schedule info back into Calendar

Page 26: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Docs

Still experimenting/testing integration

Issues/Considerations:

• Hybrid environments suck – choices to make

• Import/export is good, but lose version history of course

• Shared/common doc folder only for Premier accts

• Sharing/ACL issues for us – opposite assumption

Page 27: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Contextual Gadgets

Still experimenting/testing integration

Issues/Considerations:

• Performance issues on your end – be ready for load!

• Strong regex model to describe whether to fire is great!!!

• Unfortunately, you can’t run regex across arbitrary headers Message-ID and References would be obvious ones to add

• Could be a bit too attractive/appealing – overload in the UI

Page 28: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Wave

Still experimenting/testing integration

Issues/Considerations:

• Creating and Embedding Waves now much easier

• Federation still a bit bleeding edge

• Wave API allows for OAuth based Wave interactions – more coming soon!

• Wave doesn’t yet support 2-Legged OAuth

• Marketplace manifests don’t “know” about Wave yet

• Business/interface issues: what role/depth should Wave play?

Page 29: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Storage

Currently experimenting/testing

Issues/Considerations:

• Yet another authentication framework AuthSub, OAuth & now Storage keys!?!

• Three way interplay: Storage, Docs & AffinityLive

• Sharing, ACLs & Bucket limits – different approach

• Potentially cost-effective backup/archive solution

• Desktop/Network Drive interfaces for users

• Where does Storage fit into the Apps/Enterprise play?

Page 30: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Summary

Technical:

• OpenID and OAuth are challenging & fluid

• Documentation is extensive but scattered

• You need to handle sync status & IDs

• Security considerations get more tricky

• Many levels of “being integrated”

Business:

• More than 2 million businesses today on Apps

• Over 3000 new businesses a day ‘Going Google’

• System Integration=Evil. Business knows this. Marketplace & integrations remove this pain

Page 31: Google Devfest 2010 - AffinityLive and the Marketplace

© Hiive Systems 2010

Contact Details & Questions

Questions? Comments? Abuse?

Private Beta Signup: www.affinitylive.com

My Details:

• Geoff McQueen, Founder, Hiive Systems

[email protected]

• @geoffmcqueen