Wednesday, September 29, 2010

Google Docs Adds a Revision History Sidebar

Google Docs Adds a Revision History Sidebar: "When Google released the new version of Google Docs, one of the missing features was comparing revisions. The latest update to Google Docs brings this feature back, but only for consecutive revisions.

Google Docs adds a sidebar that lists the most recent revisions and lets you preview them. 'Click on a time stamp in the right column to see what changes were made at a given time or use the arrow keys to quickly scan through many revisions. Changes are color-coded based on each collaborator, making it easy to tell what has been added or deleted,' explains Google.

Google groups the changes from a short period of time into a single revision, but you can click on 'Show more detailed revisions' to see all the changes.


You can also use the up/down keys to scan through revisions and press Escape to go back to the editor.





"

Friday, September 24, 2010

More Options for Importing Files into Google Spreadsheets

More Options for Importing Files into Google Spreadsheets: "Google Spreadsheets improved the feature that lets you import files. After uploading a file, you can preview it, select a separator character and choose where to put the data. You can create a new spreadsheet, insert a new sheet, replace the spreadsheet or only the current sheet, append the data to the current sheet or replace the data starting from the selected cell.


You can't select multiple delimiters, exclude certain columns or pick the data format before importing the file. These features are available in Microsoft Excel and, even though some them aren't necessary, they make it easier to properly import the data you need.

{ Thanks, Daniel. }



"

Thursday, September 23, 2010

Behind the Scenes of Gmail's Priority Inbox

Behind the Scenes of Gmail's Priority Inbox: "Ario Jafarzadeh, Experience Designer on the Gmail team, gave a great talk about Priority Inbox at the Google Zürich headquarters. 'Priority Inbox, to me, typifies what I hope will be a much larger trend in online consumption... one that gives users more control over what can grab their attention vs the pure chronology based world that has dominated the web for so long,' says Ario.

Priority Inbox started as a '20 percent project' at Google Zürich, back in 2008. It's been initially called Magic Inbox, a name that was referenced in Gmail's source code last year. Google wanted to hide the complexity of the feature by using a simple interface that can be customized to suit your needs. The '+'/'-' buttons that let you change the importance of a message were inspired by the street signs from Zürich.


Ario says that Priority Inbox could be improved by grouping related conversations, so you can quickly deal with multiple messages. It's just one of the many improvements that could make Gmail's inbox smarter, especially for those who receive a lot of messages.


{ via Piers Fawkes }



"

One place to find everything new from Google

One place to find everything new from Google: "If it seems to you like every day Google releases a new product or feature, well, it seems like that to us too. The central place we tell you about most of these is through the official Google Blog Network, where you’ll find more than 100 blogs covering all kinds of products, policy issues, technical projects and much more.

But if you want to keep up just with what’s new (or even just what Google does besides search), you’ll want to know about Google New. A few of us had a 20 percent project idea: create a single destination called Google New where people could find the latest product and feature launches from Google. It’s designed to pull in just those posts from various blogs. We hope it helps you find something useful you’ve never tried before.



Posted by Ji Lee, Google Creative Lab


"

What’s different about the new Google Docs: Conflict resolution

What’s different about the new Google Docs: Conflict resolution: "Editor’s note: This is the second in a series of three posts about the collaboration technology in Google Docs. Yesterday, we explained some of the technical challenges behind real time collaboration.



Think of the history of a document as a series of changes. In Google documents, all edits boil down to three basic types of changes: inserting text, deleting text, and applying styles to a range of text. We save your document as a revision log consisting of a list of these changes. When someone edits a document, they’re not modifying the underlying characters that represents the document. Instead they are appending their change to the end of the revision log. To display a document, we replay the revision log from the beginning.



To see what these changes look like, suppose that a document edited by John and Luiz initially reads; EASY AS 123. If John (represented by green) changes the document to EASY AS ABC, then he is making four changes:





Collaboration is not quite as simple as sending these changes to the other editors because people get out of sync. Suppose as John is typing, Luiz (represented by yellow) begins to change his document to IT'S EASY AS 123. He first inserts the I and the T at the beginning of the document:





Suppose Luiz naively applies John’s first change {DeleteText @9-11}:





