Current Projects – Page 4 – Stay N Alive

New Facebook Tag

Facebook just announced a new tag today, the fb:random tag. From their website:

“Fb:random allows the developer to input a series of tags, of which 1 or more will be shown randomly. Each item can have a weight and the tag can be specified to show more than one of the choices. Each option should be wrapped in an fb:random-option tag.”

You also have the option to assign a weight to any of the tags. So it looks like you now have the option to, with pure fbml, to include random items in your profile. Expect to see many more non-Flash 8-balls, dice, and random quotes in the near future on your friends’ profiles.

Am I the Only Facebook Developer in Utah?

Okay, I’m really only doing this so I can beat Phil801 in Google ranks for “facebook developer utah”, but after talking to Paul Allen today it came up that I am the only result for “Facebook Developer” in Utah on LinkedIn. It is a new technology, only a month or so old, but I’m sure there are more than just me. If you are interested in consulting for your Facebook app, please contact me – I am definitely considering moving in that direction.

Speaking of Paul Allen, I have noticed he and I seem to be on the same page. I just recently looked at his blog, and while I was aware of his Facebook API Excitement, it seems we’re blogging in parallel, as he shares my excitement for Google Gears (notice I wrote mine first 😉 ).

New “I’m Presenting” Badge

I was just given this badge to display on my blog to encourage everyone to register and come see me present at UTOSC. As mentioned earlier, I will be presenting at the Utah Open Source Conference, September 6-8, 2007 on development of Pligg Modules, and probably a little about Pligg itself. This conference gets bigger every year so reserve your tickets early! I hear Bruce Perens, author of the Open Source Definition will even be there. I’ve got a couple other presentations in the works as well (at other arenas), so stay tuned.

Facebook to Soon Allow Javascript?

First of all, it was excellent to meet and talk to everyone at the Utah Blogger Dinner on Thursday! I got to finally meet a few people, chatted a lot with many about Facebook, and was able to give a brief tutorial on Phil801’s laptop of the basics of setting up a Facebook app. I feel like I am becoming one of the local experts on the subject lately – maybe I should go into consulting! Phil801 also showed me some really cool stuff he is doing on The Daily Spike that he is working on. That is one incredible engine he has set up, and I really look forward to his official launch because it looks to be a very needed tool in the blogging world.

There’s some buzz in the Facebook Developer Forums (login required) lately about a new tag that seems to have crept up called fb:fbjs-string. It seems to require a variable called “var” passed to it, and appears to be some sort of sandbox currently for Facebook to possibly allow javascript within their developer API. This would definitely be a welcome addition, as the API currently, while still flexible, is rather limiting without much javascript support (with the exception of a few show/hide controls and limited ajax support). Here is the basic tag – when you type this in:

test

It translates to the following in the actual web page:

var a2353941073_test=new fbjs_fbml_string(‘test’)

I looked up fbjs_fbml_string(), and it just does this:

function fbjs_fbml_string(html){fbjs_private.get(this).htmlstring=html;}

I will have to sift through all of their javascript libraries to figure out what htmlstring does – anyone aware if this is easier done in Firebug? I am assuming that it is basically setting up a javascript object variable for you to access later, which through some other routine they will (or just haven’t made public yet) provide will allow you to do stuff with the text or javascript you passed to it. I need to investigate this further. If you find something I haven’t seen feel free to post it!

Are You a SteepAndCheap.com Fan? Try the “SAC App”

I just finished my second Facebook app (well, the first phase of it anyways). I’ve named it “The SAC App”. It conveniently checks SteepAndCheap.com for you and sends you an update on your feed when the item has changed. It also adds a little shopping cart onto your profile, which automatically adds the item to your SteepAndCheap shopping cart, ready for you to purchase. That shopping cart item also updates as the current steepandcheap item changes. I’ve got a ton of plans for this, and will definitely be expanding it in the future into other areas – keep watching! To add the app to your profile, go to:

http://www.facebook.com/apps/application.php?id=2414128633

GrandCentral Invites

GrandCentral just gave me 5 more invites. I think I figured out a good way to make this work. If you want an invite, comment below, and say “I want one”. Then, once you have received one, edit your comment and say “Got it!”. Your only responsibility for participating this and saying “I want one” is to give invites to at least 5 people above you (you get 10 invites). I will give out my remaining 4 to the first 4 that say “I want one” – don’t say it though unless you’re willing to give 5 of yours to the top 5 saying “I want one” in the list. Also, don’t forget to edit and say “Got it!” when you get your invites (or your bound to get spammed to death). Oh, and if you post this on Digg, Reddit, etc. give me fair warning so I can prepare for the traffic. 🙂

