Tagged: Facebook

Moving to a Service Oriented Architecture

Many times clients come to us asking us to take over a “broken” website with “dubious” code that was developed by someone who is no longer with the company or by another vendor.  Often times, we are called in when there is a new look and feel or features to be added to the base. Often times this will involve changing not only the code, but the coding language (from PHP -> Python, from PERL -> PHP, etc.).  In addition, the database schema is usually not optimal / needs to be extended.  Finally a lot of those clients want to move their business to a Service Oriented approach where others (outside of the company) can use their service as a platform by interacting with it via a Service Oriented Architecture.  Salesforce.com and eBay are two great examples of companies that have transformed their business model by opening up their proprietary application via APIs.

The natural reaction of most developers I’ve ever run into is to do a “big bang relaunch” and just start from scratch.  I personally like to take things one step at a time.  I like to slowly rebuild the system step by step getting it to the point where all the transactions are done on a Service Oriented Architecture.

Step 1 – Reskin
Apply the new look and feel to the current site.  This will force you to get to know the code and all the business rules.  Each page will need to be touched, re-skinned and qa’d.  Only with this level of detail will you be able to find all the hidden gotchas in the code and the logic.  Additionally, it allows you to create and become familiar with the new front end code – which is often considerably cleaner than the legacy code we are left with.

Step 2 – Start building out new functions with SOA and new infrastructure
Keep all the old code running, but slowly build out web services with the new coding language (if switching).  When the web services are working to support the new functions, rebuild that page or add a new page consuming only the services.  This will allow you to start to move the ball forward, see what flaws there are in your architecture and roll out new features quickly while maintaining the legacy features.  The data schema should be left intact and only new constructs should be added to support new functionality.  Even if sub optimal, the main DB structure should be left for the legacy code to run on.

Step 3 – Move all functions to SOA & new infrastructure
Once the theory of building new pages on the SOA infrastructure is complete, you will have a good idea of what is working and what isn’t.  The page templating schema, services calls, etc. should all be worked out by the time you start this phase.  During this step, all the old code is replaced by new clean code consuming the services.

Step 4 – Update back end code & db for all new SOA approach
Once all the front end code has been updated, it is then time to start doing the major refactoring of the data schema.  Till this point in time, the data schema has stayed constant so that the old code will continue to work.  Once the old code is removed from the system, then the schema can be fixed if needed.   By separating the business and display logic from the data via the services  layer, the web services exposed can stay the same as the database tables are fully flushed out.

If the company wishes to move to an SOA-based business model and open their services to the outside world, steps 5 and 6 are useful.

Step 5 – Move to model of API releases and documentation for internal community of developers with standard tool kits
Once the site is consuming only your web services, it’s time to write the documentation and put in the authentication so that others can interact with your platform.  This typically involves creating documentation and making it available to the outside world – generally within the context of some sort of developer program site (developer.ebay.com, developer.salesforce.com, developer.facebook.com).  In addition, it’s usually very useful to create small “starter” toolkits in PHP, Java, .Net, PERL, Python, and Ruby for developers that they can use to plug into the system without really understanding the APIs

Step 6 – Open your API to the wider world
Once this is done,  you will have a brand new website that consumes your services.  By building out the site in this manner, you will have tested the products (the web services) you will offer to developers and the outside world.  The toolkits will provide for rapid adoption amongst developers and if you have a product others want, you should start seeing the activity.

For more information about transforming your legacy site to a modern, services-based platform, please contact us.

The Twofer: Facebook and Wordpress

The other day I stumbled upon a very well put together Facebook Connect - Wordpress plugin. Given the task of finding a way to connect the two, a Google search pointed me to www.sociable.es.

Once installed, the plugin implements a widget into your Wordpress sidebar that allows users to log into their Facebook accounts and share a blog post with friends, post a blog article to their Facebook wall, share blog comments to facebook, even import registration data to the Wordpress application. The registration part is clever. As a new visitor to the Wordpress blog, a user simply click the “Connect with Facebook” badge and enters their Facebook credentials. In a snap a new Wordpress account is created based upon their Facebook profile and their profile image and other basic information is imported over.

