Archive for the 'Howtos' category

Utah Startup Series: Bungee Labs

Hi - you seem to be new here. Please subscribe to my RSS feed to get the latest social news and information!

Please follow me on Twitter, Facebook, or FriendFeed to see what I'm up to. Thanks for visiting!

logo_bungeelabs-flat_md.png(Sorry it’s been awhile since my last blog - it took me several days to figure out how to get my Flip video imported and exported to and from iMovie. To make a long story short, if you want to export from iMovie and have both picture and sound, you must import your source as something other than MP4 or AVI.)

This is the first article in my “Utah Startup Series“. Starting today I will be circling Utah to find the best and most innovative startups in Utah, and featuring them here on Stay N’ Alive. If you have a hot startup (early to even late stage) and would like to demo for me what your product can do, please contact me - if I have the time and like your idea I’d love to come out and take a look at it!

While at Web 2.0 Expo I had the opportunity to meet with Bungee Labs, a local, well funded Utah company who had “Platform as a Service” down before Google even started thinking about their App Engine. In our meeting they demoed their Bungee Connect “IDE” (written entirely on the web). You can see the video below.

My thoughts - you have to see this stuff in person to understand the full ramifications of what they’re doing. One of the cool things about their service vs. Google’s is they actually integrate with Amazon’s EC2 service (which was announced during Web 2.0 Expo), so you can actually host your other stuff on Amazon’s EC2 platform with the same licensing as your Bungee Connect account. Their licensing structure is very appealing as well - Bungee only charges based on the number of registered user sessions using their platform, not traffic, not bandwidth. If I understand correctly, it’s all based on the number of users actively using your application on their platform. For Facebook and Social Media developers this is appealing, as most Applications are rated based on Application use, not number of users or traffic. With Bungee you only pay for the users that actively use your system.

Overall, the guys at Bungee were Rockstars at Web 2.0 Expo. With their announcements about EC2 integration, flexible licensing terms, features on TechCrunch, EWeek magazine, and a dozen other publications, you can bet Google has a watchful eye on them. Ironically, it was interesting seeing Kevin Marx, head guy over the OpenSocial (and other) efforts at their party on Thursday evening.

Bungee will be presenting at our Social Media Developers meeting this coming Tuesday, showing us a simple “Hello World” example on how to build a Facebook App using their platform. Follow me on Twitter and if we can stream it live you can watch it via my Ustream channel. After demo I may just write my own Facebook App to try out their system - it should be interesting.


Bungee Connect Demo - Web 2.0 Expo from Jesse Stay on Vimeo.

Using Perl/Catalyst and Want to Use Sometrics? Try This.

logo.pngI’ve been analyzing various Social Applications Analytics tools lately, and have recently stumbled upon Sometrics. Sometrics handles full Analytics for your Facebook, Bebo, and MySpace applications, and will actually utilize the Facebook API to retrieve demographic info about those visiting your Application. As I examine the other Analytics solutions for Facebook and other Social Network Applications, I’ll try to post my findings of their strengths and weaknesses here, OpenSocialNow, and FacebookAdvice.com. If you’re not a techie, you may want to skip the next part, or forward it onto your IT department.

One thing I noticed about Sometrics is it seems to only provide code to paste on your Application pages for PHP, Ruby, and ASP.net. The code they provide is relatively simple, but in case you’re wondering how to do it in Perl, here is how I did it in Template Toolkit under Catalyst on Perl:

Enter this on all Application pages (I do it in my “footer” file):


[% IF Catalyst.request.param("installed") %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&installed=1&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% ELSE %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% END %]

Then add this in the “post-remove url” subroutine for your Applicaiton (or create one and add the URL in your App’s config):

=head2 remove

  Page that handles App removal

=cut

