Monday, July 30, 2007

Why it is in Microsoft's self-interest to have an OS that is susceptible to viruses

If you are a commercial software developer, you would like an operating system where security risks (e.g., viruses) discourage users from pirating your software.

Yes, there's a limit to what users will tolerate. A system that is too insecure would not work. But the virus threat needs to be real to discourage piracy.

Ultimately, users do care about an OS with lots of software available. Many users will put up with some security threats to get that.

Saturday, July 28, 2007

Making random people famous

Consider a service that crawls the web for home pages and then displays one chosen at random each day for all to see and discuss.

It would be sort of like this Facebook app:

The difference though is that people would not sign up requesting they be made famous. Rather, the service would do it without their permission.

Wednesday, July 25, 2007

The Software Garden: Software Quality Visualization for Non-programmers

The idea here is to come up with a visualization of source code that would give some indication of quality to non-programmers.

Imagine for example a service that indexes open source code and provides such a visualization in the form of gardens. A non-programmer could quickly examine and compare the gardens for some competing open source software applications.

Bad smells in the source code would manifest themselves in the form of a poorly maintained garden.

You could also show code evolution via an animation of the garden over time.

Tuesday, July 24, 2007

Visualizing Software Systems as Cities

From the abstract:

"This paper presents a 3D visualization approach which gravitates around the city metaphor, i.e., an object-oriented software system is represented as a city that can be traversed and interacted with: the goal is to give the viewer a sense of locality to ease program comprehension.

The key point in conceiving a realistic software city is to map the information about the source code in meaningful ways in order to take the approach beyond beautiful pictures.

We investigated several concepts that contribute to the urban feeling, such as appropriate layouts, topology, and facilities to ease navigation and interaction.

We experimented our approach on a number of systems, and present our findings."

If lifecasting is too much for you, why not try "Lifehinting"?

For many people, lifecasting is just too much of an invasion of privacy.

So why not consider "Lifehinting"? The idea here is to give clues as to what your life is like.

For example, you could do this by an algorithm that transforms a lifecasting feed into abstract animations, perhaps resembling VisualID Scenery. Similar sorts of activities would result in similar sorts of abstract animations.

After a while of doing this, your friends will start to get clues as to the sorts of things you do -- at least, for those activities that they are familiar with.

Monday, July 23, 2007

“I Am the Very Model of a Modern Major Googler” (Song)

Via Google Blogoscoped:

Also, check out the CSE Band, especially Theory Girl.

Study Stickies Facebook Application

I would appreciate feedback on my Study Stickies Facebook application:

Study Stickies allows you to take notes (stickies) from books as well as online resources (e.g., pdf/html documents, videos, etc.).

The vision behind Study Stickies is two-fold:

  1. it allows people to take notes for themselves for easy browsing/search; and
  2. these notes accumulate allowing you to learn from others.

Imagine for example getting stuck on page 147 of your algorithms textbook or SQL reference. You might then see if others have made any insightful stickies for that page.

Tuesday, July 17, 2007

Using human computation games to promote your startup

In a previous post, I described a variation of the Listen Game that could be used to get people to look at online advertising carefully.

Another approach would be to build a custom human computation game for your startup to promote your startup in a more domain-specific way.

For example, if you are building an online video site, then you could provide a game similar to the ESP Game but adapted to video. Not only would this give you useful data to improve video search on your site, but it would also provide an engaging form of advertisement for your online video startup.

Will Wright: Toys that make worlds

From the talk description:
In a friendly, high-speed presentation, Will Wright demos his newest game, Spore, which promises to dazzle users even more than his previous masterpieces. Here Wright encourages users to create not households, as in The Sims, or cities, as in SimCity, but the entire universe, from single-celled life forms to galactic physics. While guiding us through his mesmerizing beta, Wright shares his thoughts on Montessori schools, Darwinian theory and long-term thinking, emphasizing, throughout, that Spore is not so much a game as an opportunity for discovery -- "an imagination amplifier."

(Via TEDBlog.)

Friday, July 13, 2007 + NeuroSky: Not just lifecasting but also mindcasting

From the NeuroSky site:

NeuroSky has developed a cost effective bio sensor and signal processing system for the consumer market. Our wearable technology unlocks worlds of new applications such as consumer electronics, health, wellness, education and training.

The neurons that comprise the brain work on electrical impulses. The last century of neurological research has shown us that brainwaves of different wavelengths indicate different emotional states, like a focused awareness, a meditative state, or drowsiness. Brainwaves have been used in medical research and therapy for years. We're bringing it to the consumer world.

Adding this technology to would allow viewers to get into the lifecaster's state of mind, thus making the lifecast more interesting to watch.

Thursday, July 12, 2007

Combining blogs and chat rooms

The idea here is to associate a chat room with each blog post. So instead of having people submit comments, they would participate in a real-time discussion associated with a particular blog post.

It is important to have a "chat schedule" for each blog post. For example, you might announce 3 chat sessions, each 20 minutes long, for a particular blog post. This sort of schedule is important because you would like to have a reasonable number of people available for real-time chatting.

Tuesday, July 10, 2007

Some unusual subreddit suggestions

Some unusual suggestions for subreddits:

* really new subreddit: accept only urls that are not indexed by google yet

* no longer there subreddit: accept only urls in the Internet Archive that are no longer functional

* give them a chance subreddit: accept only urls with low pagerank

* crawler subreddit: can only submit a url that is linked to from one of the urls on the front page of the crawler subreddit

