October 2009 – Stay N Alive

Google’s Walled Garden

2426084610-reader-logo-en.gifAmong the things Robert Scoble is good at he is definitely good at getting us bloggers talking.  Today he shared on Posterous (which I am subscribed and read in Google Reader) his reasons for not using Google Reader any more.  Robert was the one that got me into Google Reader in the first place, so coming from him, this is a bold statement.  He has some points though – I’d like to put this in a different view.  Google Reader is Google’s Walled Garden.  There is no public search.  There is no public access to comments.  There is no public access to seeing what Robert is liking or commenting on or how he is interacting with the site.  The only thing public are the shares.  I have to be following you for you to be able to comment on, view comments, or like my shares.  There is no way to make those comments or likes public.  In a social web, that’s unacceptable.

Let’s first contrast that with Facebook.  Facebook, the original “walled garden” at least allows those you are friends with to comment and see your comments and likes.  The relationship is mutual.  Not only that, but you have granularity in who sees what you post, and therefore who can comment on it.  Of course Facebook could still do better in this as well.

Now look at Twitter, supposedly the most open environment of all Social environments (if you don’t count MySpace).  With Twitter I can respond to anyone.  Anyone can see my response.  I can retweet, and anyone can see my retweet.  I can even create an entire list of people and anyone can see that list of people.  Conversely, Twitter doesn’t provide the openness of granularity to allow people to be private as they choose (yes, I define that as openness as well), so even it fails to an extent.

What Scoble is having problems with I think is the fact that his content, his comments,and his likes are encapsulated in this walled garden in Google Reader.  Even his shares are pretty hard to find – he has to share the URL for you to have access to them.  I think all this lends to a poor User Interface, and a very “unsocial” experience.  It’s very hard to share things beyond just the articles in Google Reader.

My suggestion would be, assuming Google Reader wants to be a more social experience: open up more.  Make it easier to find peoples’ shares.  Make it easier for people to comment on my feeds.  Make it easier for people to like my feeds.  Give us an API to those comments and likes.  Get rid of duplicate content (okay, that’s just an unrelated pet-peeve).  At the same time maintain the openness of granularity to enable privacy should people choose.  The default should be openness though.  Google is not and never was a Walled Garden.  Google Reader shouldn’t be either.

At the same time you can follow me on Google Reader here.

It’s About Technology That Creates Community

Plug and Socket - building relationships with technologyI’ve been rambling on Twitter, FriendFeed and Facebook tonight about the differences in how Facebook, Twitter, and FriendFeed’s founders participate in each community.  Look at Mark Zuckerberg’s Facebook Fan Page.  Notice how he basically talks at the community?  I’m not sure I’ve ever seen a comment by him with his followers (perhaps part of the reason why it’s so difficult to manage Fan Pages right now).  Now look at Ev Williams and Biz Stone’s Twitter profiles.  You’ll notice a little more participation, but mostly with their inner circles and occasional outreaches to the community.  Now go read Paul Buchheit and Bret Taylor’s FriendFeed profiles.  Notice that they’re very actively involved in the conversation, responding in their own threads to people they barely know, participating in others’ conversations, etc.  I think if you look at the profiles of other employees in each of the three organizations you’ll see a similar trend.  Why is it that the community where the founders and employees participate the most is the smallest community with the lowest growth rate?

I’ve been contemplating this tonight.  FriendFeed, as a whole has one of the tightest communities of all.  For those that participate actively in the site, we quickly come to know each other – it’s the place where everybody knows your name.  That’s why Scoble, and Louis Gray, and myself are so passionate about it.  It is a great place to go meet new people, find more information, and grow with a community that cares and knows you.  I asked the question why Facebook and even Twitter don’t see this as an opportunity to win a new audience, much of which feels a bit betrayed by the sale of FriendFeed to Facebook, and many who have never done much venturing outside the network to new places. It seems like an opportunity to me – after all, when Facebook bought FriendFeed, they bought the technology, not the community.  The community is something that has to be earned, not bought.

