Following Steve Fraktor article on article on Google strategy I decided to dust out an drafted version of my vision of Google strategy I wrote following Google I/O 2013. Steve Faktor ask if Google will eat your business next? He is addressing this questions to start up or other innovative companies. While Google will steps on other people grass for sure, I was more impressed by the Google ability to provide an unified experience across channels and how Google might just become our next personal assistant.
Toward a unified experience
I am amazed by the work done by Google to offer a unique and comprehensive experience across its products. Google+ is becoming more a central identity management framework than a social network. Google+ is now the central repository for all your data and its where Google build your profile. For example any +1 from your network are now available through the maps or search interface. Thanks to the sign in with Google+ functionality, each Google products speaks to each other and data collected on one side is leveraged somewhere else providing an unified experience to the user and a deep profiling for Google ads program.
Each products on its own might not the best in its category (Google+ as social network, Google picture vs flikr …) but the overall experience beats most other services out there and as Steve Faktor points out, each products help to Google to get better data on you and thus better profile its ads. They also help Google to defend Internet usage time against competitors by making you staying longer on Google page rather going on Facebook.
Will Google become your next personal assistant?
Google is working hard to make the human / machine dialogue flow more naturaly. Earlier this year Google start to leverage data and technology of Metaweb and Freebase (acquire in 2010) through the Knowledge Graph. Now combine this with the release of Google Now to help you to manage your agenda, basic search and reminders and Google Voice functionality (to search, translate or write email) and you have a powerful assistant in your pocket.
The need for a back office or skills to do those basic factual searches in behalf of manager, CEO or other people will decrease, since Google is doing for you and for free. Once you taste it will be hard to live without it and you will keep feeding Google algorithms with more personal data for their ads engine …. as Steve Faktor wrote:
Every Google service is a tantalizing and addictive mix of free (or cheap) utilities that make our lives easier or more productive. […] Google accomplishes all this through a combination of organic products, non-stop upgrades, and acquisitions. Each one must create deep roots (email, contacts, smartphone) and painful switching costs (did anyone survive Apple Maps?).
The intended effect of all Google services is a lot like a casino. Google wants to envelop you in its world until you can’t find the exits. Once inside, you’ll tell the dealer your life story as he takes your money…
However one interesting statement has been made at the beginning of the session:
Design is following the same path as quality within IT product development team.
It is now part of everyone job, and not only the responsibility of a group of specialist,
and should be in taken into account in every stage of the product development.
The Cognitive Science and Design session has been very intense in terms of information delivery. Tons of excellent advice No break through tricks or process have been presented during this session, only a solid list of things to keep in mind while designing your next screen.
Alex Faaborg and reminds the audience about the risk of design blindness, as
you are not right person or team to judge your design, and
once you launched something it is really hard to go back or do radical changes on it, since
a user make up his first opinion (trust, reliability, purchase) on a product based on its design, and it take times to change his mind for an other product / solution – first appearance / interaction has to be solid.
Then the session break down under four mains topics:
This post will cover the two sessions I attended on responsive design and HTML5 / CSS3 features for cross platform development.
The Point, Click, Tap, Touch session presented touchevent events (touchstart, touchmove, touchend, touchcancel) for tactile devices and how they differ with mouse events when selecting or dragging an element. The touchevent API is supported by all major browsers. Google released a mobile emulation tools for developers to emulate touchevent, viewport and other mobile device specific functionality.
For cross device development the main recommendations was to
Design bigger targets and button to take into account touch screen device (phone, tablet and now touch screen laptop) or to enlarge your button when you detect a touch event on the page.
Stop using hover events as on a touch screen device a single tap both activate the hover event and the link event in the same time, the link event “over riding” the hover one.
Coming back from the conference and testing the pixel chromebook (a touch screen laptop) on Netflix has been a great experience on what NOT to do. On Netflix when you hover over the cover of a movie a short synopsis and link to related items are displayed, while a click will start the movie. Not being able to see description of the item totally killed my user experience and forced me to get back to my mouse.
An other consideration to keep in mind with the new touch screen laptop is to not disable the mouse if a touch is detected (I’m glad Netflix haven’t done that!) and have your page to listen to both mouse and touch event. You can use event.preventdefault() to manage exceptions.
The second the session, a more awsome web, introduced more experimental features currently supported by a limited amount of browser. Nevertheless, some of them are promising when widely supported and I noticed the following interesting features:
Using the css @-viewport feature you can define size of your page elements, image and font based on the screen resolution of the device, which is perfect for a responsive design page.
The introduction of CSS variables using -var- (only in beta in chrome for now) will help for sure front end developers.
The position sticky to manage sticky element that roll or disappear based on certain conditions (for example keep an header at the top of the screen or replacing H2 elements when scrolling down) and css clip-pathlet you crop and clip any image based on certain conditions looks promising to develop nice and fun web application.
The clip-path option will also help for responsive design when combine with the viewport feature.
The web audio and speech api (only in chrome) let you to records and transform sounds directly in the user browser, so you can offer google voice / siri like features to control your application.
Watch the presentation for the full list of feature introduced (or check the presentation)
In the meanwhile you can go on chromestatus.com to see which browser support which features and use the CSS supports to test if the browser support a specific feature and return true and false statement so you can defined fall back event accordingly.
I had the chance to attend two sessions on freebase and Google Knowledge Graph during Google I/O 2013.
The first sessionwas a general introduction on the linked data concept and presentation of the work done around shema.org. A platform developed by Bing, Google, Yahoo! and Yandex in partnership with W3C to develop standard around linked data and semantic web.
Schema.org is like a massive dictionary and mark up model to describe various entities through a huge collection of properties. You can browse the full list of entities describe from this page. This session also present webmaster tools to
use information from schema.org and
test how data will render on different search engine
see usage of your data
improve your data markup
The second sessionwas more focused on freebase, and how anyone can leverage knowledge and data stored in it using its API. For example, the Freebase search widget is ready to integrate code to browse freebase entities given a specific category and a keyword (through the search function). The widget returns list of possible matches that the user can browse by hoovering the hits in the drop down list. If used in a production environment the API results should be constraint as it can return
way too many matches
information on a matches that are not useful in your use case.
For example playing a bit with API, the following query will provide 20 city part of Ontario:
I invite you to read the cookbook to master various constraint and query parameters as the API is flexible to query or display only certain fields. You can see more usage of freebase search API by checking the documentation.
Using the topic API, one can quickly retrieve all information available on freebase for a specific entity. This get interesting once you know that freebase also stored links to other notorious web pages and social media (twitter, facebook, wikipedia …) for most topic (people, organization, location).
This session was also the opportunity to ask questions regarding methodology to maintain data quality on freebase (since information are pull out from wikipedia and any user can submit changes and new information), where we learned that freebase:
flag duplicate for merge process
wait two weeks to integrate wikipedia changes, so the wikipedia community has time to moderate it (freebase / google and wikipedia has developed formal relationship around this project)
keep track of all changes with user id and timestamp so can flag and / or revert submission that doesn’t meet freebase standards (the moderation system is similar to the wikipedia one)
Overview: Google Visualization API works with JSON as an input source and produce interactive HTML5 / SVG chart. Currently 12 type of visualizations are available using a different packages. If not specified the API select the best color and scale to display the data.
Nice feature: As it already works in Google Fusion Table, the map package automatically detects country, states and other location name and display them properly on the map. User still have the option to defined long / lat coordinate for specific points.