Wednesday, September 15, 2010

Focusing on Our Users: The Google Health Redesign



When I relocated to New York City a few years ago, some of the most important health information for me to have on hand was my immunization history. At the time, though, my health records were scattered, and it felt like a daunting task to organize them -- a not-uncommon problem that many people face. For me, the solution came when Google Health became available in May of 2008, and I started using it to organize my health information and keep it more manageable. I also saw the potential to do much more within Google Health, such as tracking my overall fitness goals. When I joined the Google Health team as the lead user experience researcher, I was curious about the potential for Google Health to impact people’s lives beyond things like immunization tracking and how we could make the product a lot easier to use. So I set out to explore how to expand and improve Google Health.

Here at Google, we focus on the user throughout the entire product development process. So before Google Health was first launched, we interviewed many people about how they managed their medical records and other health information to better understand their needs. We then iteratively created and tested multiple concepts and designs. After our initial launch, we followed up with actual Google Health users through surveys, interviews, and usability studies to understand how well we were meeting their needs.



From this user research, we learned what was working in the product and what needed to be improved. Here are some of the things our users found especially useful:
  • Organizing and tracking health-related information in a single place that is accessible from anywhere at any time
  • Sharing medical records easily with loved ones and health care providers, either by allowing online access or by printing out health summaries
  • Referencing rich information about health topics, aggregated from trusted sources and Google search results

Our users also described to us the benefits they saw from using Google Health:
“Google Health gives me many tools to research my prescriptions and symptoms, and to track all of the many tests I keep having. Google Health made several necessary and cumbersome tasks easy and worry free.”

“For years now, I've tried to remember my son’s allergies and medications, but the list has grown so long, that I kept forgetting one or two when a doctor asked me about them. That can't happen again because I now have a single place to keep up with them. And I love the fact that I can print off information for situations when I really need it.”

“I really like that I can share my profile with others. I want my mom to know my medical information, just in case anything ever happens to me.”

While we learned that our users were clearly getting positive results from using Google Health, our research also taught us that more was needed. We learned that we needed to make fundamental changes to fully meet the needs of all of our current and prospective users, such as those that are chronically ill, those who care for family members, and especially those users looking to track and improve their wellness and fitness.

On this last point, our user surveys already pointed out that there was more we could do to help our users track and manage their wellness, not just their sickness, so we conducted further research about how people collect, monitor, track, and analyze their wellness data. We interviewed several people in their homes and invited others into our usability labs. As a result, we identified several areas where we could improve Google Health to make it a more useful wellness tool, including:
  • Dedicated wellness tracking including pre-built and custom trackers
  • Efficient manual data entry as well as automatic data collection through devices
  • A customizable summary dashboard of wellness and other health topics
  • Goal setting and progress tracking using interactive charts
  • Personalized pages for each topic with rich charts, journaling, and related information

These insights led us to a whole new set of design proposals. We gathered feedback on the resulting sketches, wire-frames, and screenshots from active and new Google Health users. The results throughout this process were eye-opening. While we were on the right track for some parts of the design, other parts had to be corrected or even redesigned. We went through several iterations until we had a design that tested well and we felt met the user needs our research had uncovered. Finally, we conducted several usability studies with a functioning prototype throughout the product development process to continuously improve usability and function.



At the end, the collaboration between the user experience, engineering, and product management teams resulted in an entirely new user experience for Google Health combined with a set of new functionality that is now available for you to try out at www.google.com/health. See for yourself how the old and new versions compare. Here is a screenshot of a health profile in the new version:



And this is how the same account and profile looked in the old user interface:



As a Google Health user, I am excited to take advantage of the new design and have already started using it for my own exercise and weight tracking. And on behalf of the user experience team and the entire Google Health team, we’re excited about being able to bring you a new design and more powerful tool that we think will meet more of your health and wellness needs.

We look forward to continuing to explore how we can make Google Health even more useful and easier to use for people like you. As you use Google Health, you may see a link to a feedback survey at the top of the application. If you do, please take the time to fill it out - we will be listening to your input!

Tuesday, September 14, 2010

Discontinuous Seam Carving for Video Retargeting



Videos come in different sizes, resolutions and aspect ratios, but the device used for playback, may it be your TV, mobile phone, or laptop, only has a fixed resolution and form factor. As a result, you cannot watch your favorite old show that came in 4:3 on your new 16:9 HDTV without having black bars on the side, referred to as letterboxing. Likewise, widescreen movies and user-videos uploaded on YouTube are shot using various cameras with wide-ranging formats, so they do not fit completely on the screen. As an alternative to letterboxing, several devices try to upscale the content uniformly, which either changes the aspect ratio, making everything look stretched out, or simply crop the frame, thereby discarding any content that cannot fit the screen after scaling.

