Thursday, February 24, 2011

Kinect Ads

Problem: Ads in the physical world are dumb.  If there is an ad in the mall, I'll see the same ad as everyone else that walks by.

Solution: Use Microsoft kinect and a screen to target ads to people as they walk by.  The kinect can tell us information to serve that person better ads.

Here are some things the kinect could identify about a person as they walked by

  • How old are they (infant, adolescent, adult)  
    • A mother with a young child should get different ads than a teenager
  • How big of group are they walking with
    • A person by themselves should get a different ad than a group of friends
  • Gender
  • How fast are they walking
    • Are they in a hurry


Linear Conversations

Scenario: Its Friday afternoon.  You and your friends need a plan for what to do that night.  You open an email thread to discuss what to do.  You throw out a couple ideas; maybe a pub or watching a movie.

Your friends reply to your mail.  They have movie  and pub suggestions.  Once friend mentions playing kickball as another idea.

Problem - Email Threads: Think about how unorganized this email thread will be.  Your friends will hit reply all, and you'll be left with an long chain of emails.  In all this unstructured linear text you might forget the suggestion of kickball, or you might forget why you all decided not to watch a movie.

Problem Analysis:  People don't think or communicate linearly.  Email threads force linearity.

Solution - Email Webs: In the original email thread replies we added to one long chain of text.  We should be able to break apart the conversation into different subtopics.

A conversation shouldn't look like a line, it should look like a tree.

Wednesday, February 16, 2011

Twitter problems

I was reading Quora and I found this post.  http://www.quora.com/Twitter-Inc-company/Why-does-Twitter-need-300-employees  Jane mentioned some really interesting CS problems

I remember my housemate was once incredulous as to why we needed so many engineers for such an apparently simple site. 1) Twitter's not as simple a website as you think--keeping Justin Bieber from dominating the trends and user recommendations are two examples of nontrivial features. 2) Like Facebook, the core functionality is simple and most people could do it in a weekend, but getting it all to work at scale is hard.


Here are a few ideas for how to tackle those problems.

1) Keep Justin Bieber off of trends

For each potential trend, keep track of two pieces of information.  How often it normally occurs, and how often it is currently occurring.  List the item as a trend once its current rate greatly exceeds its average rate.

2) Recommendations

Idea 1: Graphs - This is the most feasible, and least out there

  1. For a user U, make a graph of every user U follows (following represents an edge). 
  2. For every user in the graph, add all users they follow
  3. (optional) repeat 2 until graph is big enough
  4. Recommend the nodes in the graph with the most inbound edges. 
Idea 2: Clustering
I want to flush this out later, but the basic idea is to create some N dimensional space.  Each dimension corresponds to level of interest in an area. (eg. interest in Justin Beiber)  Map the user and potential recommendations to this space.  Recommend the nearest items.

Figuring out what are potential recommendations and what the space looks like might be either be hard (computationally) or take some extra thinking.

Idea 3: Neural Networks

Tuesday, February 15, 2011

Saturday, January 29, 2011

SpellCheck

You know what sucks.  Spellcheck.

My first attempt at spelling 'prestigious' came out 'prestituious'.  Even with the context of the rest of the sentence Word 2010 had "No Spelling Suggestions" for me.


Now I have to switch to a web browser, copy paste 'prestituious' into a search engine (Bing), then copy and paste its correction back into my document.  In doing that I wasted a few seconds, and lost my train of thought.




Microsoft - You can do better.

Friday, December 31, 2010

Facebook

Here are a couple of ideas for Facebook

Problem: My inbox in flooded with messages from events.  These messages aren't quiet spam, but they are less important to me than messages from my friends.

Solution: Separate messages between friends and everything else. 

Friday, December 10, 2010

Windows Phone 7

I just picked up my HTC surround, and I have to say I'm impressed.  Here are some things that I'd like to see in Windows Phone 7.1

Differienatiors (things to make WP better than competition)
  • Socialize My Calendar - Let me share my calendar with other people, and let me see my contacts calendars.  This could all be done within the Calendar Hub.
  • Tasks Integration - Give me a nice way to manage all of my tasks.  I think tasks could work nicely into the email app.  Let me pull in tasks from OneNote, Outlook, and Gmail.  (Related - Let me add tasks in OneNote mobile)
  • Twitter Integration - I'd love deep integration with Twitter the same way Facebook is deeply integrated.
  • Skydrive - Let me see my documents from Skydrive in the Office Hub, the same way you let me access SharePoint documents.  

Qualifiers (things needed to catch the competition)
  • Multitasking
  • Marketplace - When I launch marketplace, I see these three different places for apps.  This is confusing and cumbersome.  This is one of the few things Microsoft screwed up.
    1. AT&T Appcenter
    2. HTC Apps
    3. Apps
  • Adobe Reader - To open up a PDF you need to install the Adobe Reader app from the marketplace.  There is absolutely no reason I should have to do this.  Now when I look at my apps the top one I consistently see is Adobe Reader.  What a waste.
  • Cut / Paste