June 2008 – Stay N Alive

Thanks for the Memories, Bill Gates!

sc001cc949.pngThis is a picture of my very first computer. It was my very first glimpse into the world of Microsoft that would soon bring interest to the brilliant career as a software developer that I am now able to fulfill. That computer, an IBM PC compatible (of some sort), is what matured my experience as a developer. I remember the days of MS Dos before we even had color and windowing systems, and this computer even booted to BASIC! I remember my Dad getting a pirated copy of Microsoft Windows version 1 on 5″ floppies (as we were living in Indonesia at the time and this was all you could get out there), and trying it out, thinking there was no way he’d ever want to use a system like that. If you notice in the picture, we didn’t even have a mouse! The closest input device was the Joystick you see, which I used to play ironically, my first glimpses of the Microsoft Brand, in the game, Flight Simulator. Back then, Microsoft was simply just another brand you saw on a piece of software. Next to the likes of Broderbund, Activision, Lotus, and Wordperfect, Microsoft was just another software manufacturer that you saw alongside the likes of games and DOS.

Over the years, we began to see the gradual creeping of Microsoft into our daily lives. My first notices of Microsoft after the gaming and DOS days that I can remember would probably be the emergence of Microsoft Office, which, ironically, would not work on the computer I picture above. I had to wait to get a new computer before I could use it at home. Most of my memories of that came from Junior High School lab computers. It was actually rare back then for students to have a computer at home, yet alone one with a Word Processor!

At some point, we ended up installing Windows 3.1. I think it was the beginning of High School. It was there that I learned what a driver was and how hard it was to get any external hardware to really work with Windows 3.1. I really gained an appreciation of DOS in those days and learned how to write my own Batch files, configure my autoexec.bat and config.sys files to get everything I needed working properly. Frankly, back then there wasn’t much to get working properly. 3.5″ floppies were the new thing, few computers had sound cards, and there was no such thing as a CD ROM drive (at least not that we could afford!).

In High School, I remember getting a summer job my Senior Year at Computer City, a Tandy company, the company that also owned Radio Shack. While there, Windows 95 launched, and I remember trying to explain to customers the differences between Windows 95 and OS 2 Warp. We also sold Mac machines and Apple software in our stores back then! I remember beta testing Windows 95 with my friend and remembering all the cool new features it brought over Windows 3.1, and thinking it was so weird I didn’t have to install DOS before installing Windows 95!

I ended up going from there to work in Tech Support for Gateway computers. It was at that time that Microsoft Bob came out and I was forced to support it. I can’t tell you the number of times I remember just encouraging users to format and reinstall – it was actually standard protocol for the company back then!

Not long after that, Windows 98 came out, and shortly before I remember the IE/Netscape wars, the Novell Wordperfect/Microsoft Office wars (that was right here in Utah!), and somehow Microsoft continued to prevail. I think it was at that time I began to use Microsoft Office over Wordperfect products regularly for the first time. It was my only choice!

When Windows 2000 came out I remember how stable it was! Finally, a version of the Microsoft OS that the average Joe could use, based on Enterprise technology! (NTFS) I think it was at that point that I started seeing Microsoft as “evil”, and began venturing towards Open Source and other technologies to break free of the Microsoft trenches. It was also at that time that Netscape was no longer the dominant browser and web developers were very quickly forced to change their ways.

Since then we’ve seen Windows XP, Windows Vista, Windows Me (choke!), Xbox 360, MSN, Windows Live, Windows Media Center, and even Microsoft Surface! From games and DOS to programmable furniture, Microsoft has come a long way over the years. Yet, one man has stood at the center of it all, a quiet, but very, very, rich man, Bill Gates. He has been the quiet identity behind Microsoft for probably most of my life. Friday, Bill Gates had his last day at Microsoft. He has brought me many great years, and much of the reason I am a developer today. As he leaves I feel a piece of me bidding farewell, yet, at the same time, that company that I have both loved and hated over the years will still continue on in his legacy. Mr. Gates, thanks for the Memories!

Twitter Continues to Fail Developers, Why They Will Still Succeed