At Google Research, together with collaborators from Georgia Tech, we have developed an algorithm that resizes (or retargets) videos to fit the form factor of a given device without cropping, stretching or letterboxing. Our approach uses all of the screen’s precious pixels, while striving to deliver as much video-content of the original as possible. The result is a video that adapts to your needs, so you don’t have to adapt to the video.


Six frames from the result of our retargeting algorithm applied to a sub-clip of “Apologize”, © 2006 One Republic. Original frame is shown on the left, our resized result on the right. The original content is fit to a new aspect ratio.

The key insight is that we can separate the video into salient and non-salient content, which are then treated differently. Think of salient content as actors, faces, or structured objects, where the viewer anticipates specific, important details to perceive it as being correct and unaltered. We cannot change this content beyond uniform scaling without it being noticeable. On the other hand, non-salient content, such as sky, water or a blurry out-of-focus background can be squished or stretched without changing the overall appearance or the viewer noticing a dramatic change.

Our technique, which we call discontinuous seam carving -- named so because it modifies the video by adding or removing disconnected seams (or chains) of pixels -- allows greater freedom in the resizing process than previous approaches. By optimizing for the retargeted video to be consistent with the original, we carefully preserve the shape and motion of the salient content while being less restrictive with non-salient content. The key innovations of our research include: (a) a solution that maintains temporal continuity of the video in addition to preserving its spatial structure, (b) space-time smoothing for automatic as well as interactive (user-guided) salient content selection, and (c) sequential frame-by-frame processing conducive for arbitrary length and streaming video. The outcome is a scalable system capable of retargeting videos featuring complex motions of actors and cameras, highly dynamic content and camera shake. For more details, please refer to our paper or visit the project web-site.

Friday, September 10, 2010

Google Search by Voice: A Case Study



Wind the clock back two years with your smart phone in hand. Try to recall doing a search for a restaurant or the latest scores of your favorite sports team. If you’re like me you probably won’t even bother, or you’ll suffer with tiny keys or fat fingers on a touch screen. With Google Search by Voice all that has changed. Now you just tap the microphone, speak, and within seconds you see the result. No more fat fingers.

Google Search by Voice is a result of many years of investment in speech at Google. We started by building our own recognizer (aka GReco ) from the ground up. Our first foray in search by voice was doing local searches with GOOG-411. Then, in November 2008, we launched Google Search by Voice. Now you can search the entire Web using your voice.

What makes search by voice really interesting is that it requires much more than a just good speech recognizer. You also need a good user interface and a good phone like an Android in the hands of millions of people. Besides the excellent computational platform and data availability, the project succeeded due to Google’s culture built around teams that wholeheartedly tackle such challenges with the conviction that they will set a new bar.

In our book chapter, “Google Search by Voice: A Case Study”, we describe the basic technology, the supporting technologies, and the user interface design behind Google Search by Voice. We describe how we built it and what lessons we have learned. As the product required many helping hands to build, this chapter required many helping hands to write. We believe it provides a valuable contribution to the academic community.

The book, Advances in Speech Recognition, is available for purchase from Springer.

Thursday, September 2, 2010

Towards Energy-Proportional Datacenters



This is part of the series highlighting some notable publications by Googlers.

At Google, we operate large datacenters containing clusters of servers, networking switches, and more. While this gear costs a lot of money, an increasingly important cost -- both in terms of dollars and environmental impact -- is the electricity that drives the computing clusters and the cooling infrastructure. Since our clusters often do not run at full utilization, Google recently put forth a call to industry and researchers to develop energy proportional computer systems. With such systems, the power consumed by our clusters would be directly proportional to utilization. Servers consume the most electricity, and therefore researchers have responded to Google’s call by focusing their attention towards servers. As the servers become increasingly energy proportional, however, the “always on” network fabric that connects servers together will consume an increasing fraction of datacenter power unless it too becomes energy proportional.

In a paper recently published at the International Symposium on Computer Architecture (ISCA), we push further towards the goal of energy-proportional computing by focusing on the energy usage of high-bandwidth, highly-scalable cluster networking fabrics. This research considers a broad set of architectural and technological solutions to optimize energy usage without sacrificing performance. First, we show how the Flattened Butterfly network topology uses less power since it uses less switching chips and fewer links than a comparable-performance network built using the more conventional Fat Tree topology. Second, our approach takes advantage of the observation that when network demand is low, we can reduce the speed at which links transmit data. We show via simulation, that by tuning the speeds of the links very rapidly, we can reduce power consumption with little impact on performance. Finally, our research is a further call to action for the academic and industry research communities to make energy efficiency, and energy proportionality in particular, a first-class citizen in networking research. Put together, our proposed techniques can reduce energy cost for typical Google workloads seen in our production datacenters by millions of dollars!

Friday, August 20, 2010

Blackberry Engineering Screen!

Fungsi umum dari eScreen adalah untuk menampilkan Informasi tambahan dan beberapa fungsi Pengaturan (setting)

