Sunday, August 30, 2009

Cerebral Snapshot

Left

  1. Man on Southwest Flight 3149 from LAS to LAX: I repeat you cannot save seats. Much less 6 seats with a full plane !
  2. Taxi drivers are really nice when the economy is shit. Today one offered be complimentary bottled water... (I didnt accept it but gave him an extra buck)
  3. Vegas is the best quit smoking plan -- cough cough -- so that's where all the smokers went
  4. Damn I accidentally bought an Ed Hardy shirt....
  5. Eating Healthy Choice Tortilla soup when temperature im my apt > 85F is a bad idea

Right

  1. The only way to scale is to be redundant.
  2. Semantics are king
  3. Progressive enhancement means Microformats and ActivityStrea.ms
  4. You must inject the microformats server side
  5. Don't bother exposing an API full of GETs

Sunday, August 23, 2009

OpenID Registrars

Recently I saw Mr. Messina's mocks for teaching the user what an OpenID is and how to get one or use an existing one. See http://www.flickr.com/photos/factoryjoe/3841182425/

I feel that this is still complicated for a regular end user. They just want to log in or signup for the new service as fast as possible.
The open id relying party should be able to just show the user their openids with the last one they used selected so the end user does not even have to bother typing anything if they don't want to.

I would like to propose a potential solution to this. When a provider creates an openid for a user they register it with an "OpenId Registrar". The OpenID registrar will cookie the user.


An OpenId Registrar keeps track of all the identities a user has. It will have APIs similar to the Social Graph Apis from Google. Given one OpenID from a given provider you can get the rest. This can also be supported via webfinger. Given an email address give me all the openids for the person. And with the help of the cookie it can say give me what openid provider I should present to this user.

So the way in which having an OpenID registrar would solve the NASCAR issue is that it will provide an API which returns the list of OpenIDs for the user on that browser and the last one used. Which means the registrar should also have an endpoint which can be invoked to store which provider was just used.

Fairly simple but should address end user confusion.

What do you think ?

Saturday, June 6, 2009

MySpace comeback

  1. Make a huge public contest/tv series "Who will be the next Tom ?" Episodes will show contestants every day life and how they portray this on MySpace. TV show will also demonstrate how to do cool things to your profile page and link to videos on the site teaching you the tips and tricks.
  2. Users of MySpace follow and vote online for the Next Tom
  3. Create a secondary contest to pick the best profiles. This contest will include challenge questions to make sure the applicants are "for real".
  4. Select multiple winners each representing a different audience.
  5. New Toms will be VIP
  6. The real people from #3 will get a list of challenges to defeat to become VIP
  7. Vips will not get ads on their profile page or can have their own adds.
  8. Developers from MySpace will add modules which allow you to show your friends across all networks.
  9. Vips will be able to nominate 5 friends for vip. These people will have to face the challenges and can then invite more friends.

And so the user cleansing continues until you have a site with awesome members excited about bringing others on board and a true understanding of why the people are here.

Why MySpace ?

MySpace started off helping those looking to self promote. Primarily bands. They could easily setup "their website" on MySpace.
I think there is now an even broader market for self promotion. Everyone wants to be a celebrity in their own right. Whether you are well known for your musical talents or for your basketball skills or for how ridiculously good looking you are (zoolander joke there). Whatever the reason you are a proud individual with ideas, accomplishments and things to share. This is a time to prove yourself !

MySpace can provide an immense personalization layer. Our users can really "go to town" expressing their individuality via their MySpace profile with: custom art, media and other rich content including information from other sites. This is not something that you can easily do on Facebook or Twitter. They just list a partial set of activities and maybe allow you to change your background. MySpace however allows you complete control of everything displayed and how its displayed.

You may not always have the time or creativity that is why we have many tools to help you build your personal brand. Our offering has hundreds of pre built themes and modules of content you can add in two clicks. You can definitely use MySpace as your personal web page and remember if you look good we look good !

Tuesday, May 26, 2009

Web Evolution: Implementors Needed !

My response to:
Web 3.0 Might Be Really Stupid

Given that the first implementations of the activitystrea.ms standard went live about 2 months ago. I think its premature to call the lack of analytics around this new offering stupid. The analytics are evolving and many of those will be feeding into the recommendations engine. There is a lot of opportunity in this field.

As described in this recent article exploring how friends influence purchases
>> "Moderately connected" users exhibit "keeping up with the Joneses" behavior. On average, this social influence translates into a 5 percent increase in revenues.

Additionally, we should not shy away from investigating hyper targetting and ad placement models. After all every item in your activity stream can be considered a personal ad that you want your followers/friends to read. How to make it more memorable ? How to get the user to interact ?

Incidentally, I was just mentioning to Chris Messina last week that the Activities team at MySpace has already gotten initial approval to provide a user's public activitystrea.ms feed in order to encourage adoption. And no, not because no one wants to consume MySpace's feed.

We have several large partners and don't forget the fact that MySpace has more than 70 million total unique users in the US (as of the March 2009 comScore data). However, I do agree a public feed would provide more portability so we are reviewing this proposal.

Bottom line is we are doing everything possible to promote a smarter web and we need everyone's collaboration. Whether its producing smarter feeds or consuming this feeds and creating another consumable a bi-product. Stop pondering on how far others will get and jump on the implementors side.

Saturday, May 23, 2009

Collaboration of Opensocial apps via the Stream

Last week at IIW #8 Scott Seely, Martin Atkins and myself worked to add the hooks to the Opensocial APIs (0.9) in order to facilitate developers adding the full fidelity version of their activities into the stream.