UPDATE: Since only I can see your e-mail addresses, it might help if you include some way for others to send you the invite. I’m not quite sure the safest way to do this – maybe just say “I want one”, followed by your e-mail address in “dot com” spelled format – or you could put your e-mail address in backwards, just choose a way spammers won’t be able to easily detect it, if you’re worried about that.

GrandCentral Facebook App

Well, I took advantage of a low-hanging fruit, and wrote my first public Facebook app yesterday. My Picasaweb app is still in the works, but this appeared to be a bit more simple, as I would only have to deal with the Facebook API on this one, rather than the Google API as well. The concept is simple – you copy the code generated from your “Call Me” button generated from GrandCentral into a text box after you add the App to Facebook. The app then converts that embeded swf into FBML and sends it to your Facebook Profile for others to see.

The app itself wasn’t that hard once I got over the learning curve. The basics of the Facebook API are to generate a session key with canvas->validate_sig(), and then pull the session key parameter from the returned parameter hash to be passed through forms, used in a cookie, etc. Then on every page you need to access Facebook data (such as sending fbml to the user’s profile) you just run session_key(), passing in your session key you retrieved with validate_sig() on the entry page.

I also used this app as an opportunity to learn Perl’s Catalyst Framework, the Ruby on Rails of Perl. I will definitely be using this more in my web apps in the future – maybe even in some of my non-web apps (one advantage it has over RoR – it’s very flexible). The basics were I just run a simple command to create the basic Catalyst framework files and libs, then create my Database Model files and run a command to generate the libraries for that, including DBIx::Class ties. Then I just create my Controller libraries with a simple command, and then my TTSite (Template Toolkit libraries and files) libraries with another command. I’m then free to edit and write as I please, and it forces the code into a modularized structure. I used Perl’s WWW::Facebook::API libraries to access the Facebook API – once I figured out the session stuff everything else was very easy.

The one quirk I’m still trying to get around is Facebook forces you to click on an swf before it gets activated when it’s on a user’s Profile page. You’re supposed to be able to display an image in it’s place, but I’ve only been able to get that to work on the Canvas pages. The tag for that is , btw. I think I’m going to sniff httpd to see what that swf is doing behind the scenes to see if I can find a non-swf way of doing the call me button.

If anyone has issues in particular with either the GrandCentral App or WWW::Facebook::API, feel free to list your questions below. Also, please add my app and give comments! The url is:

http://www.facebook.com/apps/application.php?api_key=a5438e29c1b4df4ec650d374b4175741

Pligg Presentation at UTOSC

I’ve been asked to present on developing Pligg modules at the Utah Open Source Conference, September 6-8, 2007. So if you’re in the area and would like to learn how to write one, please be sure to attend! I’m thinking of going through a 15 minute or so walk through of creating a simple module to show how easy it is. This also means I’ve got to get my Email_Latest plugin fully functional and maybe make the Digg plugin a little better. Also, expect a Facebook module here shortly that will allow you to tie Pligg into Facebook Applications. What would you like to see in the presentation?

Call for Open Meta Standard

Over the weekend I have been thinking about new ways to categorize and target specific sections of content within larger areas of content. The thought came to mind when I was discussing with a friend about how my scriptures from church were getting too old, but we were both afraid to switch to a new set because of the notes and highlights we had made in the old set. What would be nice is to be able to easily transfer notes, highlights, and other meta data about large documents from one of the same document to another without worry of data loss.

One example would be a program written for PDAs and SmartPhones for easy access to scriptures, called MarkMyScriptures. This program is commonly used by people in LDS Wards and Branches. MarkMyScriptures gives a paid option that gives you all kinds of features to be able to highlight, mark, and take notes in your digital scriptures. I would like to take those highlights and notes, and save them in an open format that I could then use in other programs. For example, what if I could take those same highlights, and place them on as a template to the LDS.org version of the scriptures? I could have different templates for different things I’m studying, and store them all in different XML files (or other format as decided by the standard) – I could then choose the template I’d like to apply based on the way I want to study for the day.

This could be applied in other ways beyond religion too. What if I wanted to take notes on a particular wikipedia article I’m studying, and only save the extracted portions to a Word document for later? Educational and study ramifications would be incredible, and all programs would know how to interpret the data.

So I’d like to make a call for a new open-meta standard. I suggest XML or something very well understood and easy to parse as the format. In the case of XML, a WSDL should be decided on that works well across various document formats. We then need support from the community in adopting this standard into their applications in various ways. I think the applications of this standard are endless, and will provide for numerous opportunities for business, marketing, and community building. I’d like to hear others’ ideas – feel free to mention in the comments below. I will also be bringing this up on the LDSOSS mailing list – you don’t have to be LDS to join, just have to agree and tolerate the things we talk about. Feel free to pop in and join the discussion there as well.

digg_url = ‘http://digg.com/linux_unix/Call_for_Open_Meta_Standard’;