Yet, at the same time I wonder if it really matters.  With Facebook and Twitter’s immense growth, do they really need to be paying attention to the small FriendFeed community?  FriendFeed has great technology, and great talent that built that technology, now working for Facebook (one who just left).  Can the community be won in other ways?  I think it can, and it goes back to the first paragraph above – look at the numbers compared to participation.  I argue a community’s growth is not relative to the participation of its founders, but rather the technology’s capability to build community even further.  It’s the technology that trumps community any day because it creates and enables that community.  Technology that empowers individuals to create their own communities wins any day, and trumps founder participation hands down.

Gasp!  You say – you mean I don’t have to participate to build a community?  No, that’s not what I’m saying.  If you’re a user of the tools, you definitely must be participating, nurturing, and sharing for your community to grow.  What I’m saying though is that no matter who the founders are and whether they participate in your personal community or not, you’re going to take your community to the places that enable you to nurter, build, and grow a community the best.  That’s why Facebook grew the fastest.  That’s why people use Twitter.  It’s also why FriendFeed was the smallest, yet had a great acquisition of some very talented individuals who know how to build this type of technology.

Let’s look at the technologies:

Facebook

Facebook not only enables you to share status updates with your friends, but enables you to share photos, videos, notes, links, and more, all in an integrated environment.  You have privacy controls to which you can control how public the information you share with your friends is.  This encourages a native environment where family and close friends can communicate and share with each other, focusing on each individual’s roots to build community out of.  You have lists that you can organize these individuals and filter their updates in your news stream.

At the same time Facebook provides Fan Pages, indexable by Google, for which you can subscribe, or “fan”, similar to the way you would do on the other networks.  This is your public, more anonymous persona, something I think each individual needs as well.  This enables you to share with the rest of the world what you’re doing, and build community and share through that means.

Then you have the API.  Not only as an entrepreneur, developer, or community builder do I have access to create applications that create and nurture community within the Facebook environment, but Facebook has also given me the technology and tools to do that on my own website, all with the community I’m working to build on Facebook itself.  It enables me to do that with my own community, and enable them to bring their communities into my own.

The richness of that experience is what makes Facebook so big, and is the reason for its growth.  That has nothing to do with its founders or their participation.  I’m not sure they need to participate so long as they keep building technology that further enables individual communities on the network.

Twitter

Twitter baffles me at times, but I think I understand it.  Twitter’s openness and focus on such a simple thing, status updates, is what has made it grow so big.  Users can do whatever they want with the network.  They can use it to update their friends with what they’re doing, respond, and grow a community through open communication.

Twitter also encourages the initiation of conversation.  You post something on Twitter, link to somewhere else, and the communication continues elsewhere.  Some times that filters back to Twitter.  Some times the entire communication happens on Twitter.

Twitter’s API is as open as it can be.  It’s fairly limited as compared to Facebook’s, but has enabled many people to bring their communities on Twitter back to their own brand and vice-versa to further grow community.

The problem with Twitter as compared to Facebook is that it is only status updates.  You can respond, reply, and even retweet items you read, but it all centers around those status updates.  There’s not much more depth than that, limiting the type and size of community one can build on the network.  Yet at the same time the openness and lack of rules around users and its developer platform has enabled people to do things they would not normally be able to do with a community on Facebook.  That’s why they’ve continued to grow and are the size (and hype) they are right now.

At the same time because they’re not quite the enablers of community in regards to their technology which Facebook is, I think their Founders and employees need to participate and get involved a little more.  The technology still doesn’t quite sustain the building of community the way Facebook’s does.

FriendFeed

I could probably argue FriendFeed has better technology that encourages and enables community building better than Twitter’s.  The problem with FriendFeed is that almost all the technology found in FriendFeed keeps getting gobbled up by Twitter and Facebook.  There’s not much new to it, and now that they’ve been bought by Facebook, that doesn’t appear to need to fully compete – it would just be an additional complement to the community-building offerings Facebook offers.