The results of our collaborative brainstorming is here:
http://wiki.activitystrea.ms/OpenSocial-Activity-Publishing-Integration

The main concept behind this was to allow developers to reference an optional tranformation bundle which maps the fields in the activity raised to the proper objects in activitystrea.ms like for example the author, verb, object type and most importantly all the properties of such object: unique id, name, annotations, url, thumbnail, etc

The main pros of this approach is that it allows for the activitystrea.ms standard to evolve orthogonally.

All this led me to thinking:
Could we in fact provide such flexibility to our app developers where their products (the activities) could cross reference one another ? After all the ids are gobally unique. WHy could we not have the activities from one app reference the object of another domain ?

Imagine this scenario:

John Mayer Vanderbilt show on May 22nd 2009 photo stream
  • Deb loves the new look on John >> from IFan Just Now
  • Monica is wondering why John takes so long ! >> from Ticketberry 2 minutes ago
  • John is getting ready to go on stage >> from IRockstar 4 minutes ago

Similar effects have been achieved with machine tags however there is no need for that given that the activities stream provides global unique identifiers. Surely one can produce a consumer which can leverage this and properly group based on the object id ?

Tuesday, March 17, 2009

Activities for Everyone

An activities stream is a list of activities.
The reason why its called a stream is because new activities are continuously being ingested and in turn delivered to a variety of places. Fresh information is always flowing on the activities stream.

So what exactly are activities ?
Activities are summaries of actions taken such as writing a blog entry, uploading a video or accepting a tag in a friend's photo. The point of activities is to provide snippets of information and let the reader decide if they want to do further research. It’s a stream not an ocean.

Activities are important because they provide a medium to tell your story effortlessly to a broad audience. Here are some details about the current state of the MySpace audience:
MySpace has 76 million users in the U.S. alone (world’s #1 online ad market)
MySpace is the most trafficked site in the U.S.
Users spend more time on MySpace than all social networking sites combined.
MySpace is the #1 most viewed site for teens age 15-17.
55% of all online teens visit MySpace.
MySpace reaches 60% of all adults age 18-24.
MySpace reaches 41% of all adults age 24-54.


For example on MySpace as soon as you upload photos from your latest trip, all of your friends who are following you will see the name of your photo album and the latest five photo thumbnails with links to see more on their homepage. Basically you do something, we record it and surface it your friends.

But wait a second, what if I don't want all my friends to know I just did something ?
MySpace also allows you to select what kinds of activities will go into the stream, not only that, but we also respect the viewing privacy of the social objects your create. If you upload photos into a private album for example we are not going to turn around and tell the whole world about. Furthermore, you can choose friends on your list not to surface your updates to and on the other hand if you are the kind of open social being that gives us high SEO marks, you can also choose to display your friend updates on your profile and have anyone in the world soak up with your latest news or control access by Friend Categories. The real bottom line is that this is your data and you have complete control.

So what can MySpace Activities Stream do for me ?
Well it depends on who you are !
If you are a musician in band you can keep connected with your fans by updating your status to give them an insight into your life on the road. You can also easily add shows to your profile and have those surfaced to all your fans in the area where the show is.
Most importantly you can upload new music and have the new tracks featured on the stream for all your fans to hear with the lick of the play button. The music player allows fans the ability to purchase songs. Also as new people become friends with you, the band, this new connection will be featured on the activities stream for the friends of your fan thus publicizing your band.
If you love music and love sharing your finds with your friends then rest assured that every time you make a public playlist your friends will be able to check it out and play the songs and see if they want to buy them or make them part of their playlists. In fact your friends can go into a view called songs recently added by friends and have a filter view of just the music activities.
If you are a comedian or ad-hoc entertainer you can upload videos of your shows and have those be surfaced on the activities stream. Once your fans add them to their Favorites list this activity will also be surfaced with their friends and cause a viral effect.

Activities provide a conduit for very subtle communication to those who have the time to listen. Sometimes friends just read. Other times they will write comments back. At MySpace we have been making it easier for your friends to give you feedback on what you did.

If you are always on the go you can take pictures with your phone and have your mobile adventures featured on the activities stream. Also from mobile devices you can get all of the latest activities your friends are doing. And with the use of standards such as oAuth and atom activity streams, MySpace is now delivering your stream to other social networks like Google, Yahoo, AOL and coming soon Windows Live.

So how rich is our activities offering today ?
MySpace provides a core set of about a dozen activities which represent the main functionality provided by the site: Building friendships, Sharing music, photos, videos, writing blogs, updating your status, organizing events such as concerts for bands and interacting with applications. Soon we will be providing ratings and reviews of local spots as well.
Yes that is a lot of stuff but we also take consideration in reducing the noise
For example, It is important to notice that surfaced activities are only creational or positive. If a user decides to remove a video from being a favorite we simply extract the original favorite activity from the feed rather than spamming the readers. The activities stream (exposed in human readable format) depicts the end state of the actor with the social object.
We also consolidate information when several actors (users) perform the same activity and when a single user performs many similar activities like uploading a gallery of photos or befriending several musicians. The whole point is to make the activities stream digestible.
When you follow someone's stream you get to see how they interact with the world on a daily basis. If they start liking a new band, make a music playlist, recommend a new nightclub, movie or book or dig a new political figure.
Getting to know someone via their activity stream is much more real than reading a static list of interests and about me fields which was edited about a year ago.

social coder

My photo
San Francisco, California, United States
Open Web Standards Advocate