Facebook and Wordpress

Check out a demo at http://www.onewelcomesone.com/wordpress/  - The demo is a clean installation of Wordpress with nothing but the plugin added. The overall setup took less than an hour and could be done by anyone.

Developed by Javier Reyes, the Wordpress plugin is easily installed through the Wordpress plugin directory and immediately configurable through the Wordpress administration interface. Backed with a straightforward read-me, the plugin is installed in 8 steps. For a noob, the toughest part of the installation is probably creating a Facebook application through www.facebook.com/developers but after that, it’s all drag and drop. Anyone who toys with the two applications will love this plugin.

Check it out, install it, enjoy it. If you have any questions, leave a comment. It’s an excellent way to start boosting traffic on your blog and getting your articles spread across larger social communities.

Good Grief?

FacebookRecently I saw an alarming post from my former writing teacher on Facebook. It said “Thanks to everyone for their love and support during this difficult time.” Difficult time? I was worried. I didn’t want to bother her if she was in the middle of something terrible. But I did want to be supportive. What to do?

I clicked on her wall. There were tons of messages from friends – but none said what had happened! Some of the messages addressed her daughter so I knew she was probably okay. I deduced it must have something to do with her husband. Nervously I clicked on his Facebook page, which was linked to hers through the “Married” section. His status said, “John is happy and looking forward to going to Madagascar!” Quickly I Googled his name. An article came up from a Madagascar newspaper…. in French. I knew it had to have the answer.

My rusty college French skills only got me so far. Troubled, I looked at my chat list but my only friend who spoke French wasn’t online. I found a French/English translator through Google and entered the article. My worst fears were realized: John was dead.

I immediately went back to my teacher’s Facebook page and expressed my sympathies, then reflected upon what a strange experience that was. We all know personal privacy is as antiquated as the rotary telephone – but even this? The most intimate, private and tender pieces of our lives are available (with a little digging) for anyone to see, comment on, and become a part of.

My mom, who was visiting at the time, said, “My generation would never do that, we would call someone and speak directly.” But what if you’re not a ‘phone friend’? Texting, IM, email, blogs, comment posts and Twitter have allowed for compartmentalization and delineation of relationships in a whole new way. Is it better to post a brief note to let someone know you’re thinking of her – or is that low level of effort just insulting? Is social networking and Internet sleuthing a horrible invasion into someone’s inner life or a valuable way to connect and extend support to your ‘village’ in difficult times?

My answer came in her next post. “Every time one of you writes, my mobile beeps, showing me the message. And I feel just a little bit better.”

Promoting Change. Inviting Change.

Change.gov hero imageThe history of the Web has seen many milestones:  Netscape. Amazon. Craigslist. Blogs. Wikis. People finding love.  People inventing new technologies, services, and modes of commerce. The inauguration of the next President of the United States in now within one week. It is time to reflect on another major milestone in the short life of the Web: The advent of Change.gov  - - [All images in this post are clickable]

Launched on November 5, 2008, just one day after the nationwide Presidential Election, Change.gov instantly became a major vehicle to promote the transition plans and communication strategy for the office of the President-elect Barack Obama. For those who live much of their day-to-day lives using the web and digesting content via the web, it may come as no surprise to see articles and news posting online. Yet, it is important to realize that this is the Presidency of the United States. This is not a shop selling handmade Yak-wool scarves. Or a site promoting the AORBS (Amalgamated Order of Real Bearded Santas). Or even another major site from General Electric, Wal-Mart, Yahoo! or Google. This is a site representing the focal point of the future of the government, and thus of the people, of the United States of America.On launch day, a post on Change.gov’s official blog included:

Change.gov provides resources to better understand the transition process and the decisions being made as part of it. It also offers an opportunity to be heard about the challenges our country faces and your ideas for tackling them. 