twitter.pngI’m going to dub this Part 2 of my Twitter Love/Hate fest – this should be my last installment for awhile on this topic, I hope. In reality, I really love Twitter. I have a good network on Twitter and frankly, I wouldn’t have met many of you if it weren’t for Twitter. Twitter, in many ways, has changed my career. For that reason I really don’t want to see it fail. It is perhaps this reason that I am so critical of it at times – it’s my hope that someone at Twitter can read these and at least see what the world is really thinking, hoping, and wishing at a given point in time about how their service is performing and being perceived.

Twitter is still continuing to fail developers!

It’s examples like the one I learned about recently where the service, Gridjit, was put offline entirely because of a rash decision on Twitter’s part to remove a feature from Twitter’s API with little to no notice for the developers to respond. In the time Gridjit was down, they have since added FriendFeed support, and I’m willing to bet they have other strategies that don’t include Twitter. Now that Twitter has re-enabled that feature, they are now back up and running, but Gridjit is just another example of the frustration that is occurring amongst developers in the Twitter development community.

Just today, for example, I noticed Twhirl was no longer working with @replies. I remember seeing posts on the Twitter blog recently stating that the @replies tab would be removed, but I remember no notice to developers stating that the features that enable this on clients like Twhirl would be disabled in the API (they did let us know the API was down today though – still no notice it would be down when they took down the replies tab, and nothing to the developer mailing list that I’m aware of).

Twitter tries, but not quite enough

I mentioned last week that Twitter was hiring on their site, but it just wasn’t enough because I think the problems they have exist at the management level. True, they even hired 3 new individuals recently, but they are developers used to being managed, not managing large groups of other developers. Twitter really needs one or two individuals at the top that have true Enterprise-level experience managing these types of IT issues, and very large groups of developers. Remember, Twitter isn’t just the developers that work for Twitter, but the vast group of developers that are also writing applications for their API. The individual in charge of development and IT efforts at Twitter has to have strong experience in managing very large development teams, and working with a very large user-base, in which any change to any part of the system could effect. Twitter needs a staging environment in place, and a system of testing every single change that goes into place before it actually goes out live into the production environment.

They are showing some promise though!

Just this week Twitter announced the inclusion of 2 new investment partners in their list of investors. One of those, Jeff Bezos, does have experience managing the types of issues and large development audiences that Twitter lacks. This is a huge move for Twitter, and long overdue! Jeff will bring Amazon’s firm experience in scalable web environments, and I hope, enable Twitter to enter the cloud more than they currently are, and reduce the tough scaling issues they are experiencing right now.

You can bet you’ll see Twitter begin adopting Amazon’s AWS Cloud services here soon now that Bezos is on board. Amazon has the capability to scale almost instantly as traffic spikes hit, and they seem to be doing it better than any other right now. Twitter really needs this service!

Why I think they’ll still survive, no matter how many developers leave

Twitter is a Marketer’s Paradise. Twitter is full of content about the every-day life of millions of individuals and their friends, who they connect and communicate with, and what their frustrations and interests are. Businesses are beginning to embrace this and use services such as Summize to track information about their Brand, their image, and even their competitors that they could never track before. Businesses can finally track real people instead of just “visitors”.

This is powerful and valuable information to many businesses out there. Because of this it doesn’t matter how many times Twitter goes down or how many developers stay or go from Twitter. So long as users still have networks on Twitter and the Twitter user-base continues to rise as it appears to still be doing, businesses like H&R Block and Comcast and even NASA will still flock to Twitter as a valuable tool in gathering data about their customers and fans. These businesses have it in their best interest to see Twitter succeed, and you better bet they’ll do their best to help out in that effort. Twitter isn’t going anywhere my friends, and I still haven’t retracted from that statement.

TalkingHeadTV Interviews Me About the Twitter Developer Dilemma

tv.pngThis morning Justin R. Young of TalkingHeadTV interviewed me via webcam (couldn’t figure out how to get rid of the yellow whitebalance on my webcam – I’m really not that yellow!), and asked some great questions in follow up to my article mentioning my concern on developers leaving Twitter. I think we covered a lot of the criticizing articles‘ (they were only somewhat critical, fortunately) issues in the interview. I wish we recorded the entire discussion because some of the best conversation occurred after the cameras were rolling.