Beforehand FriendFeed was doing a good job keeping up, and perhaps could have even caught up to at least Twitter.  Its growth was even starting to show that before they were acquired.  Yet their founders still participated, as did the other employees of the company.  Why is this?  It was possible because the community was smaller – the founders were simply growing with the community, and the community was and is still a tight-knit community of people that knew each other.

I think as FriendFeed continued to build technology that enabled others to build community and relationships, that participation would have slowly evolved to each of the founders’ own close communities.  They would not have needed to participate for the community to grow.

Conclusion

So what do we make of all this?  I think the moral here is that entrepreneurs need to focus more on building technologies that encourage and enable community.  When you’re writing code or having others write it is it enabling people to build relationships?  Is it enabling people to share with others?  How much so?

The Facebook/Twitter or even Google or Microsoft or Apple battle isn’t over yet – in the end it will be the one that best enables their users through technology to build their own communities and communicate better with each other.  The better competitors will master this.  There will be other entrants.  It’s not the participation of a community’s founders that determines its success.  It’s the technology of the company which creates community that does.  In that regard, technology trumps community, hands down.

What News Has Me Excited About Twitter Again?

n211606_34862677_9920No, it’s not lists.  Facebook has already had those for over a year now (of which we featured in I’m on Facebook–Now What??? when it first came out).  What has me excited is the hiring of a new employee today.  Josh Elman, previously the Platform Program Manager for Facebook and former Senior Product Manager at LinkedIn, today joined Twitter as the 3rd Product manager hired at the growing company.  What has me excited?  He knows platforms and he truly understands the vision of Facebook – this is a huge hit on Facebook and huge win for Twitter.  This is a guy with serious experience, something that has had me concerned in the past for Twitter.

I mentioned before any idea to the contrary that Twitter is trying to be like Facebook is a lie.  The fact is Twitter has to be like Facebook to compete and grow.  The only other option Twitter has is to sell, and we know they’re not looking to do that.  What better than hiring top talent directly from the competitor you’re trying to be like?  Josh Elman was one of Facebook’s best – he was there when Facebook went profitable.  He knows this stuff.

As a developer on the Facebook platform, I’ve had the opportunity to work with Josh, as have many other developers.  He was one of our primary points of contact, and after writing FBML Essentials, Dave Morin, the man in charge of Facebook’s Connect platform, immediately introduced me to Josh for reference and we have kept in contact since.  I was always amazed at his vision for things, and his friendly attitude towards the developers working on the platform. He did a lot for Facebook.  I was really sad to see him go.

Now I get to turn to Twitter and see what he will do there.  Josh Elman is one of the single biggest hires for Twitter in a long time, and I can’t wait to see what happens.  With him at the helm of Product Manager, will we see Twitter grow profitable?  Will we see a stronger developer platform product? Will we see more Facebook-like features?  What weaknesses will Twitter seek out?

I’m finally excited about something again at Twitter.  Josh is a great addition and I can’t wait to see what happens.

Introducing the FB Share Button WordPress Plugin for Facebook Share

FacebookToday Facebook launched a nifty little tool enabling website owners and bloggers to allow their users to better share and track their content on Facebook.  The new tool provides a piece of HTML and javascript that renders a little “Share” button.  When clicked, the post is tracked by Facebook, the number of shares is shown, and via an API comments, likes, shares, and more can be tracked across all of Facebook for items shared via that button.  Today I’m going to add to that by providing a WordPress plugin.

The FB Share Button WordPress plugin renders the Facebook share button of your choice on your blog.  Via admin settings in WordPress you can choose which Share button you would like to display, where you want to display it, and even provide the language for the link.  The plugin is based on the same Easy Retweet plugin by Sudar which you see on this blog.