This is a great example of fulfilling the social and communication promise of the Web. It is great to see online community being used at the national level.To some extent the promise of the Web and social media, and the long-tail-ization of news production and consumption, is that anyone can publish information. And that all information should hold equal weight. As Howard Rheingold wrote in Smart Mobs in 2003 “Everyone can be a publisher or broadcaster now.” Nonetheless, there is clearly a different level of gravity and impact when the publisher is the office of the President-elect. An office soon to be in charge of directing trillions of dollars in funds, commanding the largest workforce in the nation, the ability to wage war, guide Climate Change laws, and the ability to direct major programs affecting everyone living in America.

Transparency

The transparency shown on Change.gov is a breath of fresh air coming from government. For some of us who lived through periods of secrecy, or lack of communication, such as Watergate, or the Iran-Contra cover-ups, or even your local City Council’s inability to post garbage pickup days, or School Board policy decisions, it is truly remarkable to see the official items expressed on Change.gov.  Just a few examples include:  PDF files spelling out the Presidential transition plan details; agenda papers declaring the official position on topics from Health Care to National Security; job applications; dozens of videos with key cabinet level personnel telling you their opinions and visions directly; lists of all the people responsible for decisions in the various departments and committees; and daily blogs and news posting and videos from Obama himself and the Obama team.

Dissent and Community

More than just a boosterish campaign site, Change.gov has also become a platform for dissent and criticism. Foes of the in-coming Obama administration are allowed to post comments and be heard. As Clinton veteran Peter Daou puts it:

It speaks well that they aren’t using a heavy hand to moderate the outrage on the site. It’s also encouraging that across the web, activists see Change.gov as a place to express their views. Bloggers have been sending readers there to tell the transition team how they feel about Warren’s selection.

For me, this is the raw power of the medium, the ability to communicate and aggregate at will, massively and instantaneously. It’s not the YouTube addresses and the capacity to ask questions and receive boilerplate policy answers that will mark Obama’s as the first truly wired presidency, it’s the freedom to speak out on a global scale, both in support of — and in opposition to — the incoming administration. Kudos to Obama’s team for providing an official platform for that to happen.

 On the constructive side, on day one Change.gov started soliciting user input and comments to be sent directly to Obama’s team using the “Tell us your vision for America” online form.Citizen’s Briefing Book example

Team

There are some great stories online about the genesis of the Change.gov site, including that of the domain name itself: http://michellemalkin.com/2008/12/20/document-drop-the-story-behind-changegov/