To sum up, I’m not necessarily anti-Twitter. I’m as big a fan, if not more than any regarding Twitter – in fact, in the interview you can see I even wore my Twitter shirt that Ev and Biz gave me! I actually wore it all day yesterday, and was proud to show it off. I’m just worried with what I’m seeing and hearing from Twitter developers, and I want to be sure Twitter knows this so hopefully, they can come up with some way to fix it. My hope is they are already doing this, and they say they are. Here are the highlights of the interview:

Why Are Developers Leaving Twitter?

[youtube https://www.youtube.com/watch?v=5ZxxpgKMoS8&hl=en]

Developers Bailing on Twitter

whale.pngI’ve been following various development mailing lists lately, and I’m seeing a trend of developers starting to bail on Twitter. This is a scary thought, because when the developers bail, so will the users. It all started with a conversation on the Twitter Developers’ mailing list with the subject, “Shame” by a developer named, “nath“, in which he said,

“Well, twitters always down or unusable due to the speed; the api’s
keep breaking and are down just as often; the groups now packed full
of spam which is littering my inbox.

“It’s a real shame to see such a great app crumble and die like this :(“

Alex Payne, a developer for Twitter, responded by saying,

We own Twitter’s speed a stability; my our metrics, it’s been pretty
solid over the last few days.

We do not, however, own spam prevention for this group. That’s up to
Google, and if it’s a hard problem for them, I’d imagine it’d be a
hard problem for anyone.

I go through and clear out spammy posts, but time they reach my inbox,
they’ve reached everyone else’s as well. There’s just not much I can
do about it. Please make use of Google’s “report as spam” features.

After which another developer that goes by “rlanskyresponded:

Sorry, but I have to agree with the original author, it is a shame
that the service and the API are so unreliable. The potential for the
services that could be built on an API like the one offered by twitter
are endless. They really are.

Statements like this:

> my our metrics, it’s been pretty solid over the last few days.

don’t do much to boost my confidence. When you make an API available,
you are essentially saying to the world, “here’s our service, come and
build something great on top of it.” You can’t build anything of any
real value or widespread use on something that “has been *pretty
solid* over the last couple days (emphasis mine) .” You just can’t.
You need something that is rock solid all the time.

I’m not trying to start a flame war or bash twitter at all. Like I
said, I think it is a shame because the potential is so great. The
idea is great, the acceptance is great, the use is great, the
possibilities are awesome. But they just can’t be fulfilled given the
reliability of the service as it is today; try to build something on
top of the API that will see wide-spread use and you’ll find that when
you push the gas, the wheels fall off the car… at least that’s been
my experience. It’s been *extremely* frustrating and disappointing.

Peace.

After following a few threads on the Perl development library for Twitter, Net::Twitter, I recently found out that Net::Twitter’s original maintainer too has jumped ship. He has handed it over to a new maintainer, but developments like this are not a good sign for Twitter! It is very clear that frustration amongst Twitter developers has hit a maximum level and I fully expect to see this only increase in the short term.

At the same time, developers like Kee Hinckley are giving advice to Twitter, and they are graciously accepting it seems. Some great tips are being given on ways to enhance the API, and I even suggested they do a public bug tracker which they seemed to like. Twitter clearly doesn’t seem to have enough expertise in-house, although they do keep saying they are hiring. Their jobs page doesn’t seem to have any upper-management positions though which I think is really what they need right now.

I’m very worried for Twitter. As more developers jump ship and work on other platforms such as Plurk and FriendFeed (which really isn’t a direct competitor to Twitter), this great tool is going to be left in the dust with no new development and large networks of people moving elsewhere. Twitter’s largest traffic comes from the API itself, and as that traffic dies down, so will Twitter. Imagine, for instance, if Seesmic were to stop development on Twhirl due to the costs associated with keeping up with API flaws? That would be quite a chunk of Twitter’s users being forced over to the other Twhirl clients, FriendFeed and Seesmic itself – it’s such an easy transition were Twitter support to be dropped! What happens when Twhirl begins supporting Plurk?

Twitter needs to do something, and they need to do it fast. I agree they need to get their infrastructure in place, but before even doing that they really need to put every hack possible in place to keep the API up, keep it working, and work with the developers to ensure they are staying happy. A large revolution is about to take place, and I’m afraid it won’t be pretty.

UPDATE: See the little FriendFeed box below? Click “show” and join the discussion on FriendFeed about this right on my blog! Subscribe to my updates here.

Jesse Stay – No, it’s Not *My* Name!

41-42.png“Is your Father also Jesse Stay?”

I can’t tell you how many times in my life I have heard those words when introducing myself. Whether I was registering for school, going to church, a Boy Scout, or even half-way around the world or in multiple states in the US, it seems there was always someone that knew my Grandpa, had some story to tell about how he influenced their lives, and what a great man he was. Despite the name, they, of course weren’t referring to me, but rather my name sake, my Grandfather, Colonel (President, Bishop, and Patriarch) Jesse Eldred Stay.

Talking about his life would take an entire book to publish (you can read in detail about him here – it really is worth reading!) – he was, quite simply, a great man, and I mean great in the very sincere and large/tall sense of the word. I remember one family telling me when they met me about how he helped bring them back to Church and changing their lives as they did so. I remember stories from other families of him helping them in times of need, fixing their cars, helping them with home repairs, and more. Everywhere I have gone in life, my Grandfather’s name was recognized and honored by many. There is a very good chance some of you, my readers, have had some brush with him over your own lives.

Grandpa was a War Hero. In World War II he was a B-24 bomber pilot in the 307th, 11th, and 42nd Bomb Groups for the United States Army Air Corps (there was no air force back then, but he soon became part of the Air Force after World War II). He flew many missions, risking his life, getting shot at and shooting back, so that you and I could maintain our freedom in this world. He was a true believer and maintainer of freedom.

At the highlight of his career (if you can really call World War II a “highlight” – I know he wouldn’t), he earned two Distinguished Flying Crosses, one for flying over Wake Island (he also flew over earlier at only the second time Wake Island was bombed by the US) despite most of his squadron being shot down. He literally saved the world with his own bare hands. Of the 40+ missions he flew in World War II, with five airplanes flying at his wing going down, he was only hit once, with one small 7.7mm hole in the bottom of his plane on a raid on Wake Island. In a letter to my Grandmother during the War, he shares this story:

“I found out that this ship (his airplane) will stand up, with any luck at all, against any number of Zeros. I also found out a very fine thing about the men in this outfit. As we were leaving our target in the raid, we heard one fellow say over the radio that his ship had been crippled and that he had been forced to fall behind. Naturally that meant that all the Zeros in the sky would be on him; so we turned around to give him some help. As we turned, we saw a wonderful sight. Every ship in the flight had the same plan. They had turned as one ship and soon we had the crippled ship tucked among us where we could protect him with our converging fire. I don’t believe that I will ever forget that. Every plane, without command, had turned back into the fight to help this one fellow out of a tough spot.”

Liberators.pngThese words show the integrity of this man and devotion he had to those he was fighting with. He would have done this for any one of his fellow squadron members.

Also notable, of his War accomplishments, it was one of his suggestions that led to the first recorded parachute landing. From his words:

Finally my wing man, 1st lt. Charles Pratte, had to leave also and headed for Tarawa to re-fuel. He had over three hundred holes in his airplane but didn’t have one man wounded. On one pass the Japanese machine guns had stitched holes the length of his fuselage and had blown up the oxygen tanks which had knocked down the two waist gunners in time for the machine gun bullets to pass through the fuselage where they had been standing. I later found out that his hydraulic system was also shot out and he landed at the new strip at Tarawa with parachutes tied to the waist and tail guns and which the crew men deployed as they touched down to slow the airplane because they had no brakes. We had talked about this possibility before but the crew of the Belle of Texas received a commendation from General Hap Arnold, Chief of Staff of the Army Air Corps for making the first recorded parachute landing.

Since then, every time I see a Space Shuttle land, I think of him as having had a contributing factor in allowing man to fly and come back from Outer Space.

It was said of him in his Squadron History,

“The greatest loss to the squadron was that of the Commanding Officer, Captain Jesse E. Stay. Captain Stay was with the squadron for nearly two years, beginning in April 1943, and was C.O. longer than any other man in the squadron’s history. He took part in practically every mission flown by the squadron since its arrival in Guam, either actually or in their preparation. He received the D.F.C. from Admiral Nimitz for his leadership in the highly successful but disastrous Wake raid in July 1943.

“As flight leader, he flew against the Marshalls, Gilberts, and Nauru, from the Ellice Islands. In his capacity as commander he accepted the mining project, which others had turned down, and led the unit to a superb record in its execution.

“Capt. Stay was missed by the members of the squadron who remained behind to carry on.” (p.35)

Wins.pngIn his entire career he received 2 Distinguished Flying Crosses and 8 Air Medals for his service in the War. He sacrificed his all so that he could win freedom for this Country and many others.

It wasn’t just Grandpa’s military service that made him honorable. While he went on and did many things in the military, including putting an end to the United States Air Force UFO investigation program (which, to this day he still says, and I’ve asked him frequently, that they found no evidence of such), being on 24 hour notice with engines on during the Cold War, and being the first Colonel over the BYU Air Force ROTC, his Church service and devotion to God were paramount to his life. Throughout his life, as a member of the Church of Jesus Christ of Latter-day Saints, he served as a Bishop, Stake President, Regional Representative (over the L.A. area), Mission President, member of the General Sunday School Presidency (with Elder Russell M. Nelson, now an LDS Church Apostle) for the LDS Church, a member of the Los Angeles LDS Temple Presidency, Sealer, and Patriarch. His devotion to God came first, and as a member of The Church of Jesus Christ of Latter-day Saints, never ever drank a sip of Alcohol, never drank a sip of Coffee or Tea, remained faithful to his wife and 7 children, and served faithfully in his Church assignments with no pay for his service. He was also a Scout Master, and during his service in the Boy Scouts received the Silver Beaver Award. He touched the lives of many during his life of Service.

It was in Hawaii, when my Grandpa was head of Public Affairs for the LDS Church College there (now BYU Hawaii), that Judge Whitaker, a long-time friend of my Grandfather’s, invited him during the shoot of “Johnny Lingo” to come and serve as his Assistant Director of Motion Picture Production at the BYU Motion Picture Studios. My Grandfather packed up his family and moved back to Utah, and under the direction of Ernest Wilkinson (also longtime friend) and LDS Church President and Prophet, Spencer W. Kimball, produced and directed such shows as “The First Vision”, “Uncle Ben”, “The Gift”, “The Mail Box”, “John Baker’s Last Race”, and even the famous talk by Spencer W. Kimball asking members to “Lengthen [their] Stride” and “Go Ye into All the World” (Many LDS Church members may be familiar with these).

He recalled an experience with President Kimball which, to me shows the love and respect that even LDS Church leaders had of him:

“This morning I was called up to Salt Lake City to show the film “Where Jesus Walked” to President Kimball for his approval. The showing was to be in the fifth floor auditorium of the Church Administration Building. This is the room where the Council of the Twelve hold their regular meetings. I arrived early and had the film ready on the projector and was sitting alone in the room. President Kimball and Arthur Haycock, his secretary, arrived a few minutes before the scheduled time for the showing. President Kimball came over to me and took my hand in both of his. He looked up at me and smiled and told me how happy he was to see me. He then put both of his arms around me in a warm embrace and told me that he loved me. I was thrilled and touched and told him that I loved him and sustained him with all of my heart. This was no maudlin moment but the sincere expression of love between two bearers of the Priesthood. The Lord has surely preserved him for his holy calling as President of the Church and His Prophet on the earth. I am blessed to be associated with him. I know that I am nothing special to him above other men but he has the ability to make each person he meets feel that he loves him more than anyone else in the world. I felt this was a special moment worth recording.”

Through the Church movies he Directed and Produced, he also touched many lives, in and out of the LDS Church.

With.pngMy Grandfather, Jesse Eldred Stay, died peacefully this morning at 7:13 am. I would not pay proper respect to him if I didn’t embrace this moment in celebration of his life, his accomplishments. At the same time I look forward to the future when he and I, and his family of 7 children, 50 Grandchildren, and numerous Great-Grandchildren, what he would consider to be his greatest life accomplishment, can be with him again. Grandpa was a Sealer in the Los Angeles temple of the LDS Church. As a sealer, he married and sealed me and my wife together like he did most of his children and grandchildren, for what we believe to be, time, but not just time – all eternity beyond this life. While I have my 3 month old son, Jesse Eldred Stay III, to continue this legacy in this life after me, my Grandfather’s greatest accomplishment is giving us hope, and knowledge that we, as a family, can be with him and each other again when we pass away, and always be able to cherish and respect the example that he gave to us here in this life. Seth Godin recently asked people to point out, celebrate, and respect the Superheroes in our lives. My Grandfather is my Superhero! He truly was a real-life Super-man. I have had the privilege to have known him longer than any other man, other than my Dad, in this life and it is my honor. It is with this respect, hope, and faith, that I honor, love, and thank him, for the life, both mortal and eternal, that he gave us.

Facebook Announces F8 In the Middle of OSCON, Coincidence?

l11204705797_2531.pngJust yesterday, Facebook announced their second F8 conference, to occur July 23, 2008. This Developer-targeted event is said to possibly include some major announcements, including the new Profile redesign, more information about the fbOpen platform, and most significantly, possibly the launch of their E-Commerce platform. What hasn’t been announced or shared however is the odd timing of the event.

The event occurs right smack dab in the middle of O’Reilly’s Open Source Convention, scheduled to occur for about the past year now from July 21 through July 25. This conference is known as an essential “Mecca” for Open Source developers around the globe, and has presentations from such players as Google, MySQL, Sun, Meebo, and even SixApart. Everyone who is a developer (unless you solely develop for Microsoft) or Sysadmin will be at this conference.

As a developer, this is tough news to hear that Facebook will make me choose between OSCON and them. Frankly, I would by default choose OSCON if I were any smart developer, as I would get more. So why isn’t Facebook just joining OSCON and doing an “F8” track there? Do they really want to tick off Open Source developers? You better bet that OpenSocial will have a presence there. If Facebook really wanted to target the Open Source crowd, as they have “claimed” to do with their fbOpen Platform and a few other contributions back to the community, they would try to have a presence at this conference and not interrupt it as they are currently doing. I was actually going to go to OSCON to promote my FBML Essentials book to potential Facebook developers for O’Reilly. Now I’m forced with a decision. I’ve contacted Facebook with no response, and I’m getting a little frustrated as a Social Media developer. Which conference will you choose?

Breaking: Facebook Adds "Add New Tab" to New Design

Picture 4-2.pngFacebook appears to have just launched a previously announced feature to their new design staging area. If you go there you’ll notice a new little “+” sign next to the tabs at the top. Click on this, and now you can choose to add “Posted Items” to the tabs at the top, as well as “Find more applications”. The “Find more applications” feature does not seem to be working yet.

This new feature allowing you to add applications to the tabs menu in the new design was announced previously by Facebook, and is said to allow your application, through just a simple “tab url” in your application settings to appear in the drop-down you can see there now when you click on the “+” sign next to the tabs. This is also consistent with the removal of “adding” an application by Facebook. Instead, you will be able to add “components” of your application to different areas of a user’s profile, which includes the tabs. Your application can have only one tab and works passively by default, meaning you have to click on something for javascript or Flash to auto-play. Nothing has been confirmed on whether Advertisements will be allowed to run within the Tabs on the new design. The tab also defaults to your Application name and cuts off at 15 characters.

See below for some more examples of the new “+” sign, and adding the Posted Items application to the tabs menu in the new design:

Picture 3.png
Picture 5.png
Picture 2.png

Social Coding Series: I’m In Your Social Graph, Hacking Your Life – a Howto

As the first entry to my Social Coding series I’m going to cover Google’s Social Graph API. I saw a demo of this at Google I/O in San Francisco and was so impressed that I immediately started hacking on it when I got home. Little did I know how powerful this API was and how much information it could pull off the web about a single individual!

Google’s Social Graph API takes a cache of the rich storage of links, information, and URLs on Google’s servers, and determines which of those contain information about actual people. It combines OpenID for confirming an individual’s identity, and XFN and FOAF XML protocols to determine links between those identities. With a simple tag on a user’s website, a user can determine other websites that also identify them. If you link to one URL identifying that location as you, and at the linked website, it links back to you, Google can tell for sure both of those websites are yours, and identify you as a person. Not only that, but you can similarly provide XFN information or FOAF information via similar tags or a separately linked file identifying who your friends are. If they link back to you via similar metadata Google can tell for sure that the two of you are friends.

The Social Graph API lives and breaths this data. There are actually quite a few Social networks that use this protocol to identify you and your friends. Sites like Digg, Twitter, and FriendFeed all utilize these protocols to identify your friends. The Google Social Graph API scans this data and organizes it in an easy way for you, as a developer, to access.

Let’s try a simple example, and you don’t even have to be a developer to try it. Google has provided a simple playground to see how the Social Graph API works. If you go to http://socialgraph-resources.googlecode.com/svn/trunk/samples/exploreapi.html, enter in a few URLs of your blogs, social networking profiles, and other identifying locations on the web, leave “Follow ‘me’ Links”, “Pretty Output” checked, and click, “Find connections”. For me, just “twitter.com/jessestay” was all I needed to enter in the textarea.

The resulting structure is organized in a format called JSON – if you’re a Perl developer you might be familiar with this, as it is formatted the same way as a Perl Hash structure. You’ll see under “nodes” a bunch of URLs with different metadata about the URL – these are URLs that Google thinks, based on the metadata in the URL you provided, are you or contain info about you. I’ve found that only those with a “profile” attribute are actual Social Network profiles for yourself, so be sure to pay attention to those.

You can also go back and click “show inbound links” and “show outbound links” – this will then return URLs with links to sites you have identified as yourself, as well as sites you own that claim other sites as identifying for you. Play around with it – there’s a wealth of information it will give you about people!

Now, if you’re not a developer, you can skip over this next section because I’m going to get technical by showing an example. I’m a Perl developer so I’ll show one in Perl.

In Perl it’s simple – you need to install Net::SocialGraph with a command similar to this:

perl -MCPAN -e “install Net::SocialGraph”

Then, a bit of code like this will give you the data you need:

my $sg = Net::SocialGraph->new(‘fme’ => 1);

my @urls = ();
push (@urls,’http://twitter.com/jessestay’);
push (@urls,’http://facebook.com/profile.php?id=683545112′);

my $res = $sg->get(@urls);
my @profiles = ();
foreach my $node (keys %{$res->{‘nodes’}}) {
  if ($res->{‘nodes’}->{$node}->{‘attributes’}->{‘profile’}) {
    push (@profiles, $res->{‘nodes’}->{$node}->{‘attributes’}->{‘profile’});
  }
}

In the above example I instanciate my $sg object, telling it to follow “me” attributes in the response. I add a couple URLs to identify the individual I want profile information for (in this case, me), and then make the call to the SocialGraph API to go get my info based on those URLs with the “get” method provided by the API. Then, I just traverse the response and I can do whatever I want with it. After this, I could take the response information and list all of the user’s profiles as links, or perhaps I could scan those profiles for more information and provide information about each identified profile. You’ll also note that it’s not always correct so you’ll want to let the user intervene. Also, note I’m looking for only links with a “profile” attribute – I’ve found these to be most accurate.

Beyond that, that’s it. Ideally, you could take the Playground example above and look at the resulting URL. The basics of the Social Graph API are just that URL – plug in whatever you want and you’ll get back whatever information you need. You could then parse it with Javascript, Perl, PHP, or just leave it in the “pretty” format the Playground provides you by default.

Now, imagine taking that data and combining it with, say the Twitter API to pull out all of an individual’s friends on Twitter, then applying the Social Graph API to each of those individuals. Soon, you have a tool which can identify which of a user’s friends are on which networks, and if there are any of your friends you have not yet added on those networks. This API is powerful!

The Social Graph API can be an excellent utility to find out more information about any individual using your applications. No longer do you have to ask the individual for that information – so long as they are active on Web 2.0 that information can be provided for them to choose from!

You can learn more about the Social Graph API here.

Please note I too am new to this API – any inaccuracies in this document please let me know in the comments and I will correct them for others to benefit.

[youtube https://www.youtube.com/watch?v=LabCylbapuM&hl=en]

Please Come Join me on FriendFeed

logo-b.pngHow did I get to spend a day with Robert Scoble? How did I get to participate in the interview with Twitter founders, Evan Williams and Biz Stone, that ended up on the front page of TechCrunch? I joined the discussion on FriendFeed.

I think some would probably consider me a Twitter power user. I think Twitter is great for posting updates, getting conversations going, and seeing what your friends and followers are up to. However, FriendFeed is where the true conversation is at. With threaded conversations, the ability to “like” and share items, it provides a much stronger catalyst for conversation that Twitter could never provide.

How do I use it? Well, I actually thought it was too cluttered at first. I am finding as I use it more I am coming up with my own ways to better organize my conversations and keep track of what is going on. First of all, I use the “Me” tab religiously. I often also click the “see both” link (just add “/discussion” after your username when on the “Me” tab) on the right sidebar to see not only the things I have posted and the discussions within, but also the things I have “liked”, and commented on. This allows me to keep track of the existing conversations I have entered.

Then, I skim the “friends” tab to see the interesting things others are posting (If you have over 100 friends, there’s no way you’ll be able to read it all like you do in Google Reader or some do on Twitter). I find as I join other conversations and like and comment on others’ posted items it shows them I have an interest in the things they too are interested in, and true friendships get nurtured from these conversations. Then, if you want a mobile solution, I use http://fftogo.com to read FriendFeed on my mobile phone (a internet plan for your phone is required, but if you haven’t signed up for one of those yet you’re still in 2007! 😉 ). It formats FriendFeed in a nice, easy-to-read browser format so you can track things in the same way you do on your computer. You can send photos to yourusername-yourapikey@friendfeed.com from your cell phone.

FriendFeed is not Twitter. Twitter is hard to replace in what it gives me. I will still use Twitter to post status and other items to get the discussion going, but I will now begin using FriendFeed to continue that discussion. Will you join me on FriendFeed? Subscribe to my updates at http://friendfeed.com/jessestay. You can see what I’m discussing at http://friendfeed.com/jessestay/discussion.

Who Needs Obama? The Google Health API Will Change the HealthCare Industry

Pay attention – Google is onto something big, something that could very well change the world, and no, it’s not OpenSocial or App Engine or Android. One of the biggest overlooked items in the last several days has been an announcement by Google to release an API for their Google Health service. I’ve mentioned before that Google Health is one of the single biggest threats to the Healthcare Industry since the establishment of company-paid Health Insurance (well, maybe not in those words, but that’s what I meant).

The Google Health API does two things, for the most part. It allows a developer to retrieve medical profiles stored in Google, and format them as a “Continuity of Care Document”, a standard in the HealthCare Industry for sending HealthCare history information and data from HealthCare provider to HealthCare provider (a provider would be your doctor, or a hospital, or dentist). This allows your doctor’s systems that are already familiar with this system to easily read your history and process it accordingly so your doctor can read it.

Secondly, it allows you to send profile information from your own systems into Google Health. Through a simple post to Google’s servers, you can send history information via XML and it will get stored in Google’s servers. So, as a doctor you can hire a developer like me, and we’ll parse the information from your systems, and your customers can simply use their Google login to access not only the information you stored about their visit, but their entire history from previous doctors.

This is the start of something beautiful. Previously in order to send and receive medical data, it required a firm knowledge of pages and pages of HIPAA documents to know and understand, and at the same time know how to get the information, which could be in many different formats into, and out of your systems as a doctor. Now, Google is providing a single source, and a standard for developers to understand that will allow any developer to transfer data into, and out of a single source into your systems. Now you only have to know one standard as a Doctor and you can have that patient’s entire medical history with the push of a button. Google knows the standards so you don’t have to.

Google is in the position to take this much further. As the single destination source for consumers, they have the power to control standards, track payments, health issues, and more, and provide a single standard to do all this. I wouldn’t be sleeping very well right now if I were a HealthCare company. Google is in a position to take the power out of their hands and put it back in the consumer’s. Google is about to change the world of Healthcare as we know it.