Google Web Toolkit, Google Doctype, Closure Tools

Closure Logo

Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is open source and used by thousands of developers around the world.

Google Doctype is an open encyclopedia and reference library.

The Google Closure Tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:

  • The Closure Compiler compiles JavaScript into compact, optimized and high-performance code
  • The Closure Library is a broad, well-tested, modular, server-agnostic and cross-browser JavaScript library.
  • The Closure Templates are a client- and server-side templating system that helps developers to dynamically build reusable HTML and UI elements.
  • The Closure Stylesheets is an extension to CSS that adds variables, functions, conditionals, and mixins to standard CSS.
  • The Closure Linter ensures that all JavaScript code follows the guidelines in the Google JavaScript Style Guide.
  • The Closure Inspector is an extension to Firebug, the Firefox debugger extension.

The Google Closure Website provides FAQ’s, a Blog and other resources about Closure tools. The Google Doodle “Happy Holidays 2011”, created by software engineer Nathan Naze, is based on Closure.

reCAPTCHA

reCAPTCHA is a free CAPTCHA service provided by Google that helps to digitize books, newspapers and old time radio shows.

To archive human knowledge and to make information more accessible to the world, multiple projects are currently digitizing physical books that were written before the computer age. The book pages are being photographically scanned, and then transformed into text using “Optical Character Recognition” (OCR). One problem is that OCR is not perfect.

reCAPTCHA improves the process of digitizing books by sending words that cannot be read by computers to the Web in the form of CAPTCHAs for humans to decipher.
Each new word that cannot be read correctly by OCR is given to a user in conjunction with another word for which the answer is already known. The user is then asked to read both words. If they solve the one for which the answer is known, the system assumes their answer is correct for the new one. The system then gives the new image to a number of other people to determine, with higher confidence, whether the original answer was correct.

The technical backround of this technique has been published in a paper in the Science Magazine, Vol 321, 12 September 2008.

Google Swiffy and Adobe Wallaby

In July 2011, Google announced a new online tool called Swiffy to convert .swf files to HTML5. The converted html5 content can be viewed in any modern browser without needing a flash plugin to play.

Swiffy currently supports a subset of SWF 8 and ActionScript 2.0. Swiffy uses a compact JSON representation of the animation, which is rendered using SVG and a bit of HTML5 and CSS3.

Adobe Flash .fla files can be converted into HTML with Wallaby, an installable tool provided by Adobe as an experimental technology.

I tried to convert several .swf files, without success. The following errors occured :

  • The ActionScript function clearInterval is not supported
  • The ActionScript function setInterval is not supported
  • The #initclip pragma is not supported
  • Shape tweens are not supported
  • The ActionScript method MovieClip.getBytesLoaded() is not supported
  • The ActionScript method MovieClip.swapDepths() is not supported
  • The ActionScript method MovieClip.getBytesTotal() is not supported
  • The ActionScript method MovieClip.loadMovie() is not supported
  • An unsupported ActionScript instruction was encountered

 

Google Plus

On june 28, 2011, Google rolled out a new social networking service called Google+. Right now, Google+ is in limited field trial to test with a small number of people, but it won’t be long before the Google+ project is ready for everyone.

Basically, Google+ is an amalgamation of the following services :

  • Circles groups your friends together
  • Sparks helps you find interesting content based on interest
  • Hangouts lets you video chat with all your buddies
  • Huddles is a new group messaging app
  • Instant Upload shares your mobile photos

Further informations are available at the following links :

Google Doodles – how do they do ?

Last update : May 1, 2013

Neli S Gautham Raj [Linuxtree ] and M. Jeyaganesh [Cybergyaan ] created the website devlup, a community of young web developers, programmers and social media enthusiasts.

They published a series of tutorials about the programming of the interactive Google Doodles :

Other great contributions on the websites of the authors are :

Another developer interested in Google Doodles is Alvaro Montoro who created the jquery plugin imageCloud, based on the Christmas 2010 Google Doodle.

Youtube Custom Player discontinued

In june 2011, YouTube removed support for the creation of new Custom Players, a specialized way of embedding playlists for playback on third party sites in a customizable interface. Existing players will continue to function. An example of a YouTube custom player is embedded in Cedrix Crespel’s music video webpage at Leslie’s Artgallery.

Similar functionality is available through creating embedded playlists, which can be accessed by visiting http://youtube.com/my_playlists, clicking Share, and then using the embed code given there.

Google App Engine (GAE)

Google App Engine

GAE (Google App Engine) is a platform for developing and hosting web applications in Google-managed data centers. It was first released as a beta version in April 2008. GAE is cloud computing technology. It virtualizes applications across multiple servers and data centers. GAE is Platform as a Service while AWS (Amazon Web Services) is Infrastructure as a Service.

GAE is free up to a certain level of used resources. Fees are charged for additional storage, bandwidth, or CPU cycles required by the application.