To install, just download this link, untar and ungzip into your WordPress plugins directory.  Activate the plugin, adjust your settings to display where you like (or you can manually add it to your template or posts – see the readme), and it will display for every post you write on your blog.  You can even turn it on or off per blog post.

I’m also working to make this FBFoundations compatible so it will load as an optional XFBML tag if you like – expect that in a future revision.  Now WordPress bloggers everywhere have the capability to enable and track Facebook sharing on their blog.  You can download it here:

http://downloads.wordpress.org/plugin/facebook-fb-share-wordpress-plugin.zip

Stay tuned though – in the next revision I’m hoping to add Facebook API support so you can track and read the number of shares, comments, likes across all of Facebook from your WordPress admin.  That will all fit in with the FB Foundations plugin I wrote earlier.

Hey Utah, Where are the Tech Bloggers?

utah silhoutteI’ve discussed before that Utah (the state I live in) has a PR problem when it comes to Technology.  We have some amazing businesses that have come out of Utah, but they all get snatched up, bought, and Utah continues to be a state not seen for its tech contributions.  The truth is there are a ton out here, but no one knows about it.  Today I’m not sure if you were aware, but Eric Schmidt, CEO of Google visited Utah and spoke at an annual Utah Technology Council event.  I came across a video on local station Fox 13 KSTU’s website today where a press event happened with pressing questions towards Eric Schmidt.

What struck me is that the meeting consisted of Schmidt, 2 very conservative Senators from Utah (Hatch and Bennett – we know who he voted for last election – he ended the meeting calling them his “two favorite Senators”), and nothing but very fancily dressed top-notch media organizations.  No tech bloggers.  No one specifically from the tech world to report the event and ask the questions that really matter.  What’s funny is that a lot of the room probably didn’t even understand a word Schmidt said – they were simply there to ask questions.  If this were Silicon Valley that room would have been full of tech bloggers.  They would have been the first to report on the event.

I want to know why I didn’t get an invite, or Matt Asay, or Phil Windley, or other tech bloggers from Utah weren’t invited to this event.  At the same time I’m wondering who the other Tech Bloggers are in Utah.  Utah has a lot of marketing bloggers, a lot of Mommy-bloggers (like Dooce), yet from what I can see there are very few tech bloggers trying to write original, regular, and interesting content for their readers.  I visited Facebook a few weeks ago, and one of the first questions I was asked by those there was, “aren’t you like the only tech blogger in Utah?”  I was a bit embarrassed by this question on behalf of Utah – there should be more people think of.  Immediately I shared the people I knew, but frankly there just aren’t that many here.  I want to change that perception.

I want to issue a challenge to my fellow geeks and technology enthusiasts in Utah.  You don’t have to be a programmer or a developer or know the bits and pieces of architecture surrounding technology.  You simply have to have a love and a passion for technology and learning about technology and learning what is new in the technology world.  If this is you, I want you to start writing about it.  Get out there and write something – spend half an hour a day, or if that’s too much, start by once a week, and build up as you are able to, but most importantly I want you to start writing and keep writing.

Any one of you can build an audience.  This goes for those in and out of Utah.  Specifically for Utah I need you to start writing and sharing with the world things like this.  For Utah technology to be seen by the world we need more tech bloggers.  Are you a Utah-based tech blogger?  I want to know who you are.  I want to help share your content and get other people reading your content.  Of course, the same goes for anyone in any other state that reads this – I believe in those that are passionate about technology, and every one of you deserve to be heard. I’m really sad that no bloggers (that I’m aware of) were invited to this event.

Hopefully if you are in Utah or know someone in Utah that writes a Tech blog or wants to you can share this with your friends. I want to see more people blogging and less people Tweeting out there, especially if you’re in Utah.

Twitter Keeps Fighting While Facebook Continues to Grow