Fungsi Khusus:
1. meng-unlock GPS pada Hendheld BB dengan GPS terintegrasi.
(bagi yang pernah mencoba untuk search Sattelite namun tidak pernah dapet, mungkin ada fungsi GPS yang masih ke locked, dan bisa dibuka melalui eScreen)
2. memilih jaringan secara manual

Quote:
Originally Posted by brigjend View Post
Buat yg BB-nya carrier AT&T bisa 'memilih' opsi '3G Only' lho lewat engineering screen ini.
3. memilih atau menentukan lokasi BTS secara manual, gunanya untuk me-lock handheld dengan BTS dengan signal paling bagus di areal tertentu.
4.
5.
6.
7.

berikut adalah cara untuk menampilkan Blackberry eScreen

Special thanks to Mr. Jelounge
click link dibawah ini langsung masuk ke keygen eScreen!
Spoiler for for download keygen eScreen:


Spoiler for Contoh screenshot jika berhasil dapat keygen dari browser PC:

Contoh screenshot jika berhasil dapat keygen dari browser PC :



cara membuka eScreen di BB:

1. dari PC buka file HTML diatas
2. di homescreen Handheld/BB, tekan alt+shift+H (akan menunjukan Help me Screen)
3. masukan PIN
4. masukan app. Ver (ex. 4.6.0.xxx (xxx) )
5. dibagian bawah keygen akan tertera 8 digit gabungan angka dan huruf.
6. masukan ke 8 code tersebut di help me screen. (tidak akan terlihat ketika code dimasukan)
7. setelah semua code masuk, maka layar akan langsung berganti ke eScreen.

Spoiler for for storm user:

cara buka "help me screen" di storm,
pada home screen tekan dan tahan tombol ESC, lalu tekan layar sebelah kiri atas, kemudian kanan atas, kemudian kiri atas lagi, dan kanan atas lagi.

lalu pakai cara di page 1 untuk dapat code nya.

(sudah di test dan berhasil oleh Mr. Hunt)

atau

1. Flip tampilan menjadi Landscape Mode.
2. dari Home screen, tekan dan tahan tombol 123 untuk mengaktifkan numlock.
3. tekan tombol Menu.
4. kemudian tampilkan Keyboard.
5. ketik 2*92

special thanks for Mr. kas2jr
QUOTE=kas2jr;169954224]@renzpie
thank's gan.... it's works!!
btw cara yang ke dua juga jalan koq...
mau memperjelas langkah2 nya buat cara lain selain cara yg udah di test sama bro huns.

langkah2 nya :
1. masuk ke home screen
2. munculkan keyboard dalam posisi landscape(tiduran)
3. tahan tombol !#123 sampai muncul tanda lock diatasnya, lalu tekan tombol 2*92
4. maka akan muncul help me screen.

@huns
thank's, bener udah bisa gan... ^_^

nice share!!![/quote]


Spoiler for for homescreen:

test on:
Device: BB Curve 8310
themes: Precision Mini Storm (credit goes to Mr. Lucubrb)



Spoiler for for inside BB eScreen:



1. mobile Network eScreen
2. OS eScreen
3. JVM eScreen
4. Display Event Log (sama seperti alt+LGLG)
5. Deactivate Radio (buat menyalakan dan mematikan fungsi radio/signal telp. dengan kata lain flight mode)
6. Power off (buat mematikan Handheld keseluruhan sama seperti menekan tombol tutup telp beberapa detik)


Spoiler for for sub-inside BB eScreen:






Spoiler for singkatan yang digunakan dalam eScreen:

disadur dari warung e' orang londo

Acronyms used in the Engineering Menu

CS - Circuit Switched: Identifies the circuit switched domain and the use of circuit switched data.

PS - Packet Switched: In a packet switched network, data may be transferred by dividing it into small blocks or pieces known as packets. Each packet contains information in its header to allow it to be routed by packet switches across the network. This is a more efficient means of transferring data.

PDP - Packet Data Protocol: A packet transfer protocol used in wireless GPRS networks

MCC - Mobile Country Code: A three digit number uniquely identifying a given country

MNC - Mobile Network Code: The Mobile Network Code is either a two or three digit number used to uniquely identify a given network from within a specified country

LAC - Location Area Code: Uniquely identifies a LA (Location Area) within a PLMN (Public Land Mobile Network). It may range from 0 to 65,535

RAC - Routing Area Code: Routing Area Code is a fixed length of 1 octet and identifies a routing area within a location area. The RAC is part of the RAI (Routing Area Identity)

MSC - Mobile Switching Center: A telecommunication switch or exchange within a cellular network architecture which is capable of interworking with location databases

SGSN - Serving GPRS Support Node: keeps track of the location of an individual MS (Mobile Station) and performs security functions and access control. The SGSN also exists in a UMTS network, where it connects to the RNC (Radio Network Controller) over the Iu-PS interface

DTM - Dual Transfer Mode: supporting simultaneous voice and packet data in a GSM network