The applications of the logged Google developer are available at https://appengine.google.com/

List of GAE applications

The dashboard allows to manage the different applications (quotas, instances, logs, cron jobs, task queues, blacklists, datastore, blob viewer, settings, permissions, billing, resources, …). A very efficient feature is the version control based on the app.yaml file :

GAE version control

Another useful feature is the error logging :

GAE error logging reports

Pagerank, Content Farms, Search Quality and Black Hat SEO

Last update : June 29, 2013
PageRank is a link analysis algorithm, named after Larry Page and used by the Google Internet search engine, that assigns a numerical weighting to each element of a hyperlinked set of documents. PageRank has been patented; the patent is assigned to Stanford University and exclusively licensed to Google.

The PageRank of a website is shown in the Google toolbar. The PageRank score was however removed by Google in October 2009 from the Webmaster Tools, because Google has been telling people for a long time that they shouldn’t focus on PageRank so much. PageRank is not an important metric for search engine optimisation.

Several providers continue to find the  PageRank data useful and offer free PageRank checkers, for instance at the website www.prchecker.info.

The term content farm is used to describe a company that employs large numbers of often freelance writers to generate large amounts of textual content which is specifically designed to satisfy algorithms for maximal retrieval by automated search engines. Their main goal is to generate advertising revenue through attracting reader page views. Critics allege that content farms provide relatively low quality content.

Search engines see content farms as a problem, as they tend to bring the user to less relevant and lower quality results of the search. On February 24th, 2011, Google announced that they were making a substantial change in their ranking algorithms to purge low-quality informations in the search results.

A black hat is the bad guy in a western movie. In computing slang it refers to a computer hacker. Black Hat search engine optimization is defined as techniques that are used to get higher search rankings in an unethical manner. Some of these techniques are keyword stuffing, invisible (hidden) text, cloaking, duplicate content and doorway pages.

Further informations about the Google search algorithms are available at the scriptol website.

Google Text-to-Speech (TTS) support

Last update : 30 April 2011

On november 16th, 2009, Google announced on their official blog that english text-to-speech was added to the translation tools.  Google used eSpeak, which is an open source software speech synthesizer for this service.

In may 2010,  Google Translate added more audio translations languages, including Afrikaans, Albanian, Catalan, Chinese (Mandarin), Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Haitian Creole, Hindi, Hungarian, Icelandic, Indonesian, Italian, Latvian, Macedonian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Turkish, Vietnamese and Welsh.

The speech audio is in MP3 format and is queried via a simple HTTP GET (REST) request. For english, an example url is:

http://translate.google.com/translate_tts?tl=en&q=how are you?

The TTS web service is restricting the text to 100 characters and the service returns 404 (Not Found) if the request includes a Referer header.

December 3, 2010, Google acquired Phonetic Arts, a company specialised in speech synthesis. Phonetic Arts Limited delivers technology that generates natural expressive speech. The products include Phonetic Morpher,  Phonetic LipSync  and Phonetic Synthesizer. Phonetic Arts, formerly known as Tayvin 356 Limited, was founded in 2006 and is based in Cambridge, UK.  The Phonetic Arts technology generates natural computer speech from small samples of recorded voice and should improve the voice output quality of Googles text-to-speech applications.

Google does not only provide speech output tools, but also speech input tools (Voice Search, Voice Input, Voice Actions), mainly in relation with the mobile phone OS Android.

Version 11 of the Google Chrome browser includes the HTML5 Speech Input API.

An amusing application of the Google TTS system is the Google Translate Beatbox.

Find images that contain a certain color

Imagekind Artshop

The Multicolr Search Lab tool created by Idée Inc. allows to find images that share specified colours. There are others who offer this option.

Jim Bumgardner (alias krazydad) developed in 2006 a widget to search flickr photos by color (Colr Pickr). Color Hunter offers a similar service.

Google Image Search  lets you restrict the results based on color. For now, the option is not available in the user interface, but you can tweak the search results URL to try it. More informations are available at the Google Operating System Blog which is not affiliated with Google.

The Imagekind artshop lets you choose artworks by specifying a dominant and four other colors.

Etsy, an online shop of handmade products, has developed color search for their own product database.

PicItUp is a visual image search engine that combines word-based with color based search.

A COLOURlovers community, made up of people from around the world and from all walks of life, are gathering together under the common love of color.

Matt Mueller based the final project for his Computational Photography class on the Idée Labs tool Piximilar.

Daniel Flück posted his tool Color Name & Hue on his website colblindor. He was inspired by the tool Name that color created by Chirag Mehta.

A server version (isk-daemon) and a desktop version (imgSeek) of an image database management system have been developed by  Ricardo Niederberger Cabral as open-source project (licensed under the GPL). Color analysis is also a topic in the ImageMagick discussion forum.