sub remove : Local {

  my ( $self, $c ) = @_;

  if ($c->req->param(”fb_sig_uninstall”)) {

    $c->res->redirect(qq{http://halo.sometrics.com/met.gif?a=u&app=}.$c->req->param(”fb_sig_api_key”).qq{&uid=}.$c->req->param(”fb_sig_user”).qq{&age=&sex=&city=&state=&country=&friend=&src=fb});

    $c->detach();

  }

  return;

}

The “What You get From Facebook Pages” Series: Default Widgets and Applications

On FacebookAdvice.com I am starting a new series on “What You get From Facebook Pages”. Over the next week or so I’ll cover several topics on how you can best optimize Facebook Pages for your business. In the first article I’m covering the default widgets and applications that are installed when you set up a Facebook Page. Read more about it here.

Need some help getting a Facebook Page set up for your Organization? I do consulting! Contact me at jesse at staynalive dot com and I’ll get you setup with a plan on how you can utilize Facebook to bring your company more customers.

Recruiters, Here’s How to Approach Me!

I get e-mails very regularly from recruiters asking for either a referral or for me to work for their client. Most, if not all, come to me in the form of a generic e-mail, very little personalization, and obviously no care for me as a developer. Here’s one I received today, and my response - it’s my hope that recruiters, which since they generally don’t Google us developers beforehand so probably aren’t reading this, will take this advice to heart. They will have much more success by doing so! (BTW, I’m very confused by this - first they say there’s an unemployment low, then they say timeliness is critical because employers grab candidates quickly. If you’re a developer, believe the first one - getting a job should be easy, and the power is in your hands.):

Good Afternoon All,

I’m writing to touch base with each of you, regarding your present employment situation. The unemployment low has continued in Utah and has created a tremendous need for talented IT Professionals across the state of Utah.

We current have open opportunities for .Net and Java developers, in addition to Technical Project Manager and Business Analysts. If you are presently looking or know anyone that might be, please contact me directly.

In this market timeliness has become critical, some employers are hiring very quickly to grab the best candidates available. If you have thought at all of looking, don’t delay, get in touch with me today.

All the best,

And my response:

First of all, I’m an individual, not an “all”. Secondly, I strongly suggest Googling the names of those you contact, get to know them, and approach them only if first, they fit the description, and second, you can personalize with them a little. I talk to developers on a daily basis, and they hate recruiters because of this. You will get much better response by doing so.

Without Googling me beforehand, I will respond with the above every time - please do your research before contacting me!

Can’t Install Vista SP1 Due to Language Pack Problems? Try This.

vista_sp1.pngFor the non-tech-heads visiting my blog you can probably ignore this one, although it might provide some useful insight if you’re having issues with upgrading to Vista SP1. I have had the biggest headache recently trying to get Vista Service Pack 1 installed on my Windows Vista Ultimate, 64-bit Edition PC. The new Vista SP1 is stated to have many bug improvements, and since Hulu would occasionally crash my machine during my wife’s viewing of old “Major Dad” episodes (yes, they even have that on there!), I finally got fed up with it.

The problem with Vista SP1 is if for some reason you thought you needed every single update out there and installed all the language packs (I actually do have a fascination with foreign languages), SP1 refuses to install, and won’t even show up in your list of automatic updates to install under Windows Update. So, I figured, why not just remove them? Well, it appears that that, too seems to be a bug in Vista. Despite the fact that it would take 30 minutes each (at least) to remove each language pack, eventually, I started getting errors on the last few language packs I was trying to install. Vista was fighting back with me, avoiding with a vengeance not to be upgraded.

So I searched all around the internet trying to find a solution - I wanted to fix all these bugs, but the bugs were keeping me from upgrading Vista to fix the bugs that were preventing the upgrade! (Makes perfect sense, doesn’t it?) After a week of waiting for things to be resolved in various threads on Google with people that were experiencing the same issue, I came across this forum post from Saad Siddiqui on this thread on VistaHeads:

There is a workaround but it requires dealing with the registery so backup registery first.

1. press Windows Logo Key + R to open Run Dialog
2. Type regedit
3. Navigate to HKEY_LOCAL_MACHEINE\SYSTEM\CONTROSET001\MUI

there will be an entry for romanian language DELETE it. [for english the key is “en-US” in the navigation tree].

Repeat step three for

HKEY_LOCAL_MACHEINE\SYSTEM\CONTROSET003\MUI

this will make SP1 installer to see only English Language there.

hence it will continue installation.

and

HKEY_LOCAL_MACHEINE\SYSTEM\CURRENTCONTROSET\MUI

It was corrected that instead of HKEY_LOCAL_MACHINE\SYSTEM\CONTROLSET001 it was really HKLM\SYSTEM\CONTROLSET001\Control\MUI\UILanguages, repeated for CONTROLSET003 and CURRENTCONTROLSET. Backup your registry first!!!

I tried this, removed all languages except US from the listed languages under my registry, and voila - all of the sudden Vista SP1 was appearing in my list of Automatic Updates! I installed it, and now my wife can watch her “Major Dad” episodes on Hulu just fine. It should be noted that even the Microsoft employee in that thread was unable to diagnose this.

So if you’re looking for a quick shortcut to get rid of all the pesky language packs so you can install Vista SP1, hopefully this provides a solution that works for you. Good luck!

I’ve Been Guy Kawasaki’d!

guy2.0.pngGreetings to all of my new subscribers, thanks to a great post I’ve been working on with Guy Kawasaki over on his blog here:

http://blog.guykawasaki.com/2008/04/ten-things-you.html

The post is about 10 things you didn’t know about Facebook - these are all excerpts that you can find bits and pieces about in “I’m On Facebook–Now What???“, with a few additions. I’m really glad Guy put me to task to put this list together. Be sure to purchase one of his books as well!

The story behind this post is both Guy Kawasaki and Chris Pirillo were looking for a way to automatically follow those that follow them on Twitter, so they could better communicate with their fan-base. I decided to take this as an opportunity (as I wanted the same feature for myself), and wrote http://socialtoo.com to do just that for them. They both signed up (see Chris Pirillo’s post here - he mistakingly thought I worked for Twitter), and Guy Kawasaki generously offered to promote the book Jason Alba and I wrote, “I’m On Facebook–Now What???” via his blog. The funny thing is I was actually able to use Guy’s, “I know you would do the same for me…” as Guy thanked me for helping him out.

After my experience with Guy I respect him even more. Without my asking he offered to help me out - this is now my new mantra. When you do good things for others, looking for their needs, in my opinion, regardless of pay it always comes back to you. I will be devoting my time on Sundays to help out charitable causes such as Takes All Types (recently featured here and here), not necessarily because I’m expecting anything out of it, but because I know it helps other people, and just knowingly that always comes around for good on your behalf in the end. Thank you Guy for your sincere promotion of my book in your article!

If you’re looking for Facebook consulting, or have an external application outside, or inside a social network you would like to consider including as part of SocialOptimize’s community of Social Applications, please contact me at the links on the right - I promise I will get back to you!

New to this blog? Be sure to subscribe here!

Facebook Gives Developers a Way to Combat Spam 2.0 With <fb:captcha/>

Facebook seems to have been on a role lately in adding new FBML tags. They are certainly keeping me busy while I finish up the final phases of “FBML Essentials“. Ironically in short duration after I posted my Spam 2.0 article, Facebook seems, based on a new post to the developers wiki, to be providing a new way to combat your Application from being maliciously used by adding the ability to add “Captchas”, or graphics with manipulated text in them to re-enter in a text box provided in the captcha. These Captchas traditionally are ways to ensure only real humans are using your software.

What is interesting is normally you would think having a Facebook profile would be enough to prove it is a real human using the Application. Within the application a developer in normal FBML can always check to see that it is a logged-in Facebook user using the application, or someone accessing the application in an unauthenticated state. Facebook is going one step further with this however - there’s nothing stopping a Facebook account from being hijacked as we mentioned earlier, and using that account to run a malicious Facebook app for a day or two before Facebook catches it and either steal your data or Spam other users. That’s what I’m assuming the launch of this tag is for.

The tag works like this - it is to be contained in any <form/> tagset, and can contain one optional attribute, “showall” which allows you to always display the captcha on the App regardless if they passed the captcha before or not, or only display it to those that have not yet been verified. The code would look like this (from the developers wiki):

<form action=index.php method=post>
<fb:captcha showalways=true />
<input type=submit />
</form>

Upon submit, the user would be taken back to the callback url for your application, and the additional parameter, “fb_sig_captcha_grade=1″ will be passed to your application assuming the user passed the Captcha. If they did not pass, it will be set to 0. The end result captcha when render seems to look like any other captcha box on Facebook, which it seems they are using the Recaptcha format which gives back to Archive.org’s book transcription and archiving project. So regardless of whether you really need a captcha or not, you can be comfortable your app is giving back to a good cause. The captcha looks like this (also from the Facebook developer’s wiki):

Facebook Launches “<fb:is-it-april-fools/>” Tag

I swear, this is no joke! Facebook just released a new tag on its developers wiki called, “<fb:is-it-april-fools/>”. In line with the “<fb:is-it-christmas/>” tag (a real tag!), it displays the enclosed content only if it is April Fools day. Such content would be used as such:

<fb:is-it-april-fools>
April Fools!!!
<else>
It's not April Fools day, silly!
</else>
</fb:is-it-april-fools>

Facebook Works to Reduce Spam Further With “Feed Forms”

Today, a new way of posting to the News Feed in Facebook appeared on the Facebook Developer’s wiki. Facebook introduced “Feed Forms”. To use a Feed form, you simply create a regular form as you would any other form, but add a special “fbtype” attribute to the form. The only documented value listed thus far is “publish”. Facebook then intercepts the form, reads the url in the action parameter, and prompts the user, asking them if they want to publish the story to their friends.

To use a “feed form”, the url in your action parameter for the form should return content in the form of JSON with a simple feed response. The example they give for return JSON data is this:

{ "method": { "fbtype" : "publish",

           "next": "http://my.canvas.com/next_page.php“,

           “feed”: {”title_template”: “{actor} published status”,

                    “body_template” : “New status is \”{status}\”",

                    “body_data”     : {”status”: $_POST[’status’]}}

}

I created a sample form that looks like this, returning the above data (changing the url) in application/x-json format:

<form action=”http://fbmlessentials.staynalive.com/index.php”>

<input type=”text” name=”status” value=”" />

<input type=”hidden” name=”action” value=”feedforms” />

<input type=”submit” value=”Submit” />

</form>

Unfortunately it doesn’t seem this feature is live yet (or I’m just doing it wrong), as my returned JSON data just gets returned back to me when the form is submitted. I will post screen shots as soon as I hear confirmation that it has gone live (I expect that to be next Tuesday, when they usually do pushes).

Does this mean Facebook is doing away with the automated posting of News feeds by applications, or is it just one more way, and better way to make your feed story more likely to appear in your user’s friends’ news feeds? There is no official word from Facebook yet as to how they intend to use this.

Better Blog Visibility With Facebook Notes Tagging

On FacebookAdvice.com (the official blog for the book, “I’m On Facebook — Now What???”), I go over how you can use Facebook Notes tagging to get the attention of those with larger networks in Facebook. This is my first time using video, so be light on me! I see a lot of potential for using video in this manner, so expect more! Click here to read more on FacebookAdvice.com.

Close
E-mail It