ARFCN - Absolute Radio Frequency Channel Number: Within the spectrum allocated for cellular mobile communications, the radio channels are identified by ARFCN. If the system is operating in FDD (Frequency Division Duplex) mode then the channel number is associated with both the uplink and downlink radio channels. Within the GSM900 spectrum ARFCN 1 to 124 are used. In GSM1800, ARFCN 512 to 885 are used and in GSM1900 ARFCN 512 to 810 are used

PCH - Paging Channel: This is the downlink transport channel in UMTS that carries the PCCH (Paging Control Channel). It is used to broadcast paging and notification messages in a cell

TBF - Temporary Block Flow: a physical connection used by the two RR (Radio Resource) entities to support the unidirectional transfer of LLC (Logical Link Control) PDU (Protocol Data Unit) on packet data physical channels. A TBF is temporary and is maintained only for the duration of the data transfer, i.e. until there are no more RLC (Radio Link Control) / MAC (Medium Access Control) blocks to be transmitted

NMO - Network Mode of Operation: Frequency Division Duplex (FDD) and Time Division Duplex (TDD)

NCO - Numerically Controlled Oscillator: An electronic system for synthesizing a range of frequencies from a fixed timebase

RAT - Radio Access Technology: This indicates the type of radio technology to access the CN (Core Network)

GERAN - GSM EDGE Radio Access Network: a type of RAT

UTRAN - UMTS Terrestrial Radio Access Network: a type of RAT

RSSI - Recieved Signal Strength Indication (in dBm)

C1 - A cell selection algorithm employed in GSM and GPRS: The algorithm uses the power received from cells plus additional parameters in order to assess the cell that will provide the best radio connection for the MS (Mobile Station).

C2 - A GSM cell reselection algorithm: Once the MS (Mobile Station) has camped onto a cell it will continue to assess the surrounding cells to ensure it is monitoring the cell that will offer the best radio connection. As the user moves the camped on cell may become unsuitable. This situation will generate a cell reselection

CellID - The cells ID number on a network

BSIC - Base Station Identity Code: This is a code in GSM which is broadcast on the SCH (Synchronization Channel) in order to identify the NCC (Network Colour Code) and the BCC (Base Station Colour Code)


NOTE: Use It At Your Own Risk!
script tersebut bukan milik dan hasil karya gue,
gue hanya sekedar berbagi.
semoga bermanfaat!

kegunaan dan resiko dari perubahan didalam eScreen gue juga belum begitu paham (alias masih tahap Trial & Error) & semoga dengan adanya thread ini bisa saling bantu apa keuntungan dan kerugiannya.

Radio Streaming

1. Bagi pengguna BlackBerry yang ada 3G-nya, pake jaringan 3G kalian dulu. Bagi pengguna BlackBerry yang tidak ada 3Gnya, coba dulu ya jangan menyerah.
2. Masuk Browser, di kolom Search (Google), masukin:
U SHOUTcast D.N.A.S. Status
*bisa juga kalian tambah String keyword: U SHOUTcast D.N.A.S. Status ADDKEYHERE
Contoh Tambahan Keyword:
  • U SHOUTcast D.N.A.S. Status GenreMusik (Rock, Pop, Reggae, Ska, dsb)
  • U SHOUTcast D.N.A.S. Status NamaRadio
  • U SHOUTcast D.N.A.S. Status LokasiRadio
Search awal di Google
Search awal di Google
3. Nanti di Google, muncul result seperti ini:

Link IP: http://123.456.789:1234 atau Link nama: http://radio.ebool.com:8000
Cari Link yang harus memiliki tanda “:” (contoh: http://123.456.789:1234 atau http://radio.ebool.com:1234), kalau enggak, kita ga bisa akses radio streaming, karena kita streaming langsung nge-point web browser kita ke Server Radio yang berbasis SHOUTcast. You’re understand? :D
4. Setelah mendapatkan Radio yang kita inginkan, klik pada link radio yang memiliki tanda “:” di Google, sewaktu muncul window Save Item pilih OPEN! Jangan pilih SAVE! OK?
Ketika muncul window Save Item, Pilih OPEN
Ketika muncul window Save Item, Pilih OPEN
5. Setelah klik OPEN, kalian secara otomatis akan masuk pada Media Browser. Dan kalau berhasil akan muncul seperti ini:
Media Browser. Streaming Sukses!
Media Browser. Streaming Sukses!
6. Selamat menikmati radio kesukaan anda! :D
——————————————————————————–
NOTE: Bila Streaming Error akan muncul seperti ini:
ERROR STREAMING
ERROR STREAMING
  • Straming akan mengalami error apabila File Listening yang dipake di server SHOUTcast ini menggunakan format yang ga kompatibel untuk BlackBerry (gue kurang paham, file format apa yang kompatiblel untuk streaming via BlackBerry)
  • (Menurut pengalaman gue, kalo kalian berhasil menggunakan jaringan GPRS, sukur dah) Streaming akan mengalami error apabila kalian menggunakan jaringan GPRS, karena GPRS ga kuat ngeload file streaming ini. Untuk jaringan EDGE (menurut pengalaman gue), kadang bisa streaming, kadang ga bisa, tergantung sestabil mana EDGE kalian. Untuk jaringan 3G, ga diragukan lagi deh, PASTI BISA!!
Beberapa Radio Server yang gue Bookmark:
  • SpinFM 94.9 FM (Radio Interlokal – Cayman Islands) – http://66.55.139.212:7480
  • M-Radio 98.8 FM (Radio Lokal – Surabaya) – http://66.55.139.212:7220
    Launcher M-Radio untuk BlackBerry: DOWNLOAD!
  • KASKUS Radio (Radio Lokal – KASKUS NETWORK) – http://server.kaskus.us:8096
  • Dan banyak lagi, index sendiri ye. :p

Wednesday, August 4, 2010

Google North American Faculty Summit - Day 2



Friday at the Google Faculty Summit, we discussed ideas around online social capabilities. Chris Messina opened the discussion with a talk about open initiatives for the social web. Damon Horowitz, founder of Aardvark, gave a talk about the Aardvark experience. But in this post, I’d like to talk about a panel I moderated on the future of the social web. The panel consisted of four experts in the area. Joseph Smarr came to Google after eight years as CTO of social networking site Plaxo. Lada Adamic is on the faculty at University of Michigan, where she studies the nature of social and information networks. Eytan Adar is also on the faculty at the University of Michigan, where he studies the evolution of production and consumption of data over time. Luis von Ahn is on the faculty of Carnegie Melon University and also an employee at Google; he studies mechanisms to connect significant human efforts to interesting problems.

One theme that received a lot of attention from panelists and audience members alike was the benefits and pitfalls of social personalization. In the context of an activity stream, there seems to be general agreement that passing lightweight updates among friends is a valuable tool for “social grooming,” or keeping light contact with friends as a way of maintaining the state of the friendship. For information discovery, however, the topic received more debate: real-world social networks have always been used to both push and pull information, but in conjunction with high-quality search, it's reasonable to ask which types of information needs can be best addressed by your friends. Social network connections typically display homophily (similarity) in the dimensions of geography and interests, so your friends are more likely to have something interesting to say about your local area and your longstanding hobbies or interests, along with other subjects. If so, the answer you receive has two added bonuses. First, your background knowledge about your friend will aid you in assessing the quality of the answer. And second, an answer from a friend satisfies not just an information need but also a human need to interact and share experiences. This socially augmented information can arrive through a push channel in which your friend already posted (for example) a review for a restaurant, or through a pull channel in which you send to your friends a request for information. The same mechanisms for social information sharing may also operate powerfully in the context of a group coming together around a shared interest or goal, rather than just in the context of an individual. Consider for example a group of students working together to understand some new material. The same two mechanisms apply: knowledge about the other students helps you evaluate their contributions, and the interactions in the group have value beyond the pure information transmitted.

There was considerable discussion about social networks' capacity to funnel information to a user through the lens of a particular viewpoint or ideology. Imagine an individual who arrives on the web as a supporter or detractor of a particular political figure or mindset, and then surrounds him or herself with like-minded people online, enjoying positive and supportive discussions but failing to encounter a diverse set of views and counter-opinions. Literature in the social sciences, beginning with the famous Asch conformity experiments from the 1950s, details the mechanisms that cause people to conform to group expectations and even abandon normal personality traits based on the norms of the new situation. And work by Nobel Prize-winning economist Thomas Schelling shows that very small and "reasonable" biases we might have towards avoiding becoming an extreme minority might lead a system to evolve into a highly balkanized state. Similar models have been proposed and evaluated in the Internet domain, and some preliminary measurements have been performed. While faculty members in the audience surmised that personalization could lead to more extremism, the group agreed there is no conclusive evidence.

Another topic we touched on is mechanism design: the problem of designing systems so that agents in the system, each acting selfishly, will together produce some desired outcome. Consider a social networking game. If the desired outcome is revenue for the game manufacturer, then the actions that increase status in the game (using real-world currency to purchase items in the game; inviting friends to join and participate in the game; clicking on advertisements in the game) are designed well to support this goal. Rewarding the action of bringing new friends into the game is one obvious approach to increasing the total user population. More subtly, any game system must provide sufficient fun to be worth the expense to users. The dramatic success of casual online games of this form (6 percent of U.S. pageviews come from these games, according to a study by Ravi Kumar and myself in the WWW 2010 conference) is a testimony to the presence of successful mechanisms of this form.

Finally, here is a small sampling of other issues that arose in the panel as controversial points or interesting areas for future research:
  1. Social networks draw massive amounts of user time. We are beginning to get some limited visibility into exactly how this attention is allocated, which raises the research question of how much utility users are actually deriving from this investment of time, either in information, entertainment, social grooming or other intangibles.
  2. In certain online communities, we see behavioral norms that are skewed towards public visibility of essentially all activity. Do these norms reflect the desires of the populations that choose to join the community, or do they emerge specifically because of the technical tools offered by the website that hosts the community?
  3. Social networks are increasingly offering richer tools to users in an attempt to capture nuances of interactions that exist in the real world. In the fullness of time, how close will we get, and when will this happen?
  4. Social networks formalize the status of a friendship, with significant breakpoints at initiation, acceptance and removal of a binary tie. The visibility of these events leads to both "overfriending" and offense when friendships are refused or removed. Are there improved mechanisms to produce and manage the relationships in online social networks, and if so, what are these mechanisms?
  5. Social network graphs are notoriously difficult to partition into large regions with few edges between them (the sole exception being parts of a network that interact using different languages). A series of computational challenges arise when attempting to shard these networks for distributed analysis or serving from multiple computers.
One thing is clear from the discussion on Friday: social networks are increasingly becoming a valuable area for academic study. Faculty from widely disparate areas of computer science have thought deeply about the issues and implications of these tools; active research is ongoing in essentially all top institutions; and social network dynamics are appearing in the undergraduate curriculum. On top of that, they are an interdisciplinary phenomenon, involving not only many aspects of CS (UX, mechanism design, intense system requirements, security and privacy) but also psychology, economics and ethics, to name a few. There is much to study in order to understand these networks and maximize their societal value.

Google North American Faculty Summit - cloud computing



Of the three themes of our 2010 Faculty Summit, cloud computing was the one that pervaded all others, from security in the cloud to the presumption of cloud infrastructure behind the social web. But in our more focused discussion on cloud computing last Thursday, we started with the premise of “prodigiousness,” a concept introduced by Afred Spector, VP of Research and Special Initiatives.

While we all know that systems are huge and will get even huger, the implications of this size on programmability, manageability, power, etc. is hard to comprehend. Alfred noted that the Internet is predicted to be carrying a zetta-byte (1021 bytes) per year in just a few years. And growth in the number of processing elements per chip may give rise to warehouse computers of having 1010 or more processing elements. To use systems at this scale, we need new solutions for storage and computation. It was these solutions we focused on throughout our discussions.

In the plenary talk, Andrew Fikes spoke on storage system opportunities. Among many topics, he talked about shifting engineering foci to storage management and optimization not just on an individual cluster of co-located systems, but across geographically distributed clusters. The goal is so-called planetary-scale systems. This brings up all manner of diverse challenges ranging from the need to continually balance storage vs. transmission costs, the need to account for variable network latency characteristics, and the desire to optimize storage (e.g., by physically storing only one copy of a file that many feel they have rights to, or own).

We had a few roundtables in the afternoon for deeper discussions. In the table I led, we discussed two systems for “programming the data center” developed by systems researchers at Google Seattle/Kirkland. The first, Dremel, is a scalable, interactive ad-hoc query system for analysis of read-only nested databases. Dremel was recently presented in a paper at VLDB (Dremel: Interactive Analysis of Web-Scale Datasets, Sergey Melnik, Andrey Gubarev, Jing Jing Long, Geoffrey Romer, Shiva Shivakumar, Matt Tolton, Theo Vassilakis. In Proceedings of the 36th Int'l Conf on Very Large Data Bases, 2010). The system serves as the foundational technology behind BigQuery, a product launched in limited preview mode at Google I/O in May.

We also discussed FlumeJava, a Java library that makes it easy to develop, test and run efficient data-parallel pipelines at data center scale. FlumeJava was developed by programming languages researchers at Google Seattle, and is currently in widespread use within Google. It was presented at the recent PLDI conference (FlumeJava: easy, efficient data-parallel pipelines, Craig Chambers, Ashish Raniwala, Frances Perry, Stephen Adams, Robert R. Henry, Robert Bradshaw, Nathan Weizenbaum. In Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation). The work reflects Google’s commitment to programming language and compiler technologies at scale.

The field of data center programming has progressed substantially in the last 10 years. Dremel and FlumeJava systems represent abstractions of a higher level than the MapReduce construct we previously introduced, and we think they are easier to use (within their domain of applicability) and more automatically optimizable. With time, the field will discover new “instructions” and even better abstractions leading us to a point where computations which run on nearly unlimited processors can be expressed as easily as sequential programs. We are working hard to make progress here, and I look forward to reporting on our progress in the future.

Saturday, July 31, 2010

Google Publications


We often get asked if Google scientists and engineers publish technical papers, and the answer is, “Most certainly, yes.” Indeed, we have a formidable research capability, and we encourage publications as well as other forms of technical dissemination--including our contributions to open source and standards and the introduction of new APIs and tools, which have proven to sometimes be foundational.

Needless to say, with our great commitment to technical excellence in computer science and related disciplines, we find it natural and rewarding to contribute to the scientific community and to ongoing technical debates. And we know that it is important for Google to help create the fundamental building blocks upon which continuing advances can occur.

To be specific, Googlers publish hundreds of technical papers that appear in journals, books, and conference and workshop proceedings every year. These deal with specific applications and engineering questions, algorithmic and data structure problems, and important theoretical problems in computer science, mathematics, and other areas, that can guide our algorithmic choices. While the publications are interesting in their own right, they also offer a glance at some of the key problems we face when dealing with very large data sets and demonstrate other questions that arise in our engineering design at Google.

We’d like to highlight a few of the more noteworthy papers from the first trimester of this year. The papers reflect the breadth and depth of the problems on which we work. We find that virtually all aspects of computer science, from systems and programming languages, to algorithms and theory, to security, data mining, and machine learning are relevant to our research landscape. A more complete list of our publications can be found here.

In the coming weeks we will be offering a more in-depth look at these publications, but here are some summaries:

Speech Recognition

"Google Search by Voice: A Case Study," by Johan Schalkwyk, Doug Beeferman, Francoise Beaufays, Bill Byrne, Ciprian Chelba, Mike Cohen, Maryam Garrett, Brian Strope, to appear in Advances in Speech Recognition: Mobile Environments, Call Centers, and Clinics, Amy Neustein (Ed.), Springer-Verlag 2010.

Google Search by Voice is a result of many years of investment in speech at Google. In our book chapter, “Google Search by Voice: A Case Study,” we describe the basic technology, the supporting technologies, and the user interface design behind Google Search by Voice. We describe how we built it and what lessons we have learned. Google search by voice is growing rapidly and being built in many languages. Along the way we constantly encounter new research problems providing the perfect atmosphere for doing research on real world problems.

Computer Architecture & Networks & Distributed Systems

"Energy-proportional Datacenter Networks," by Dennis Abts, Mike Marty, Philip Wells, Peter Klausler, Hong Liu, International Symposium on Computer Architecture, ISCA, June 2010.

Google researchers have called on industry and academia to develop energy-proportional computing systems, where the energy consumed is directly proportional to the utilization of the system. In this work, we focus on the energy usage of high-bandwidth, highly scalable cluster networks. Through a combination of an energy-efficient topology and dynamic fine-grained control of link speeds, our proposed techniques show the potential to significantly reduce both electricity and environmental costs.

Economics & Market Algorithms

"Quasi-Proportional Mechanisms: Prior-free Revenue Maximization," by Vahab S. Mirrokni, S. Muthukrishnan, Uri Nadav, Latin American Theoretical Informatics Symposium, LATIN, April 2010.

Say a seller wishes to sell an item, but the buyers value it vastly differently. What is a suitable auction to sell the item, in terms of efficiency as well as revenue? First and second price auctions will be efficient but will only extract the lower value in equilibrium; if one knows the distributions from which values are drawn, then setting a reserve price will get optimal revenue but will not be efficient. This paper views this problem as prior-free auction and proposes a quasi-proportional allocation in which the probability that an item is allocated to a bidder depends (quasi-proportionally) on their bids. The paper also proves existence of an equilibrium for quasi-proportional auctions and shows how to compute them efficiently. Finally, the paper shows that these auctions have high efficiency and revenue.

"Auctions with Intermediaries," Jon Feldman, Vahab Mirrokni, S. Muthukrishnan, Mallesh Pai, ACM Conference on Electronic Commerce, EC, June 2010.

We study an auction where the bidders are middlemen, looking in turn to auction off the item if they win it. This setting arises naturally in online advertisement exchange systems, where the participants in the exchange are ad networks looking to sell ad impressions to their own advertisers. We present optimal strategies for both the bidders and the auctioneer in this setting. In particular, we show that the optimal strategy for bidders is to choose a randomized reserve price, and the optimal reserve price of the centeral auctioneer may depend on the number of bidders (unlike the case when there are no middlemen).

Computer Vision

"Discontinuous Seam-Carving for Video Retargeting," Matthias Grundmann, Vivek Kwatra, Mei Han, Irfan Essa, Computer Vision and Pattern Recognition, CVPR, June 2010.

Playing a video on devices with different form factors requires resizing (or retargeting) the video to fit the resolution of the given device. We have developed a content-aware technique for video retargeting based on discontinuous seam-carving, which unlike standard methods like uniform scaling and cropping, strives to retain salient content (such as actors, faces and structured objects) while discarding relatively unimportant pixels (such as the sky or a blurry background). The key innovations of our research include: (a) a solution that maintains temporal continuity of the video in addition to preserving its spatial structure, (b) space-time smoothing for automatic as well as interactive (user-guided) salient content selection, and (c) sequential frame-by-frame processing conducive for arbitrary length and streaming video.

Machine Learning

"Random classification noise defeats all convex potential boosters," Philip M. Long, Rocco A. Servedio, Machine Learning, vol. 78 (2010), pp. 287-304.

A popular approach that has been used to tackle many machine learning problems recently is to formulate them as optimization problems in which the goal is to minimize some “convex loss function.” This is an appealing formulation because these optimization problems can be solved in much the same way that a marble rolls to the bottom of a bowl. However, it turns out that there are drawbacks to this formulation. In "Random Classification Noise Defeats All Convex Potential Boosters," we show that any learning algorithm that works in this way can fail badly if there are noisy examples in the training data. This research motivates further study of other approaches to machine learning, for which there are algorithms that are provably more robust in the presence of noise.

IR

"Clustering Query Refinements by User Intent," Eldar Sadikov, Jayant Madhavan, Lu Wang, Alon Halevy, Proceedings of the International World Wide Web Conference, WWW, April 2010.

When users pose a search query, they usually have an underlying intent or information need, and the sequence of queries he or she poses in single search sessions is usually determined by the user's underlying intent. Our research demonstrates that there typically are only a small number of prominent underlying intents for a given user query. Further, these intents can be identified very accurately by an analysis of anonymized search query logs. Our results show that underlying intents almost always correspond to well-understood high-level concepts.

HCI

"How does search behavior change as search becomes more difficult?", Anne Aula, Rehan Khan, Zhiwei Guan, Proceedings of the ACM Conference on Human Factors in Computing Systems, CHI , April 2010.

Seeing that someone is getting frustrated with a difficult search task is easy for another person--just look for the frowns, and listen for the sighs. But could a computer tell that you're getting frustrated from just the limited behavior a search engine can observe? Our study suggests that it can: when getting frustrated, our data shows that users start to formulate question queries, they start to use advanced operators, and they spend a larger proportion of the time on the search results page. Used together, these signals can be used to build a model that can potentially detect user frustration.

Friday, July 30, 2010

Google North American Faculty Summit - Day 1



Thursday, July 29 was the first day of the Google North American Faculty Summit, our sixth annual event bringing together Google engineers and subject matter experts with leading computer science faculty, mostly from North America but some from as far away as Japan and China. This year’s summit is focused on three topics: cloud computing, security and privacy, and social networking. It was these first two areas that we discussed yesterday, in a series of talks by Googlers, informal meetings and small round-table discussions.

After an introduction from Alfred Spector, Google’s VP of Research and Special Initiatives, we dove right into the technical talks, covering the “arms race” of malware detection, privacy and public policy, passwords and authentication, and operations and infrastructure security at large scale. I gave a talk on the changes that cloud computing brings to security, both challenges such as privacy and authentication, as well as opportunities for security improvements, which I wanted to summarize briefly below.

Cloud services have defined a new model for end-user cloud applications that are accessed via single-user devices or browsers. Unlike software on personal computers, or on time-shared servers, cloud applications execute logically on stateless clients accessing a substrate of redundant back-end servers. While a single client may execute multiple applications, those applications are typically isolated and communicate only via the cloud, thus eliminating local dependencies and simplifying device management. As well as being isolated and stateless, clients are also provisioned with software upon use, which makes any client pretty much the same as any other and facilitates transparent access from different locations and devices.

There are many clear security benefits that accrue from this cloud application software model. To start with, it eliminates much of the complex, error-prone management traditionally required for each client. Also, because clients and servers are replicated or stateless, security policies can be enforced using simple, conservative fail-stop mechanisms. Cloud applications are also highly dynamic, with new software versions easily deployed through client restart or rolling server upgrades. Not only does this greatly simplify deploying fixes to software vulnerabilities, it also allows for the possibility of deploying specialized software versions, with custom security aspects, to different clients and servers. Such software instrumentation could be used for many diverse security purposes, especially when combined with randomization: these include artificially-induced heterogeneity as well as the large-scale construction and enforcement of models for appropriate software behavior. In short, cloud applications help with basic, but hard-to-answer security questions such as: Am I running the right software? Or, is it known to be bad? Is it behaving maliciously, and can I recover if it is?

Following my talk, faculty attendees had a variety of insightful questions—as they did for all the presenters today. Roy Campbell, from University of Illinois at Urbana-Champaign, raised the issue of zero-day attacks, and how they might be handled and prevented. My response was that while it might be impossible to eliminate all security bugs, it is possible to get strong guarantees and higher assurance about fundamental software aspects. As an example, I mentioned the Native Client open source Google project that establishes strong, verifiable guarantees about the safety of low-level software. Another question raised was whether Multics-like protection rings were relevant to today's cloud computing applications. Although the mechanisms may not be the same as in Multics, my reply was that layered security and defense in depth are more important than ever, since cloud computing by necessity makes use of deep software stacks that extend from the client through multiple, nested back-end services.

On Friday’s agenda: the technical possibilities of the social web. We’ll be back with more highlights from the summit soon—stay tuned.