David and GoliathEv Williams was quoted recently saying, “The world is big enough for both Facebook and Twitter”, almost as though we were supposed to think Twitter wasn’t trying to be a competitor.  Don’t be fooled though, Twitter’s recent lists feature is just one step towards providing the privacy controls Facebook itself is known for.  Before we know it you will be able to decide which lists you want to share Tweets with, photo services will be integrated, video, groups, messaging, and more, and Twitter will be head-to-head with the features Facebook currently provides.  Twitter wants to go head-to-head with Facebook.  There’s no doubt in my mind that’s what Twitter is trying to do – it’s what they have to do in order to continue growing.  While Facebook’s weakness is the lack of full openness, Twitter has the greater weakness of lack of control or privacy.  Without more than just public status updates their sign ups and traffic will plateau and the service will dwindle and lose value.

Yet, with each update to Twitter comes increased pressure to Facebook to become more open and more public.  Just today, in response to Twitter’s partnerships with Bing and Google, Facebook also shared that it was opening up its own public status updates to be indexed by search engines.  Don’t forget that Facebook already has an ad deal with Microsoft, along with investment.

Facebook’s Lack of Openness is an Illusion

Despite the criticism against Facebook for not being open don’t be fooled.  Not only is your data capable of being open, but you get to control what is, and what isn’t open at the same time.  As of today all your status updates set to go to “Everyone” (check your privacy settings) can now be indexed by search engines.  Expect this to also open up on Facebook itself, along with Facebook’s own search.  Facebook wants to be open – its users have to choose to be open first though.

Facebook’s recent hiring of David Recordon (note that the linked article is by Chris Messina, also a leader in Open Standards technology) is a testament to this I think.  Recordon was one of the leading proponents to open standards and data portability before joining Facebook, and he has been put in charge of just that at Facebook.  With this hire, Facebook has just become a leader in this space.  Notice Facebook’s adoption of the ActivityStrea.ms standard, and open sourcing of the Tornado framework acquired from FriendFeed.  Add to that the many other open technologies you can find on their developers site – Facebook is not a follower in this space!  Where is Twitter’s Open Source tools page?

Facebook Fan Pages

Let’s add to that Facebook Fan Pages.  Each and every Fan Page is indexable by Google.  While better integration with personal profiles is still necessary, this is an excellent way to share news and information in the same manner you do Twitter, and build a community at the same time.  Each post is threaded so you can build a conversation with your community.  Each comment, “Fanning”, and post to the Page gets posted to a user’s friends as well, further encouraging conversation and discussion.  This is far from what Twitter offers, and all this is done in a very open fashion – you don’t have to be on Facebook to read the contents of a Fan Page.

I just started building my own Fan Page community (send “fan stay” to 32665 (FBOOK) on your phone), and am already seeing greater interaction there the more I spend using it.  The potential is very strong in a very open, and much stronger environment than Twitter.

Facebook’s Terms of Service are Open Too

Now, let’s talk Terms.  Earlier this year Facebook instituted a new policy stating that any changes to the Terms of Service will be put up to the users.  If enough users disagree, it gets put up for vote by the users.  If a majority of those users vote for the changes, they get put in place.  If not, they don’t.  The current terms are established in such a manner.

Consumerist has a great overview of what these terms changes were.  To summarize, you own your content, and give Facebook the right to distribute that content (this is so they can share it with your friends legally) so long as you are a member of Facebook.  HOWEVER, the minute you quit the site, the terms state that your information at that point is removed, with exception to the photos, videos, etc. that have already been loaded into your friends’ streams.  This is so the stream remains in tact.  There’s termination here.

Let’s contrast that with Twitter, whose terms have no termination and are just as strong, if not stronger.  With Twitter, when you leave the site your content can remain.  There is nothing in Twitter’s terms stating that they have to remove your content when you leave.  You give Twitter that license to your content forever.  Where’s the outcry about that?  Yet Facebook had huge outcry over not having such termination in their agreement.  Facebook has remained open and ahead of Twitter even in this regard.

Facebook’s Acquisition of FriendFeed