He deleted the wrong characters! Luiz had two characters at the beginning of the doc that John was never aware of. So the location of John’s change was wrong relative to Luiz’s version of the document. To avoid this problem, Luiz must transform John’s changes and make them relative to his local document. In this case, when Luiz receives changes from John he needs to know to shift the changes over by two characters to adjust for the IT that Luiz added. Once he does this transformation and applies John’s first change, he gets:





Much better. The algorithm that we use to handle these shifts is called operational transformation (OT). If OT is implemented correctly, it guarantees that once all editors have received all changes, everyone will be looking at the same version of the document.



The OT logic in documents must handle all of the different ways that InsertText, DeleteText, and ApplyStyle changes can be paired and transformed against each other. The example above showed DeleteText being transformed against InsertText. To get a feel for how this works, here are a couple more examples of simple transformations:

  • Style ranges expand when they are transformed against text insertions: {ApplyStyle bold @10-20} transformed against {InsertText 'ABC' @15} results in {ApplyStyle Bold @10-23}.

  • Sometimes changes don’t conflict and there’s no need to transform anything. For example when a style change is transformed against a different type of style change, there is no conflict: {ApplyStyle italic @10-20} transformed against {ApplyStyle font-color=red @0-30} results in the same {ApplyStyle italic @10-20} because the range of text can be both red and italic simultaneously.

Collaboration in Google Docs consists of sending changes from one editor to the server, and then to the other editors. Each editor transforms incoming changes so that they make sense relative to the local version of the document. Tomorrow’s post will outline the protocol for deciding when each editor uses operational transformation.



Posted by: John Day-Richter, Software Engineer


"

Get ready to Rocksteady

Get ready to Rocksteady: "Rocksteady is an effort to use Esper Complex Event Processing (CEP) to analyze user defined metrics. You can use it to parse your data and turn it into events that Esper CEP can query so that you can respond to events in real time.

Too often, metrics and graphs are only useful as an aid in analyzing what happened after things have gone wrong. Staring at a dozen graphs on a TV wall isn't monitoring, it's a waste of time. The goal of Rocksteady is to determine the root cause of breakage based on metrics in real time. Metric analysis is only part of the whole picture though, as we also present solutions including metric convention, metric sending, load balancing, and graphing.

Rocksteady can be used in a number of different environments, but here on the AdMob operations team, we use it to determine the cause of events such as latency. We monitor requests per second (rps) and a slew of other metrics such as CPU and network traffic, then put them together in a prediction algorithm such as Holt Winters to predict a confidence band for the next arriving value. We then record an event whenever metrics are outside the band more than a certain number of times in a row. This is what we call auto threshold establishment. Now, if we have a SLA we really care about, such as response time, we can set a hard threshold, say 250ms. When response time slows beyond 250ms, Rocksteady tells us whether rps, CPU or network crossed their respective thresholds. Now instead of just knowing there is a latency problem, we can also quickly pinpoint the potential cause.

Rocksteady was briefly mentioned in Ignite talks at the 2010 Velocity Conference and Devops Day and now it’s finally ready for open source. Let us know if you have any questions, and enjoy!

By Mark Lin, Operations Engineering Team


"

Sunday, September 12, 2010

Untitled

A house is made of walls and beams; a home is built with love and dreams...

Wednesday, September 8, 2010

Google Scribe

Google Scribe: "Google launched a very interesting tool that offers suggestions as you type: Google Scribe. It's not exactly the service I anticipated 3 years ago, but Google Scribe works surprisingly well. For example, I started to type 'This works sur' and Google suggested 'This works surprisingly well', which is exactly what I wanted to type. Instead of typing 14 characters, I could only type '1' or press Enter to select the first suggestion.


'Google Scribe provides text completion service. Using information from what you have already typed in a document, Google Scribe provides related word or phrase completion suggestions. In addition to saving keystrokes, Google Scribe's suggestions indicate correct or popular phrases to use,' explains Google.


The nice thing about this service is that you don't need to use Google's editor. You can add a bookmarklet to your browser and use Google Scribe in Gmail, Blogger, Google Docs or on any web page that includes text fields.


Google Scribe only works for English right now, but I'm sure that Google will add many other languages in the future. If you don't like to see suggestions for all the words you type, enable the on-demand mode (Ctrl+Shift+J) and you'll only see suggestions when you press Tab.

Since Google uses data extracted from web pages, you'll see a lot of strange suggestions like this pattern from Google's navigation bar:


or this text, which is frequently used on IngentaConnect's site:


{ Thanks, Robert. }





"