The folks behind Obama’s internet strategy and transition to Change.gov are no slouches. Facebook co-founder Chris Hughes became a key player in the Summer of 2008 (http://www.nytimes.com/2008/07/07/technology/07hughes.html), and former IAC executive Julius Genachowski acted as Obama’s Chairman of the Technology, Media and Telecommunications during the campaign and transition. With Hughes involvement Change.gov reaches a higher level of polish, gloss, focus, clarity of purpose and approachability than your standard government Website. The branding, user experience, and content are professional and on par with good corporate Websites, and better than most global news portals.

Tools and Copyrights

Surprisingly, and to the delight of most of us in the Web profession, Change.gov has opted to use inexpensive low friction off the shelf tools, instead of building some wacky roll-your-own proprietary solutions. Multimedia web technologies are integral to Change.gov, including the use of YouTube and Flickr. Imagine the backroom discussion to approve this “Hey Smitty, is it okay if we create an Obama account on Flickr?” pause “Yea, dude sure. Cool.  Do it.”

Additionally, Change.gov is not averse to using best of breed commercial solutions for particular parts of the site.  On January 14, the “Citizen’s Briefing Book” an online forum where you can share your ideas, and rate or offer comments on the ideas of others, was launched using Salesforce.com CRM tools.

TVA user comment example-

Community based rating is one thing for restaurants and dog grooming, yet it is interesting to think about the implications for national public policy, or determining funding priorities.

Creative Commons logo

Dispelling the white-knuckle control focus of some administrations, Change.gov has also adopted open Web-generation practices such as the use of Creative Commons for copyright policy and fair use of content. Sharing and dissemination of information seem to the order of the day.

Future

It is hard to tell how the postings, tools, lessons, and open forums of Change.gov will be used once Obama becomes the President. There are many rumors regarding the potential interplay between the two existing sites Whitehouse.gov and Change.gov.  It is not clear how open and rapid the President will be able to be once in office, officially representing the county. As we have seen in recent weeks Obama will not be allowed to use his BlackBerry device going forward. There are privacy and security issues linked to the person of the President. The transition team says that the open forum, and citizen input, and transparency will remain. And that the use of the Web will continue with the posting of detailed Administration budgets, decisions, and positions.  This all sounds promising. One thing that is for certain: The Web is here to stay. Yet tides change. Attitudes come and go with Administrations. In the future there may be a lockdown on information and a new rise of paranoia. For now, let us relish this brush with collective action, openness, and community.

-Peter Montgomery

How hamburgers are ending Facebook friendships

Facebook applications are like the gnats of the social media ecosystem—there’s millions of them, they’re always in your face, and you’re not really sure what purpose they serve.

But Burger King has developed a remarkable smart application function—coupon delivery. And they’re doing it by encouraging people to end friendships.

It works like this: You drop ten of your friends in an act called a Whopper Sacrifice and Burger King hooks you up with a free burger. As of posting time, this social experiment turned business proposition has claimed over 55,000 friendships, resulting in 5,500 coupons.

The fast food giant obviously listened to a common complaint people have about Facebook—too many friends that are too far removed. Whether or not people commit Whopper Sacrifices because they want a burger or they think it’s just funny, Burger King wins. And Burger King wins by having people like me (and undoubtedly thousands of others) write about this ingenious approach to marketing.

This is so far away from blanketing zip codes with coupons in a ValPak. This is a company using social media to drive actual sales. Now if you will excuse me, I’ve got some bridges to burn and burgers to eat.

UPDATE: In a statement, Burger King spokeswoman Katie Boylan said Facebook had been a “great sport,” but that the site had called for changes. “Ultimately, based on philosophical differences, we decided to conclude the campaign and chose to ’sacrifice’ the application,” she said.

Facebook Restores Its Face

As we all know, Facebook is in the process of rolling out a new user experience design in order to reduce the clutter that has been generated by the inclusion of apps and new armies of users which all have their own demands from the platform. Facebook established its brand by offering members a defined but refined interface with minimal customization, the opposite approach to the leading hero, MySpace. The Facebook interface was known for its clean design, ample white space, and color palette limited to shades of blue and grey. MySpace made itself by allowing its members to directly communicate between friends but also to stylistically customize their profiles to the point of chaos.

With the inclusion of apps on Facebook, the platform lost its Swiss Aesthetic as users added apps to their profiles in any order and manner they saw fit. Applications started taking over Facebook and user profiles as they started running wild, being obnoxious, and crowding profiles. As a result, the Facebook brand experience started losing its primary differential - clean and efficient communication. As Facebook states, “by cleaning up and simplifying the site, we think the new Facebook makes it even easier to connect and communicate. (1)” Facebook’s new approach is a return to its interface design roots, clean and simple, the opposite of MySpace, in order to attract and serve a broader range of users.

The new Facebook approach to communication is to divide the profile page into multiple tabs. The key tab is the Wall, which allows you to display your Facebook and other social activity from the web. In such manner, instead of displaying stylistic aptitudes, you are projecting personal interests and activities with the ability to customize your wall message by its breadth or its existence. As far as your previous applications are concerned, they have been largely moved to an oddly titled tab, Boxes. The move allows the Wall to continuously highlight Apps that promote your and your friends activities instead of allowing Apps to stake out valuable real estate and hold it regardless of whether they are providing any ongoing value. FB sees the Wall as a more democratic field for apps, and by refocusing on communication between users, it is honing in on the key point of Facebook and MySpace, displaying your self and keeping up with the Joneses.

The Facebook platform redeployment is worth watching as far as brand experience in the Web 2.0 space is concerned. As of 04/08, MySpace attracts more than twice as many monthly visitors in the U.S. and twice the amount of ad revenue compared to Facebook (2). The question is will the refined Facebook brand attract new users with their associated eyeballs by offering a well-designed brand and user experience over a brand that allows users to stylistically define their appearance.

(1.) http://blog.new.facebook.com/blog.php?post=24577977130 - login required to view

(2.) http://www.technologyreview.com/Biztech/20922/page2/ - login required to view; see also illustration below

MySpace vs. Facebook

What’s next for Facebook’s Great Apps program?

Following Facebook’s annual F8 developer event last week much of the news and commentary focused on Facebook Connect, the company’s attempt to extend the Facebook platform by enabling any website to integrate a Facebook user’s identity, friends, and activity without a separate visit to Facebook.com. If it succeeds, Facebook Connect could become the predominant universal web ID for millions of users. It’s also in some ways the successor to Facebook Beacon – by enabling users to send notices of their activities on third-party sites back into their Facebook News Feed, Facebook builds a stronger base from which to target advertising.

Much less attention was paid to the launch of Facebook’s Great Apps Program. Facebook will officially designate a small number of applications as “Great Apps” and give them preferential treatment on the platform, including visibility on par with Facebook’s own applications. Great Apps will also have access to site functionality like Inbox messaging, which is not available to other developers. The first two Great Apps announced were the music discovery service iLike, and the popular social consciousness app, Causes.

To encourage Great Apps, Facebook published a new set of “Guiding Principles” for social applications. As Facebook developers ourselves, these are interesting to review. But the guidelines are broad, without any surprises or specifics. Principles fall under three categories: Applications should be Meaningful, Trustworthy, and Well-Designed. Instances of each include criteria such as, “provides a deep experience that users want to come back to regularly,” and “protects user data and honors privacy choices.” Great Apps will also need to have a minimum number of users, although the number itself has not been provided.

We emphasize a similar approach to social app development and it’s great to see Facebook encourage apps that deliver ongoing value, and strong, high quality design. However, Facebook only expects to add 10-15 Great Apps in the next year. That indicates the program isn’t as much a broad quality improvement initiative for the tens of thousands of apps available, but a selective partnership program between Facebook and leading companies on their platform. This will make the program a lot more interesting to watch as more selections are announced. With recent speculation on Facebook’s business motives and recent redesign, Facebook’s partnership choices might be one good indication of where their own business is headed. As Facebook Connect extends the Facebook platform into more and more online services, how aggressively will Facebook pursue or avoid Great App partnerships with companies developing music and video services? Or companies focused on social recommendations, commerce, and payments?

Some useful development plugins

Here are 2 useful plugins I thought I’d share.  We’re incorporating them on a few sites and I thought I’d share.

Solving multiple image uploads
First up - image upload. — one by one is a pain and re-ordering / etc. is not always easy.  This control allows you to upload images and re-order, etc.  We found it to be pretty easy to use and implement.  Facebook uses this as their default image uploader.  Only problem is you have to allow it to have access to your file system which might deter some users.  Overall worth it though.  Has support for ASP.Net (C#, VB), JSP, PHP, Perl, Python, ColdFusion, Ruby

http://www.aurigma.com/Products/ImageUploader/OnlineDemo.aspx

Leveraging existing contacts in webmail/outlook/social networks

This nifty app lets you invite your friends from most of the common social networks (MySpace, Friendster, Facebook, Orkut, Hi5, Xing.  It has support on the server side for PHP, .Net, and Java so can be used on most platforms.  So you can invite your friends in these networks through their built in engines.. You can’t import these people as their email address is typically not exposed.

Next is their importer that will allow the user to put in their webmail account information and passwords and retrieve all of their contacts (typically for importing into the users contacts folder in the app you’re writing).  You get emails, etc. of all the people they have stored there.

Finally, they have an Outlook / Thunderbird importer but it makes you walk through an export process that’s not ideal.  I am still looking for an out of the box Active X outlook importer that skips this step.

The drawbacks are the interface (can use lots of work) and the roughness of the Outlook / Thunderbird integration.

http://www.octazen.com/products.php

Social Media Secret Sauce

In November 2007, when the Facebook community revolted against the launch of Beacon in response to the sharing of Facebook users actions when they visited participant’s sites, there was more to learn about that event beyond the fact that the Facebook ad strategy needed a little bit more tweaking. On the face of it, people reacted to issues around privacy. Who wants their friends to know what pharmaceutical drugs they were buying or self help books they are reading? But you can’t blame Facebook for trying. They were attempting at finding an organic way to bring advertising to their successful social community. And while the Beacon backlash brought a public outcry, it’s clear Facebook will be successful in finding the right advertising model.

The real story is how the Facebook community reacted. They responded as any regular person would when one of their friends gave away a secret they confided them with. They were betrayed by their friend Facebook.

Nevertheless, it seems everybody wants to be in on the social media action. While some may view this as a passing fad, many forward-thinking and entrepreneurial agencies and marketers are working hard to capture new expertise to be able to launch social media strategies for their clients. They are attaching social media elements to their otherwise traditional campaigns as a check off for tapping into the social network goldmine.

Social media is in its infancy. It is feeling its way around, bumping into a few tables along the way, as evidenced by the backlash over Beacon. Nevertheless, the social media space will become a cornerstone channel for all brands to reach their audiences. In the meantime, it will take some growing and change on the part of the marketers and audiences to come to an agreement on how they will coexist together in this new age of the digital world.

It’s ironic, actually. The more advanced we’ve become with our technologies, the closer the web has come to mirror social rules and human behaviors. In the face of these new innovative and complex technologies, the space is actually becoming simpler to navigate, not more complicated. People control the web; we make it what it is. So, it naturally will become an extension of all of us.

Micro before macro

The new digital world before us today is a social one. It’s about relationships. People and Brands alike need to connect on a social level.

The only thing macro about social networks is that you can create these relationships in large numbers and quickly. That’s why it’s so appealing. The secret is in the micro.

Launching a successful social media program boils down to one simple concept – Building relationships one at a time. People don’t make friends en masse. Friendships are formed via commonality, mutual respect, understanding, entertaining, compassion, loyalty, trust and reciprocation. You never win friends by marketing or advertising yourself to them. That’s what you call pushy. You do what regular people do to make friends. Be real.

Let’s break down a successful social media program:

Yelp Logo

Yelp.com is a social media based publishing site launched about three years ago. It includes reviews on all things from bars, restaurants, shops and interesting places submitted by real people. Yelp is definitely not the first in its space. Citysearch.com has been around for a much longer time (since 1995 as a matter of fact). Yet Yelp, in just three years, has emerged only slightly behind Citisearch and significantly ahead of Zagat.com. The reason why Yelp has been so successful is that is has so cleverly allowed the best qualities of between friends to be mirrored on their site.

  • Personal – All reviewers have profiles and identities. If you like one person’s taste in restaurants you can actually look up all of their reviews to see what else they like.
  • Trust and Transparency – Yelp is very restrictive with advertisements. They clearly mark and review any advertisements not are not from the community.
  • Entertaining – The community allows for a breadth of personalities who contribute to the reviews which make the experience that make more rewarding.

Yelp.com passes the friend test. They didn’t do anything that a good friend wouldn’t do.

So the next time you think about creating a social media campaign, try approaching it from this angle. Test your idea on the varying aspects that make up a good friendship. You’ll be surprised how many friends you and your brand can make.