I think this is the crown jewel we have yet to see.  We know the FriendFeed team is working on Facebook as we speak.  We also know FriendFeed.com is not going away.  Will Facebook have FriendFeed-like real-time features?  Will FriendFeed see more Facebook integration?  The one weakness of Facebook is the lack of an easy way for those that want to be public by default (which is dangerous) to be public, while integrating that information with the user profile and other integrated parts of Facebook.  Search still lacks a public interface.  There’s no API to it.  Facebook’s stream is still not real-time while Twitter’s and FriendFeeds are.

The FriendFeed team has the potential to change this.  I predict a real-time Facebook in the near future, with integrated public interfaces and search enabling users to share the content they want to share with the world.  The cool thing is Twitter has already exposed their cards with Lists.  Funny thing is Facebook has had lists for over a year now, and you can even filter searches with those lists!  Twitter doesn’t have that.  The only benefit Twitter’s lists give is the ability to see who other people are subscribing to and subscribe to the same.  I don’t see that as being that hard of a problem to tackle for Facebook.  They’ve seen Twitter’s cards and no one has seen Facebook’s.  Imagine the ability to put Fan Pages into public lists, for instance – I think that would be pretty cool, and pretty easy to implement.  Imagine Facebook’s own privacy controls, including the “public option” available for Lists as well as users and Pages.  It’s also important to note that FriendFeed also had lists before Twitter did.  The combination of both FriendFeed’s and Facebook’s teams means they are the true experts on lists.  I can’t wait to see what they do next.

My Point

So what’s my point?  My point is stop drinking the Twitter Kool-Aid!  Yeah, it has its place – I’m NOT saying get off Twitter, but it’s nowhere near as powerful as what Facebook already offers.  I want to see more news people and early adopters like Scoble and Louis Gray and Steve Rubel using Facebook and Facebook lists to provide content and news.  I want to see more people sharing and discussing content in my own Facebook feeds.  I want to see more people utilizing privacy controls, not available in Twitter, to segregate the content they share, reducing the noise.  Spend some time in Facebook – learn what you can and can’t do with it.  Try to build a community there and see how effective it is, utilizing all these tools at once.

Facebook is not losing this war.  With 10 million fans a day and growing on Facebook Pages alone, 300-350 million users and growing, a much more powerful API and developer ecosystem, Twitter doesn’t even make a dent in what Facebook is doing.  It’s about time we start giving credit where credit is due.  Twitter launching lists is about as effective in fighting Facebook as this video of Ben Parr is in fighting Chad Vader 😉 :