* domain subreddit: accept only high level domain urls (e.g., but not

* reddit user subreddit

Sunday, July 8, 2007

Using Photosynth as a tour guide

In case you still haven't seen Photosynth:

Our software takes a large collection of photos of a place or an object, analyzes them for similarities, and then displays the photos in a reconstructed three-dimensional space, showing you how each one relates to the next.

Note that the software actually identifies the positions of the cameras that took the pictures in the collection.

So in fact, you can use this approach as a tour guide, taking you to places from which many pictures were taken (i.e., the positions of the cameras).

Imagine for example walking around a city while a device points you to nearby places from which many pictures were taken and orienting you in the direction of the often photographed scene.

Such a device could take into account context (e.g., time of day, season, purpose of the photograph, etc.).

The Hug Shirt and Lover's Cups

From the Hug Shirt web page:

The Hug Shirt is a shirt that makes people send hugs over distance! Embedded in the shirt there are sensors that feel the strength of the touch, the skin warmth and the heartbeat rate of the sender and actuators that recreate the sensation of touch, warmth and emotion of the hug to the shirt of the distant loved one.

From the Lover's Cups web page:

Lover's Cups explore the idea of sharing feelings of drinking between two people in different places by using cups as communication interfaces of drinking. Two cups are wireless connected to each other with sip sensors and LED illumination. The Lover's cups will glow when your lover is drinking. When both of you are drinking at the same time, both of the Lover's Cups glow and celebrate this virtual kiss.

Why personalization done well is not in Google's self-interest

If web search personalization is done really well, then it could have a very bad effect on paid advertising.

After all, if potential customers are likely to see your product via personalization, why bother with paid advertising?

Your percentile rank in terms of effort among single founders is...

Single founders often have problems with motivation. So why not build a service to motivate single founders to try harder?

For example, effort could be determined by looking at how much coding gets done each day. You would see your percentile rank among single founders in terms of this and other measures.

Effort isn't everything, but having that intense motivation that you find in multiple founder startups will probably help.

Mining your email to automatically broadcast your mood

This can give you useful information. For example, you might delay an email asking for something if the receiver is currently in a bad mood or too busy.

This could also be useful for suicide prevention. Imagine Google doing this with gmail to keep its users mentally healthy and safe. Signs of depression would be reported automatically to mental health professionals. suggestions

Some ideas for

* allow viewers to control imaginary friends who can interact with Justin; only he and the viewers would be able to see and hear them.

* have one channel that gives the most interesting video among all other channels in (near) real-time based on user feedback (e.g., in the chat rooms)

* a search engine for clips based on associated chat text; yes, the chat is pretty noisy data but I think you will get interesting results anyway

* imagine using to augment your mind, taking advantage of the intelligence and knowledge of your viewers

* use as a way to interview people for jobs

* when Justin meets someone for the first time, viewers can show flashbacks from Justin's life to give a first impression (and the choice of flashbacks would depend on the person he is meeting for the first time)

* have a prediction market about all sorts of short-term events (e.g., in the next day/week) in Justin's life

Remote flying of real model planes over the net

Consider a web 2.0 startup where you would pair up people with
model airplanes with people who would like to fly them remotely via
the web from the comfort of their homes.

A video camera would transmit live video from the plane and/or the

The owner of the plane would be responsible for the safety of the
plane. If flight inputs coming in via the web put the plane in danger,
then the owner can override them temporarily.

Flight inputs may come in from one person or a combination of people
via some voting mechanism. Users who would like more control over the
plane would pay more.

Ranking search results based on IQ

Instead of using PageRank, how about computing an "IQRank" that takes into account the IQs of people?

For example, you could consider the IQ of the creator of the site as well as the IQs of people who link to the site.

The creator of a site would have a greater incentive to undergo IQ testing so as to have some chance of ranking highly.

Not sure what sort of incentive you could have for encouraging people linking to a site to undergo IQ testing.

How to get people to look at online ads carefully

Take a look at Listen Game, a human computation game in the style of the ESP Game. From the Listen Game site:

Listen is a game that lets you tell others what you think about music. It also lets you hear what other people think about music.
Music is a subjective form of art. We all have our own unique experince when listening to a song. Even though you might think that "Hangin' Tough" by New Kids on the Block is "explosive and revolutionary", your friend may think it's "cheesy and annoying". Play Listen Game and see if the world agrees with you!

Now clearly, this idea can be used to give first impressions on all sorts of things -- not just music. And so why not apply it to online advertising? Not only would this motivate people to look at ads very carefully, but it would also give advertisers meaningful feedback on their ads so that they can improve them.

A variation on to detect cheating in online chess

Maybe we could address cheating in online chess by showing various images throughout a game.

The intuition here is that these images will have some impact on your thinking patterns.

So the idea is to see whether you are reacting as a typical human being would when viewing these images while playing chess.

For example, some images may have a negative effect in tactical positions.

One can have players play a against a computer every once in a while without telling them to see if they are cheating.

When will we see "ball cams" in sports?

I think ball cams would make a sport like golf a lot more fun to watch. Also, pitch movements in baseball would become more obvious.

So how would you build one? Where would the ball look generally? How would you provide stable video in the presence of a spinning ball?

Building a general purpose 'human computer'

This is a computer that anyone can program.

Functions are written using high-level English. Each such function along with the input can be viewed as a two-player game.

As with the ESP Game, when two players agree on the output, they would then move on to the next function (possibly from a different program).

As with the ESP Game, players can pass if they are presented with something that is difficult. And "programmers" get feedback on what parts of their program caused problems. They can try rewriting those parts.

Issues include quality control, debugging, profiling, and refactoring your program into parts that are easy enough to be games.

Designing a twisty puzzle construction set

Many people have a fascination with twisty puzzles:

I suspect that many people would like to invent new ones as well.

So how would you build a twisty puzzle construction set program to help them do so?

What sorts of constraints would you put on the puzzles so that the program can provide instructions to build them for real?

Saturday, July 7, 2007 vs God

Does lifecasting compete with religion as a way to keep you well-behaved? Does it also encourage people you meet to treat you better than they normally would?

Religious people are careful about their actions because they believe that God is always watching them.

With lifecasting, you are being watched all the time also. In essence, the viewers play the role of God.

Why cheating is good for human computation games

After reading about Luis' new game for identifying beautiful images, it occurred to me that cheating would enhance human computation games.

The reason being is that cheating adds a new dimension to these games, namely strategy.

So in the game for identifying beautiful images, you can try to get into your partner's head based on the results of previous image pairs. This adds a new dimension to the game that is missing in the ESP Game.

So instead of combating cheating, why not encourage it explicitly by providing features to help players cheat? For example, in this beautiful image game, one can show the results of past image pairs while the game is in progress.

Even in the presence of such cheating, one may still get lots of useful data for subjective problems. In fact, one may get more as the games would have a new dimension to them.