[youtube=http://www.youtube.com/watch?v=oeetrNt1qBg&w=425&h=344]

Image courtesy LDS.org

Comcast Fails to Innovate With Versus/DirectTV Debacle #vfbyu #vftcu #vsstreamit

Versus-LogoVersus, the Sports broadcast network owned by Comcast, Inc., has been in a turf war recently as it has pulled customers in the middle of a fight between DirectTV and its Sales team unwilling to give way until DirectTV pays.  The fight is grounded in a feud where Comcast wants DirectTV to pay extra to gain access to the network, DirectTV being unwilling to pay.  DirectTV customers (disclaimer: I am forced to be a Comcast customer right now) are forced to either switch to Comcast or forgo games like this weekend’s ranked BYU vs. TCU game shown only on the network due to pre-arranged deals with the MountainWest Conference.  Versus is even going to the effect of asking viewers to call up DirectTV and request it be added in commercials broadcast the week of critical games.  I’d like to suggest to Comcast and Versus it’s time to eat your own dogfood – I want my games online!

Comcast, my internet provider who has the technology to do so is taking this entire approach immaturely, forcing the customers into the middle of it all in a greed for more money from DirectTV.  When in reality, Comcast could bypass DirectTV altogether and provide these games, ad-supported for free on their own site.  ESPN does this.  Heck, I’d even watch it considering I don’t have cable TV at all and I’m a Comcast subscriber!  It’s time the cable and satellite providers buck up and start to share these things so all can see – don’t pass the burden onto your customers.

Imagine a day when it doesn’t matter if your cable provider has the games you want to watch.  Imagine a day when you can watch the games, provider-free, on your TV or computer or even iPhone, no worries about who is sending the signal.  Comcast needs to take the lead in this, that is if they truly care.

I’d like to start a new campaign.  No, I don’t have the money or the voice or the bullying influence Comcast has, but I do have a blog.  I have Twitter.  I have Facebook.  I’m creating the new hashtag, “#vsstreamit” and every time I hear those commercials I’m going to be reminded to pass the burden back onto Versus through Tweets, blog posts, Facebook, and whatever means necessary to make people know this is Comcast’s problem, not DirectTV’s.  I’m sick of this.  This is Comcast’s problem which they created after all.  It’s about time Comcast starts to really care and share this stuff with all of us rather than play these silly blame games.  Take some responsibility!

The Framework of the Building Block Web – An MVC Perspective

lego houseRecently I talked about the new web being that of “building blocks”, or “Lego bricks” setting the foundations for each application or website which encompasses the new internet.  Applications that embrace this new architecture will both embrace the strengths of other applications and technologies through third-party APIs, as well as provide their own in order to share their own strengths in the building block web.  The idea of the Building Block Web being that of empowering each app that uses your technology to now owning the strengths which you, the developer or entrepreneur or business can add to the puzzle.  I’d like to suggest an overall framework for how Building Block Web apps should be built.  The analogy to me makes sense, and builds off of traditional MVC (Model/View/Controller) models.

Building Block Web – the Model

Let’s talk Model.  The Model component of a traditional MVC framework is intended to provide the structure for abstract data access in a sense that your app never actually sees the underlying data architecture, but rather accesses it through a higher-level layer that can provide inheritance and simple methods for getting at that data.  In the Building Block Web we’re seeing this in the form of Cloud data stores and APIs.

Look at Amazon, for instance.  Amazon provides SimpleDB for abstract data access and storage into the cloud and easy retrieval of serialized information.  Amazon has even provided API methods around processing this information with Hadoop and Mapreduce data processing and crunching (although that could arguably be part of the Controller).  Amazon has provided S3 as a simple file storage and retrieval API.

Other traditional services are also providing their own data store APIs.  For instance, Facebook itself has its own Data store API allowing simple storage of meta information about users and things in its database.  The stream itself allows storage of meta-data with each stream item posted via the API, making the need to build traditional local architecture around social workflows less necessary for the developer.  A simple FQL call to Facebook will pull most of the information necessary from the service.

It should be noted that Google also provides similar services.  The spreadsheet API or even Gmail storage API can be used as simple data storage mechanisms.  Or, for more complex data storage and retrieval, AppEngine provides BigTable for that access, along with an entire API centered around storing, compiling, running code, and retrieving data with that code.  The entire AppEngine API itself is somewhat a Model-based Building Block architecture.

It’s interesting to see people try to compare just the Model component of the Building Block web architecture as Web 3.0.  It’s not – it’s only one component.

Building Block Web – the View

For a Building Block Web app or website to embrace all the components of the Building Block Web, it should also embrace a view of some sort.  Remember a View is code that the user interacts with, usually via a browser, and in the Building Block Web participants must provide components (or “blocks”) that sit at the user level reducing the work a developer needs to do to integrate the blocks into their own environment.  Facebook does this very well with its own internal Applications developers can write, as well as Facebook Connect, enabling developers to integrate  the Facebook environment in their own websites and applications outside of Facebook.

Facebook has provided XFBML and an entire Javascript Client library to enable, at the View, for developers to pull pieces of the Facebook architecture into their own websites and apps.  In addition, they have provided a way for developers to host apps right in the Facebook environment itself, giving an even more native approach to Building Block Web development.  Even the Authorization process is taken care of through the View.  Facebook provides simple HTML and Javascript code (or even an XFBML tag if you want to simplify it even further), and in just a few steps (or even copying and pasting through a Wizard), a popup login box will show up, right on your site, with no backend code necessary to log in the user. Facebook handles the authorization process all for you, giving a unique way to use a user’s Facebook credentials for login and authorization into using Facebook’s pieces of the Building Block Web.

Google does similar with OpenSocial.  Through simple Javascript, any OpenSocial-supported container can run OpenSocial apps.  While not quite as simple as Facebook to integrate into your own environment (due to the decentralization of it all, not a bad point for Google), across multiple environments you can write one simple app that uses Google’s standards to share that app, via simple View (aka Browser-side) code one can add to their environment of choice.  Add to that the ability to embed Waves into any environment, and the simplicity of Friend Connect for finding and communicating amongst users on a 3rd-party website, Google contributes to the View of the Building Block web as well.

It should be noted that Twitter has no View to contribute, and I think if they’re trying to compete against Google or Facebook in the new web they may suffer until they do so.

Building Block Web – the Controller

The Controller is the component of an application that controls the entire application.  It makes the calls to the Model, releases the View code to the browser, and is pretty much the brains of the entire application.  Twitter is mostly a Controller-based Building Block web brick.  When you write a Twitter app, you are writing mostly server-side code that accesses the Twitter API through your server.  No View bricks are provided, and there is no Model API at the moment.  Everything is handled at the application level, making the Twitter API a weak set of bricks in this new Web model.

Facebook also provides a Controller set of bricks through its own REST APIs.  As an application developers I can access the API fully on my own backend and the user never sees that part of the process.  I can even make calls on behalf of the user to do things like send notifications or process data (with the user’s previously given permission at the View level).  I can send data and retrieve data from the Model bricks of the Facebook building blocks.

Google also provides a REST layer to its OpenSocial protocols.  MySpace has implemented it, as has Orkut (I believe).  Developers can do similar things with the MySpace and Orkut APIs that they do Facebook, doing all the work behind the scenes.  The Application layer is critical at handling sensitive data that the user may not have access to.  It is a critical component of the Building Block Web.

Comparison of Various Building Block Web Bricks

I’m sure exceptions could be made for all of this, especially considering the entire idea behind the Building Block Web is that you should be able to mix and match.  For instance, I could technically take an Amazon SimpleDB brick and mix it with an iGoogle brick to give full MVC functionality.  However, this table summarizes the capabilities of various players in the space – note that the space is also much larger than this.  These are only some of the larger players:

Model

View

Controller

Facebook

TRUE

TRUE

TRUE

iGoogle

FALSE

TRUE

TRUE

Twitter

FALSE

FALSE

TRUE

Flickr

FALSE

FALSE

TRUE

MySpace

TRUE

TRUE

TRUE

Orkut

FALSE

TRUE

TRUE

AppEngine

TRUE

FALSE

TRUE

Amazon AWS

TRUE

FALSE

TRUE

Wave

FALSE

TRUE

TRUE

myYahoo

TRUE

TRUE

TRUE

If you’re building for the Building Block Web, you will have the most success finding ways to integrate all three elements of the MVC Building Block Framework.  The idea is to empower users and other businesses in as many ways as possible to fully utilize the strengths you can provide.  If you share graphics (like Flickr or SmugMug for instance), provide not only a REST API to read and post graphics, but a store API for storing meta data about those graphics, as well as a view for enabling developers to create their own wrappers around the graphics. (Note that SmugMug does this, in all 3 layers)

The Building Block Web is about empowering developers and businesses to use a new platform – a platform of platforms, to create, using each brick’s own strengths, their own applications.  Developers and business owners can then take their own strengths and add to that, enabling more bricks to the picture.  My hope is more apps can start to embrace the entire Building Block Web, and not just pieces of it.