unethical blogger - Facebook http://unethicalblogger.com/taxonomy/term/13/0 Facebook Platform related posts. en Facebook be riddled with swashbucklers! http://unethicalblogger.com/posts/2008/09/facebook_be_riddled_with_swashbucklers <p>I've seen a lot of user-feedback about how confusing and "boring" the new Facebook redesign is, but I'm glad to know they are still having fun down there in Palo Alto, even if it's with subtle changes to their site (<em>click to zoom</em>)<br /> <center><a href="http://agentdero.cachefly.net/unethicalblogger.com/images/pirate_facebook.jpeg" target="_blank" rel="lightbox"><img src="http://agentdero.cachefly.net/unethicalblogger.com/images/pirate_facebook.jpeg" width="500" alt="Arrr Facebok"/></a></center></p> <p>To enable the pirate localization, find the language combo box at the bottom-left portion of the Facebook homepage. <center><img src="http://agentdero.cachefly.net/unethicalblogger.com/images/pirate_facebook_menu.jpeg"/></center><br/><br /> Stay classy Facebook.</p> http://unethicalblogger.com/posts/2008/09/facebook_be_riddled_with_swashbucklers#comments Facebook Fri, 19 Sep 2008 07:53:44 +0000 R. Tyler Croy 190 at http://unethicalblogger.com GSP West and SXSW 2008 http://unethicalblogger.com/posts/2008/03/gsp_west_and_sxsw_2008 <p>It's been almost a whole entire week since I left Austin, but it certainly seems better late than never. </p> <p>So far this month I've been fortunate enough to have been invited to speak at a few events, and one or two I just happened to wedge myself into anyways. </p> <p>I spoke at <a href="http://en.oreilly.com/gspwest2008/" target="_blank">Graphing Social Patterns West</a> in San Diego the first week in March on a concept I feel I didn't have the time to really explain sufficiently, <a href="http://tyler.geekisp.com/doc/Social%20Portability.pdf" target="_blank">"Social Portability" (pdf)</a>. Unfortunately most of the audience weren't developers, so I adjusted the presentation to shoot a bit higher level than usual.</p> <p>Following GSP I spoke at <a href="http://barcamp.org/BarCampAustinIII" target="_blank">BarCamp Austin 3</a> on building ASP.NET sites on top of the Mono stack <a href="http://tyler.geekisp.com/doc/ASP.NET%20on%20Mono.pdf" target="_blank">(pdf)</a>. The session was relatively small, so it broke down into much more of a round table discussion (we were sitting at a literal round table) about some of our experiences with ASP.NET on Mono through Apache2/mod_mono and Lighttpd/Mono-FastCGI, etc.</p> <p>Also while at SXSW I spoke at the Facebook Developer Garage Austin on the same concept as before, Social Portability, except this time the audience was <em>far</em> more developer oriented so I could dive into some nitty gritty bits of FBML/FBJS caveats, etc (<a href="http://tyler.geekisp.com/doc/Social%20Portability%20(Developer%20Garage).pdf" target="_blank">(pdf)</a>. The Developer Garage was especially fun because the Zuckerborg was in attendance, and I met more than my fair share of interesting developer-types that were either Texans themselves, or in Texas for the event. </p> <p>March is barely half over and I'm already exhausted.<br /> <br/><strong><em>Presentation Files</em></strong><br /> <a href="http://tyler.geekisp.com/doc/Social%20Portability.pdf">Social Portability.pdf</a> (GSP)<br /> <a href="http://tyler.geekisp.com/doc/Social%20Portability%20(Developer%20Garage).pdf">Social Portability (Developer Garage).pdf</a><br /> <a href="http://tyler.geekisp.com/doc/ASP.NET%20on%20Mono.pdf">ASP.NET on Mono.pdf</a> (BarCamp)<br /> <!--break--></p> http://unethicalblogger.com/posts/2008/03/gsp_west_and_sxsw_2008#comments Facebook Slide Mon, 17 Mar 2008 09:24:08 +0000 R. Tyler Croy 169 at http://unethicalblogger.com Graphing Social AppNite http://unethicalblogger.com/posts/2008/02/graphing_social_appnite <p>I'm not yet certain what kind of audience is going to be attending <a href="http://en.oreilly.com/gspwest2008/public/content/home" target="_blank">Graphing Social Patterns West</a>, so I'm hoping I can help tip the scales in favor of developers because, to be frank, business people scare me.</p> <p>I was told about <a href="http://en.oreilly.com/gspwest2008/public/schedule/detail/2659" target="_blank">AppNite</a> and it seems like a good excuse to try to get more developers to make the trek down to San Diego to keep me company in a sea of marketers and business folk. Better yet, developers who enter the AppNite contests get <strong>50%</strong> off the admission to the conference (<a href="http://www.surveymonkey.com/s.aspx?sm=QSbEXBS_2bMknsDAihcgwJBg_3d_3d">enter here</a>). Unfortunately I'm not going to enter my apps in the contest, but I do know a friend of mine Jason Rubenstein, of <a href="http://apps.facebook.com/threewords" target="_blank">Just Three Words</a> fame, has entered his app, to give you an idea of the stiff competition you'll be up against.</p> <p>If that doesn't seal the deal for you, <a href="http://www.virginamerica.com">Virgin America</a> flies to San Diego now, and round-trip flights from San Francisco to San Diego are only <strong>~$85</strong>. Which means if you're a Silicon Valley Facebook/Bebo/OpenSocial developer you can come hang out at the conference for cheap, and if your application is good enough, get some killer exposure to potential investors, business contacts, and other developers (like me!).</p> <p>Zach Allia (of Free Gifts fame), Jason Rubenstein (Just Three Words), Ryan Romanchuk (<a href="http://apps.facebook.com/_dipity_/index.php" target="_blank">Dipity</a>) as well as the developers on the <a href="http://en.oreilly.com/gspwest2008/public/schedule/speakers" target="_blank">speakers list</a> will all be there, so it should be a fun meeting of the minds (for developers at least).</p> <p>See you there!</p> http://unethicalblogger.com/posts/2008/02/graphing_social_appnite#comments Facebook Slide Mon, 25 Feb 2008 05:16:07 +0000 R. Tyler Croy 168 at http://unethicalblogger.com Facebook's Bleeding Edge http://unethicalblogger.com/posts/2008/02/facebooks_bleeding_edge <p>For the past couple weeks I've been living dangerously, as some people know I live in the <a href="http://en.wikipedia.org/wiki/Tenderloin,_San_Francisco,_California" target="_blank">Tenderloin District</a>, but that's not what I mean when I say "living dangerously." In my constant quest to squeeze as much performance out of <a href="http://apps.facebook.com/topeight/?home=1" target="_blank">Top Friends</a> as possible, I've been evaluating the latest and greatest stuff that Facebook has to offer developers. In addition to the usual adding of features, tuning virality, and general application upkeep, I've been exploring mixes of <A href="http://wiki.developers.facebook.com/index.php/FBML" target="_blank">FBML</a>, <a href="http://wiki.developers.facebook.com/index.php/FBJS" target="_blank">FBJS</a>, <a href="http://wiki.developers.facebook.com/index.php/Mock_ajax" target="_blank">Mock AJAX</a>, <a href="http://wiki.developers.facebook.com/index.php/Preload_FQL" target="_blank">preload FQL</a>, and <a href="http://wiki.developers.facebook.com/index.php/Using_batching_API" target="_blank">batched queries</a> all as a means to improve how fast Top Friends is for our users. I've been <a href="http://flickr.com/photos/agentdero/1130367017/in/set-72157601461292940/" target="_blank">saying for months</a> that it's exceptionally important to keep up with all of Facebook's changes, for better or for worse, and sometimes they throw out gems like preload FQL that will help shape new and interesting ways you can utilize Facebook's data inside your application.</p> <p><big><strong>The Feature</strong></big><br /> The first obvious thing that I wanted to apply preload FQL to, was a new feature we've pushed out called "<a href="http://apps.facebook.com/topeight/?home=1" target="_blank">Top Friends News</a>" which aggregates "what's going on" with your Top Friends.<center><a href="http://tyler.geekisp.com/images/tfnews.png" rel="lightbox"><img src="http://tyler.geekisp.com/images/tfnews.png" width="500"/></a></center><br /> <!--break--><br /> It was very important to incorporate data from Facebook as well as our own data into the feature to make sure the page was as rich and interesting to the user as possible. Unfortunately, executing queries to fetch birthdays, recently uploaded photos, statuses, etc, are prohibitively expensive if you just run them as standard FQL queries. Even as preload FQL queries they are relatively expensive when hitting a cold cache. To ensure the page was as fast as possible using preload FQL we ran a <strong>lot</strong> of tests with various iterations of the queries and tuned everything as much as possible. I could yak endlessly on all the cool stuff we've done in this specific case to squeeze every last drop of performance out of the News page, but I'll cite the numbers and get to the nitty-gritty right away. <em>Before</em> we released the feature I tried the page with <strong>no</strong> preload FQL queries, and the necessary Facebook data was procured through painfully slow standard FQL queries. Executing these queries on the page made the "Top Friends News" page the <strong>slowest</strong> page <a href="http://www.slide.com" target="_blank">Slide</a> served up to Facebook, clocking in at about 2.5-3.0s. Simply unacceptable. After a long day of tuning and implementing all the queries to run as preloaded FQL queries, the "Top Friends News" page became the <strong>fastest</strong> page <a href="http://www.slide.com" target="_blank">Slide</a> serves up to Facebook at around 0.5s a pop.</p> <p>Although preload FQL is technically still a "beta feature" according to the <a href="http://wiki.developers.facebook.com/index.php/Category:Beta_Feature" target="_blank">wiki</a>, we've implemented it in an application that has millions of users daily; in my opinion preload FQL is "Google-beta" quality (which means, it's solid) as opposed to "Microsoft-beta" quality (which means, it sucks).</p> <p><big><strong>Using preload FQL</strong></big><br /> If you grab the <a href="http://wiki.developers.facebook.com/index.php/PHP" target="_blank">latest PHP client library</a> from Facebook, support for preload FQL is already baked in via the <a href="http://wiki.developers.facebook.com/index.php/Admin.setAppProperties" target="_blank">admin.setAppProperties</a> API call. Actually calling the API call is relatively painless, it's something to do pre-push instead of "live" like normal FQL queries. Once you set your application's preload FQL rules, the results are simply posted to the FBML page matching the "pattern" you specified when you set the FQL rules to begin with (read the <a href="http://wiki.developers.facebook.com/index.php/Preload_FQL" target="_blank">wiki page for more</a>), when the results are POSTed however, they'll be formatted in JSON, similar to a regular FQL query if you specify ResponseType.JSON. This does mean however you should be using FBML for your application page to take advantage of preload FQL, it's possible to use iframe pages and preload FQL through a clever mix of memcached and &lt;fb:iframe/&gt;, but I won't go into that here.</p> <p><big><strong>Performance Concerns</strong></big><br /> While moving to preload FQL means you lessen the chance that Facebook times out while trying to load your FBML page, if you structure your queries incorrectly you merely shuffle the lag-time for the user, you won't eliminate it. After working with some Facebook engineers on profiling the performance of preload FQL, they've added another parameter that will be posted into your FBML page that you can use to guage the time it took your preload FQL queries to execute. If you start logging <strong>fb_sig_time</strong> alongside <strong>fb_sig_preload_fql_timestamp</strong> you can measure the difference between when Facebook started to process your preload FQL rules (fb_sig_preload_fql_timestamp), and when Facebook called your server for the page (fb_sig_time).</p> <p>Mixing and matching FBJS, FBML and preload FQL rules in your pages can allow you to create blistering-fast pages that are as rich as possible for your users, while allowing you do to more with less (server-wise) than you could ever do before. Add in a bit of the <a href="http://wiki.developers.facebook.com/index.php/Data_Store_API_documentation" target="_blank">Data Store API</a> and you'll have pages that rival Facebook's own in terms of speed at prices that rival Amazon's S3 in terms of overall cost. In general Facebook is an engineering organization with <strong>lots</strong> of smart people working for them, and most of those smart people (that I've met anyways) are working to make the Facebook Platform even better than it is now, meaning the time you put into exploring new parts of the platform will most definitely have been worth it after you start to use some of Facebook's more "bleeding edge" features that are designed to make your life easier, not harder.</p> <p>2008 is going to be an interesting year.</p> http://unethicalblogger.com/posts/2008/02/facebooks_bleeding_edge#comments Facebook Slide Mon, 18 Feb 2008 03:17:31 +0000 R. Tyler Croy 166 at http://unethicalblogger.com Speaking at Graphing Social Patterns http://unethicalblogger.com/posts/r_tyler_ballance/speaking_at_graphing_social_patterns <p>Coming up in the first week of March you'll be able to find me doing one of my three favorite things (right behind, writing code and sleeping), I'll be talking, in front of people, about Facebook, Bebo and "social applications." If you are one of the four people that have gone on record has having actually subscribed to my RSS feed, you might know that I spoke at something called "<a href="http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop" target="_blank">Graphing Social</a>" in the past, but this time I'm speaking at "<A href="http://en.oreilly.com/gspwest2008/" target="_blank">Graphing Social Patterns West</a>" which will be occurring in parallel to O'Reilly's "<a href="http://en.oreilly.com/et2008/public/content/home" target="_blank">ETech (Emerging Technology) Conference)</a>" in San Diego March 3rd and 4th.</p> <p>I'll be talking briefly, in front of people, on tuesday March 4th about during a joint session on "<a href="http://en.oreilly.com/gspwest2008/public/schedule/detail/1791" target="_blank">Social App Development 101: Elements of Style</a>," where I'll be discussing some of keystone pieces of building an application that "pops" on Facebook and Bebo, and designing for portability, etc. My session is going to be brief, so I will most likely be employing my crouching-ninja-presentation technique, where the slides rotate every quarter-second at such a fast pace that the content becomes melded into my audiences' subconscious. It's been rumored to cause brain hemorrhaging, but that's nothing but an urban legend, I promise.</p> <p>In general the entire event should be lots of fun; I'm looking forward to schmoozing with the <a href="http://en.oreilly.com/gspwest2008/public/schedule/speakers" target="_blank">speakers</a> lined up for the event, as well the time-honored tradition at O'Reilly conferences, playing a good old game of "Find <a href="http://en.wikipedia.org/wiki/Tim_O&#039;Reilly" target="_blank">Tim</a> and tickle him until he pees himself."</p> <p>Overall the combination of GSP West and ETech looks like it's going to make for an interesting couple of days in San Diego, go ahead and <a href="http://en.oreilly.com/gspwest2008/public/content/register" target="_blank">register</a> now to make sure you can get in.</p> http://unethicalblogger.com/posts/r_tyler_ballance/speaking_at_graphing_social_patterns#comments Facebook Slide Sun, 17 Feb 2008 00:46:23 +0000 R. Tyler Croy 163 at http://unethicalblogger.com More Tips for Beginning Facebook Developers http://unethicalblogger.com/posts/zachallia/more_tips_for_beginning_facebook_developers <p>I don't feel quite as awesome as I did last summer when I tell people that I "develop facebook applications." Despite personally being really happy with my applications, I get the feeling that <em>users</em> now perceive facebook apps as spammy, poorly designed, and pointless. Sure, there are some applications that are knowingly like this (and they are probably making some quick cash), but to many new developers they just don't know any better.</p> <p>The points in Tyler's <a href="http://unethicalblogger.com/posts/r_tyler_ballance/tips_for_beginning_facebook_developers">post</a>, as well as the ones below, will help new developers start on the right track and then we can all feel awesome again to be a facebook application developer. I am staying away from saying "don't spam" because that is a topic in need of it's own post. </p> <p><strong>Just because you haven't seen it</strong> doesn't mean it isn't there. Do a little research on existing applications with the same idea before you start development. This will help you decide whether you should pick up their best features and improve on them, or just scrap your idea altogether. There is definitely room for similar applications, but don't build a product if you can't make it better.</p> <p><strong>She may be hot, but she has no brain.</strong> Looks are great, but make sure you have a well built application to support your idea. Users love to uninstall when they see error messages.</p> <p><strong>Keep improving</strong> and adding features to your applications based on user requests, they really know best. I may be crazy, but I like to read and respond to nearly every (positive) comment and suggestion on <a href="http://apps.facebook.com/freegifts">Free Gifts</a> boards.</p> <p>Tyler pointed out that the one year mark is approaching, and the amount of progress the developer community has made is really amazing. Over the next few months there are a few things I really hope to see: inter-application collaboration, more functional user interfaces, and a decline of "one timer" apps (quizzes, etc).</p> http://unethicalblogger.com/posts/zachallia/more_tips_for_beginning_facebook_developers#comments Facebook Software Development Tue, 05 Feb 2008 07:16:35 +0000 zachallia 162 at http://unethicalblogger.com Tips for beginning Facebook developers. http://unethicalblogger.com/posts/r_tyler_ballance/tips_for_beginning_facebook_developers <p>I am starting to see more and more novice developers on the <a href="http://forum.developers.facebook.com/">Facebook forums</a> as well as the IRC channel asking fewer and fewer "development" questions and more and more "product" questions. I find this incredibly interesting because it means one of two things: either everybody has figured out how to use the Facebook platform <strong>or</strong> an increasing number of people are putting the proverbial cart before the horse when it comes to developing Facebook applications.</p> <p>Call me cynical about the first option, but I find it highly unlikely that <em>everybody</em> figured out how to use the Facebook Platform; despite its low entry barrier many people are over-thinking it or simply trying to develop a Facebook application before they figure out how to build a web application in general.</p> <p>The second option is far more likely, Facebook applications have reached such a level of ubiquity that "everybody and their mother" wants to write a Facebook application these days. Right now at a small consulting firm in Omaha, Nebraska some middle manager is asking his lead developer if the firm can reinvigorate their collaborative synergies and utilize the social graph to further meet their clients needs. </p> <p>Facebook is the new Windows, and the Facebook Platform is the new Visual Basic and I feel as if there is a burden on "us" (the existing "<a href="http://apps.facebook.com/appsaholic/index.php?act=topdev">top developers</a>" on the platform) to start to cultivate a community that will encourage stylish, functional and ultimately useful applications on the Facebook platform, to ensure that there will never be a "Facebook 98" or a "Facebook ME".</p> <p>Here's a couple of the best tips I can offer, and maybe <a href="http://unethicalblogger.com/user/zachallia">Zach</a> (developer of <a href="http://apps.facebook.com/freegifts/">Free Gifts</a>) can help expand.</p> <ul> <ol><strong>Learn by example</strong>: Currently <a href="http://slide.com">Slide</a> has many of the largest applications on the platform, and we've worked extremely hard tuning and tweaking our apps and understanding our userbase. When thinking about developing your application, it certainly won't hurt to check out some of the existing apps that have succeeded on the platform. Stand on the shoulders of others who have spent far more time researching and testing what works and what doesn't work on the platform than you'll be able to spend.</ol> <ol><strong>Learn the vocabulary</strong>: Make sure you read up on what <a href="http://wiki.developers.facebook.com/index.php/FBML">FBML</a>, <a href="http://wiki.developers.facebook.com/index.php/FQL">FQL</a>, <a href="http://wiki.developers.facebook.com/index.php/FBJS">FBJS</a> all are.</ol> <ol><strong>Understand the difference</strong> between the <a href="http://wiki.developers.facebook.com/index.php/Profile">Profile</a> and a <a href="http://wiki.developers.facebook.com/index.php/Facebook_Pages">Page</a> on Facebook.</ol> <ol><strong>Check out some demos</strong>: There are a few <a href="http://wiki.developers.facebook.com/index.php/Demos">demo applications</a> that you can dig through to better understand the basics of what makes a Facebook application.</ol> <ol><strong>Just code already</strong>: By far the most common mistake I've seen thus far is over-thinking things, the majority of your questions will be answered by simply <em>trying stuff out</em> on the platform. This isn't high school calculus, you are allowed to guess-and-check. I am willing to help developers who obviously need it, but if you can't be buggered to try something out, I can't be buggered to point you in the right direction on where you went wrong.</ol> </li> <p>With the first year anniversary of the original F8 event right around the corner in May, I feel we as a community of developers have made tremendous progress in establishing ourselves, but now I feel it's time for some introspection and self-improvement as a community.</p> http://unethicalblogger.com/posts/r_tyler_ballance/tips_for_beginning_facebook_developers#comments Facebook Slide Software Development Mon, 04 Feb 2008 01:03:54 +0000 R. Tyler Croy 160 at http://unethicalblogger.com Are Free Gifts Still Gifts? http://unethicalblogger.com/posts/zachallia/are_free_gifts_still_gifts <p>Facebook has been pretty nice to Free Gifts in the past, despite originally being a blatant rip-off of the real Gifts application. Prior to today, I have only received one complaint from Facebook regarding Free Gifts practices. They asked me to remove a gift that looked similar to one of their gifts. I was okay with that even though mine was a lemon and theirs was a lime; maybe it was tough for the color blind audience to decipher? Today, I received my second complaint from them, which stated:<br /> <div class="geshifilter"><pre class="geshifilter-python"><ol><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">Your Facebook application, Free Gifts, <span style="color: #ff7700;font-weight:bold;">is</span> currently <span style="color: #ff7700;font-weight:bold;">in</span> violation of the Platform Application Guidelines section I<span style="color: #ff4500;">.3</span> <span style="color: black;">&#40;</span>see <span style="color: #66cc66;">&lt;</span>a href=<span style="color: #483d8b;">&quot;http://developers.facebook.com/guidelines.php&quot;</span> title=<span style="color: #483d8b;">&quot;http://developers.facebook.com/guidelines.php&quot;</span><span style="color: #66cc66;">&gt;</span>http://developers.<span style="color: black;">facebook</span>.<span style="color: black;">com</span>/guidelines.<span style="color: black;">php</span><span style="color: #66cc66;">&lt;</span>/a<span style="color: #66cc66;">&gt;</span><span style="color: black;">&#41;</span>. <span style="color: black;">Specifically</span>, please note that the Terms prohibit applications <span style="color: #ff7700;font-weight:bold;">from</span> acting <span style="color: #ff7700;font-weight:bold;">in</span> a manner that <span style="color: #ff7700;font-weight:bold;">is</span> misleading, deceptive, <span style="color: #ff7700;font-weight:bold;">or</span> fraudulent.</div></li><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal">&nbsp;</div></li><li style="font-family: monospace; font-weight: normal;"><div style="font-family: monospace; font-weight: normal; font-style: normal"><span style="color: black;">The</span> application<span style="color: #483d8b;">'s link under the profile picture uses the same wording as Facebook'</span>s Gift application <span style="color: black;">&#40;</span>please see attached<span style="color: black;">&#41;</span>. <span style="color: black;">Please</span> change this to reflect your application<span style="color: #483d8b;">'s name to differentiate Facebook'</span>s Gift application <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: #483d8b;">&quot;Free Gifts&quot;</span> application, as it <span style="color: #ff7700;font-weight:bold;">is</span> currently misleading users to think that this refers to the associated Facebook features.</div></li></ol></pre></div></p> <p>I will admit it is relatively the same wording, but they failed to explain how using "Send xxxx a Gift" is deceptive or misleading to users. First of all, Facebook provides a tool tip when you hover over a profile action which says "Provided by the xxxxxx Application," which immediately makes a distinction between Gifts and Free Gifts. Second, as far as I know, users are still sending a gift when they use Free Gifts. Third, I have been using this text for longer than I can remember now with no complaints. With over 50 million gifts sent, I have never had a user say they were "trying to use the real gift" application.</p> <p>I did comply somewhat by making all future profile actions say "free gift" instead of "gift," but there is no easy way for me to fix the 8 million profiles already containing the text. As of now they have failed to respond to my question of how exactly I was deceiving users, but I am really interested in hearing their reasoning.</p> http://unethicalblogger.com/posts/zachallia/are_free_gifts_still_gifts#comments Facebook Opinion Fri, 01 Feb 2008 19:27:11 +0000 zachallia 158 at http://unethicalblogger.com <fb:rubbar-chikken/> http://unethicalblogger.com/posts/r_tyler_ballance/fb_rubbar_chikken <p><center></p> <object width="600" height="220"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="http://adonomics.com/charts.swf?library_path=http%3A%2F%2Fadonomics.com%2Fcharts_library&stage_width=600&stage_height=220&php_source=http%3A%2F%2Fadonomics.com%2Fxml.php%3Fdisplay%3D2425101550+2378983609+2601240224+2357179312%26f%3DActiveUsers%26range%3D30d&license=J1XPVENC9UOL.NS5T4Q79KLYCK07EK" quality="high" bgcolor="#ffffff" width="600" height="220" type="application/x-shockwave-flash"></embed></object><div style="float: right; clear: all;">Courtesy of <a href="http://adonomics.com/display/2425101550%202378983609%202601240224%202357179312&amp;range=30d" target="_blank">Adonomics</a></div> <p></center><br clear="all"/><br /> <a href="http://www.slide.com" target="_blank">We've</a> been working pretty hard for the past month (well, for the past 8 months too) but I'm particularly proud of the work that my <a href="http://uillinois.facebook.com/profile.php?id=1905532" target="_blank">co-conspirator</a> and <a href="http://www.facebook.com/profile.php?id=627205543" target="_blank">I</a> have been putting in on <a href="http://www.facebook.com/apps/application.php?id=2425101550" target="_blank">Top Friends</a> (we're that green line that creeps up from behind on FunWall and Super Wall).</p> <p>One of the most helpful "tools" that's been available to me has been Slide's competitive spirit. In addition to the 2,000+ developers on the <a href="http://developers.facebook.com/" target="_blank">Facebook platform</a> we have some pretty healthy competition going on inside Slide as well. Between Top Friends, SuperPoke and FunWall there is plenty of trash-talking and "friendly competition" (read: if it weren't an HR violation, I'd of already resolved to dirty tactics). In doing so we've cultivated an environment where some of the most often heard phrases are: "Is Facebook down again?!" and "OH SCHNAP!"</p> <p>Another key factor to our team's enjoyable demeanor has been (in my opinion) our liberal use of the "<a href="http://en.wikipedia.org/wiki/Rubber_chicken" target="_blank">rubber chicken</a>" as part of a sort of group hazing. In essence, when you have glaring mistakes that somehow get pushed to the live site, you will come into the office the next day with rubber chickens adorning your monitor. This group acknowledgement of when we "fuck up" encourages more of a social-pressure to write good code instead of relying on policy, etc to ensure code quality, especially on the rapid release schedules we adhere to. Rubber chickens are the truly quintessential gift at Slide, it is always feels better to give than to receive.</p> <p>As we near the end of the first month in 2008, I wish Facebook and Bebo continued success with there platform(s); not because I love FQL and FBML <em>oh so much</em>, but because I work for Slide, on the Facebook team, where competition and rubber chickens reign supreme in the land of embedded videos, sortable friends and flying sheep.</p> <p>(Now seriously, <a href="http://www.slide.com/static/jobs" target="_blank">Slide is hiring</a>)</p> http://unethicalblogger.com/posts/r_tyler_ballance/fb_rubbar_chikken#comments Facebook Slide Sun, 27 Jan 2008 07:55:42 +0000 R. Tyler Croy 156 at http://unethicalblogger.com Five and Seven Zeroes is Big. http://unethicalblogger.com/posts/r_tyler_ballance/five_and_seven_zeroes_is_big <p>It was <a href="http://www.techcrunch.com/2008/01/18/slide-gets-their-huge-valuation-and-raises-50-million/" target="_blank">recently announced</a> that <a href="http://www.slide.com" target="_blank">Slide</a> (this little start-up that I work for) raised some more money. Neato.<br /> <br/><br /> Since <a href="http://max.slide.com" target="_blank">Max</a> isn't the <a href="http://www.hermanmiller.com/aeron/" target="_blank">aeron chair</a> kind of CEO, it looks like we're going to spend that money on things like "engineers, hardware, etc." Bummer, I've always wondered how an $800 chair can exist that doesn't rub your feet and write your code for you.</p> <p>Regardless, should be a fun year.</p> <p>(p.s. <a href="http://www.slide.com/static/jobs">we need more engineers</a>)</p> http://unethicalblogger.com/posts/r_tyler_ballance/five_and_seven_zeroes_is_big#comments Facebook Slide Wed, 23 Jan 2008 10:29:30 +0000 R. Tyler Croy 153 at http://unethicalblogger.com SXSWi and Me http://unethicalblogger.com/posts/r_tyler_ballance/sxswi_and_me <p>I spoke with Tammy (our <a href="http://www.slide.com/static/about_press" target="_blank">PR mastermind</a>) about whether or not <A href="http://www.slide.com" target="_blank">Slide</a> was going to let me out of my cage to go to <a href="http://sxsw.com/" target="_blank">South by Southwest Interactive</a> this coming March and it seems like they might actually let me! (I'm just as surprised as you are)</p> <p>Unfortunately things with Facebook were at such a ridiculous pace when SXSWi was accepting <a href="http://2008.sxsw.com/interactive/programming/panels_by_category/" target="_blank">panel submissions</a>, that I never got a chance to submit my panel idea: "Slide is awesome, now let's talk about how great Slide is." This leaves me in a slightly awkward position, I cannot remember the last conference or event that I went to where I wasn't speaking or talking or dancing with a baboon in front of a live studio audience. Even at the last SXSWi I was there for about 36 hours and most of that time was spent setting up and then helping run <a href="http://barcamp.org/BarCampAustinII" target="_blank">BarCamp Austin<sup>2</sup></a>. Ideally I'd like to get on stage with some of the guys from Twitter, Facebook, Bebo, Google and maybe even Myspace to discuss the more open social web that we seem to be moving towards and a bit about how awesome Slide is. It's probably nothing more than a pipe-dream however, since the panels seem to be quite locked down at the moment.</p> <p>Of course, if nobody will have me, then I might be relegated to slumming up and down 6th street in Austin hanging out with the usual drunkards that I know in Austin (you know who you are) and getting into trouble. Mmm, trouble.</p> <p>Regardless, if you're going to be in Austin for SXSWi let me know, I've got a stack of swanky new business cards I want to get rid of :)<br /> <center><a href="http://farm3.static.flickr.com/2388/2127793798_8769341624_o.jpg" rel="lightbox"><img src="http://farm3.static.flickr.com/2388/2127793798_8769341624_o.jpg" width="400"/></a></center></p> http://unethicalblogger.com/posts/r_tyler_ballance/sxswi_and_me#comments Facebook Miscellaneous Mono Slide Mon, 31 Dec 2007 13:11:08 +0000 R. Tyler Croy 148 at http://unethicalblogger.com Turning Famousosity Up To 11. http://unethicalblogger.com/posts/r_tyler_ballance/turning_famousosity_up_to_11 <p><a href="http://sergio.slide.com/" target="_blank">Sergio</a>, one of <a href="http://www.slide.com" target="_blank">our</a> talented web monkeys, sent an email out today that started with "OMFGBBQ!"</p> <p>As it turns out, Sergio is a much more religious reader of <a href="http://penny-arcade.com" target="_blank">Penny Arcade</a> than the rest of us (a public shaming and revocation of some geek cards is in order) since he was the first to notice this:</p> <p><center><a href="http://unethicalblogger.com/files/20071121.jpg" rel="lightbox"><img src="http://unethicalblogger.com/files/20071121.jpg" width="450"/></a><br/><strong>Click to view the image fullsize</strong></center><br /> <br/><br /> Hell yes.<br /> <br/><br /> As a side note, I have Sergio to thank for the sweet drag-and-drop interface on the Top Friends edit page and now for bringing some Gabe and Tycho love to our attention.</p> http://unethicalblogger.com/posts/r_tyler_ballance/turning_famousosity_up_to_11#comments Facebook Slide Thu, 22 Nov 2007 10:54:56 +0000 R. Tyler Croy 138 at http://unethicalblogger.com Facebook Flyers Make My Eyes Bleed. http://unethicalblogger.com/posts/r_tyler_ballance/facebook_flyers_make_my_eyes_bleed <p>As part of what consists of my day/night/weekend job, developing Facebook applications like <a href="http://apps.facebook.com/topeight" target="_blank">Top Friends</a>, I spent a lot of time on Facebook (mostly losing games of <a href="http://apps.facebook.com/scrabulous/" target="_blank">Scrabulous</a> to other developers). Since I spend anywhere between 20 and 30 hours a day on Facebook, I see a lot of Facebook's ads, and in particular, Facebook's "Flyers".</p> <p>The concept at it's most basic level is a novel one, allow posting a flyer, similar to stapling a "Free Couch" flyer to a bulletin board, except on Facebook. In practice however, they <strong>suck</strong>. They suck bad. Really bad. I have a much higher respect for advertisers that can come up with ads that are either intriguing, or at the very least, not absolutely painful to see. </p> <p>Over the past week I've been quietly taking screenshots of the absolutely worst Flyers that I've seen that have brought me close to sending a flaming bag of poo down to Palo Alto. Think about the lame kind of spam you get in your inbox, that's about the level that Facebook's Flyers seem to be, except I can't fix it with aggressive spamassasin rules.</p> <p><center></p> <table border="0" width="350"> <tr> <td valign="top"><img src="http://unethicalblogger.com/files/barbook.png"/></td> <td valign="top"><img src="http://unethicalblogger.com/files/singles.png"/></td> </tr> <tr> <td valign="top"><img src="http://unethicalblogger.com/files/make_monies.png"/></td> <td valign="top"><img src="http://unethicalblogger.com/files/find_a_date.png"/></td> </tr> <tr> <td valign="top"><img src="http://unethicalblogger.com/files/meet_local_women.png"/></td> <td valign="top"><img src="http://unethicalblogger.com/files/dlist.png"/></td> </tr> <tr> <td valign="top"><img src="http://unethicalblogger.com/files/how_dumb_are_you.png"/></td> <td valign="top"><img src="http://unethicalblogger.com/files/date.png"/></td> </tr> <tr> <td valign="top" colspan="3"><img src="http://unethicalblogger.com/files/somebody_likes_you.png"/></td> </tr> </table> <p></center><br /> <br/><br /> Isn't this <a href="http://www.insidefacebook.com/2007/09/16/facebook-lowers-ad-prices-with-performance-based-flyers-pro/" target="_blank">supposed to be targeted?</a> These all seem to target single, stupid, bi-curious, poor, gullible, and desperate people, and I'm pretty sure I only fall in, at most, three of those categories.</p> <p>Seriously, what the fuck.<br /> <!--break--></p> http://unethicalblogger.com/posts/r_tyler_ballance/facebook_flyers_make_my_eyes_bleed#comments Facebook Sat, 17 Nov 2007 16:35:44 +0000 R. Tyler Croy 137 at http://unethicalblogger.com "Why are you awesome?" meet Mono http://unethicalblogger.com/posts/r_tyler_ballance/why_are_you_awesome_meet_mono <p>When I originally wrote the Facebook demo application "<a href="http://unethicalblogger.com/posts/r_tyler_ballance/introducing_why_are_you_awesome">Why are you awesome?</a>" <img src="http://unethicalblogger.com/files/using-mono.png" align="right"/> I wrote it in PHP4 in about 3 hours and hated myself for every one of those miserable 180 minutes. Since then however, I've been slowly and methodically working on a new, JSON-based, Facebook client library (Mono.Facebook.Platform) specifically to bring together some of the aspects of <a href="http://code.google.com/p/pyfacebook/" target="_blank">pyfacebook</a>, the <a href="http://wiki.developers.facebook.com/index.php/PHP" target="_blank">PHP client</a>, and the <a href="http://www.codeplex.com/FacebookToolkit" target="_blank">Facebook Toolkit</a> that I like (implementation progress can be found in the <a href="http://anonsvn.mono-project.com/viewcvs/*checkout*/trunk/facebook-sharp/src/Mono.Facebook.Platform/NOTES?rev=89668" target="_blank">NOTES</a>). After getting some of the key Facebook calls implemented to support "Why are you awesome?" I figured I might as well give it a whirl and see if a "real" application would work on top of the library (it does).</p> <p>Thus far, all that were needed as far as library calls were: <ul> <li>feed.publishActionOfUser</li> <li>notifications.send</li> <li>fql.query</li> <li>profile.setFBML</li> </ul> <p>A couple of the things I've found thus far in my work have been, that writing a library that you <strong>have</strong> to use forces you to think about what you add and what you remove a lot more and focus on simplicity and extensibility; secondly, JSON is much faster, meaning I can do things with the Mono.Facebook.Platform library that I couldn't with the XML-based PHP4/5 library. Operations like fetching the user IDs of all 700 friends of mine complete in a timely fashion under the JSON library, whereas they typically timeout with the XML-based libraries.<br /> <center><img src="http://unethicalblogger.com/files/awesome_feed.png"/></center></p> <p>The Mono.Facebook.Platform library isn't even alpha, it's in negative greek letters right now, there's not enough of the API implemented, and it doesn't handle errors very well at all, so don't use it. When it's finished however, I intend to support over 90% of the Facebook calls, and offer it up as a faster, viable option, for ASP.NET developers on Windows and on Mono.</p> <p>Of course if you want to check out "Why are you awesome?", head on over to the <a href="http://apps.facebook.com/whyareyouawesome/">application page</a> and install it.<br /> <!--break--></p> http://unethicalblogger.com/posts/r_tyler_ballance/why_are_you_awesome_meet_mono#comments Facebook Mono Thu, 15 Nov 2007 13:57:12 +0000 R. Tyler Croy 136 at http://unethicalblogger.com Bug Number Seven http://unethicalblogger.com/posts/r_tyler_ballance/bug_number_seven <p>One of my favorite Facebookers, Ari Steinberg, just resolved <a href="http://bugs.developers.facebook.com/show_bug.cgi?id=7">bug #7</a> in Facebook's <a href="http://bugs.developers.facebook.com">bugzilla</a>.</p> <blockquote><p><em>LIMIT, OFFSET, and ORDER BY are all implemented.<br /> docs at <a href="http://developers.facebook.com/documentation.php?v=1.0&amp;doc=fql ">http://developers.facebook.com/documentation.php?v=1.0&amp;doc=fql </a> are updated. enjoy guys, and let me know if there are any problems with it. tyler, don't go too crazy with it...keep in mind that order by in particular can be an expensive operation (but do try it out - when used in the appropriate ways it could lead to a savings)</em></p></blockquote> <p>When used correctly, LIMIT, OFFSET and ORDER BY can really make writing application-level code <strong>much</strong> easier, because you're offloading a lot more onto Facebook. For example, instead of fetching an entire list of people (presumably friends) and then sorting by their name, you can perform a query like:</p> <div style="margin-left: 15px; font-weight: bold; font-family: monospace;">SELECT uid,name FROM user WHERE uid IN (SELECT uid1 FROM friend WHERE uid2 = <em>$UID</em>) ORDER BY name</div> <p>This query will fetch an alphabetically sorted list of <strong><em>$UID</em></strong>'s friends along with their uid, preventing any sorting you might need to do.</p> <p>Make sure you check the <a href="http://developers.facebook.com/documentation.php?v=1.0&amp;doc=fql">FQL documentation</a> for which "columns" are keyed such that you perform the most optimal queries possible. Of course, you should already make sure you're selecting as often as possible on keyed "columns" in FQL, but when you're offloading large amounts of sorting onto Facebook's API servers, it becomes more important to form optimal queries to make sure that you can fetch data from Facebook as fast as possible and render your application's pages.</p> <p>Another fun query that becomes more fun with ORDER BY is fetching events for a particular user:</p> <div style="margin-left: 15px; font-weight: bold; font-family: monospace;">SELECT eid, name FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = <em>$UID</em>) ORDER BY name</div> <p>This of course is using ORDER BY on the event.name "column" which is not keyed so it will theoretically perform slower than the example above, but it's far less likely that a user will have thousands of events versus thousands of friends, so the real-world performance hit will be negligible.<br /> <br/></p> <p>As as side note, Ari was on stage with me at Graphing Social, helping me give the <a href="http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop">Facebook App Development 101 workshop</a> a few weeks ago. You can regularly find him cruising through bugzilla and every so often on the #facebook channel on Freenode.<br /> <!--break--></p> http://unethicalblogger.com/posts/r_tyler_ballance/bug_number_seven#comments Facebook Thu, 08 Nov 2007 11:16:40 +0000 R. Tyler Croy 135 at http://unethicalblogger.com A note to my Graphing Social "students" http://unethicalblogger.com/posts/r_tyler_ballance/a_note_to_my_graphing_social_students <p>I figured I'd inform anybody that attended my <a href="http://unethicalblogger.com/posts/r_tyler_ballance/facebook_app_development_101_wrap_up">Facebook App Development 101</a> workshop at Graphing Social, that I have finally deleted the workshop test accounts that were located at workshop.monkeypox.org.</p> <p>I have made a backup of the database that we used to play around with the "Why are you awesome?" source code, and I have also backed up the files, so in case you forgot to get your modified files drop me a line and I'll fish your data out.</p> http://unethicalblogger.com/posts/r_tyler_ballance/a_note_to_my_graphing_social_students#comments Facebook Tue, 06 Nov 2007 08:51:01 +0000 R. Tyler Croy 133 at http://unethicalblogger.com The SuperPoke Facebook Song http://unethicalblogger.com/posts/r_tyler_ballance/the_superpoke_facebook_song <p>We recently stumbled across this here at <a href="http://www.slide.com">Slide</a>, and it's pretty awesome, check it out, and of course, <a href="http://apps.facebook.com/superpokey/">check out SuperPoke!</a>.</p> <p><center></p> <div><embed src="http://widget-34.slide.com/widgets/sf.swf" type="application/x-shockwave-flash" quality="high" scale="noscale" salign="l" wmode="transparent" flashvars="cy=gn&amp;il=1&amp;channel=144115188088531764&amp;site=widget-34.slide.com" style="width:450px;height:356px" name="flashticker" align="middle"></embed><br /> <div style="width:450px;text-align:left;"><a href="http://www.slide.com/pivot?cy=gn&amp;ad=0&amp;id=144115188088531764&amp;map=C" target="_blank"><img src="http://widget-34.slide.com/q1/144115188088531764/gn_t000_v000_a000_f00/images/xslide8.gif" border="0" ismap="ismap" /></a> <a href="http://www.slide.com/pivot?cy=gn&amp;ad=0&amp;id=144115188088531764&amp;map=D" target="_blank"><img src="http://widget-34.slide.com/q2/144115188088531764/gn_t000_v000_a000_f00/images/xslide7.gif" border="0" ismap="ismap" /></a></div> </div> <p></center></p> <p>Thanks J. Michnovicz, L. Siegel, and E. Stuart!</p> http://unethicalblogger.com/posts/r_tyler_ballance/the_superpoke_facebook_song#comments Facebook Slide Thu, 25 Oct 2007 18:41:23 +0000 R. Tyler Croy 129 at http://unethicalblogger.com My new favorite chuckle http://unethicalblogger.com/posts/r_tyler_ballance/my_new_favorite_chuckle <p>Whenever discussing possible Facebook applications or some of the concepts involved in bringing a product into Facebook, I invariably hear a lot of:<br /> <div style="margin-left: 10px;">"<em>we want to do <strong>X</strong> because we've found college students respond well to <strong>Y</strong></em>"</div> <p>or<br /> <div style="margin-left: 10px;">"<em>college students </em>[on Facebook]<em> will love <strong>Z</strong></em>"</div> <p><br/><br /> Now, I don't mean to be too picky but there's a couple of problems with this: <ul> <li>Over 50% of Facebook is <strong>not</strong> in college</li> <li><em>Just how old do I look to you</em>?<sup><strong>*</strong></sup></li> </ul> <p>Seriously now.<br /> <br/><br/><br /> <br/><br /> <strong>*</strong> <small><em>I dropped out of college earlier this year, after winter semester</em></small><br /> <br/></p> http://unethicalblogger.com/posts/r_tyler_ballance/my_new_favorite_chuckle#comments Facebook Miscellaneous Wed, 24 Oct 2007 15:07:14 +0000 R. Tyler Croy 128 at http://unethicalblogger.com Widget Summit Slides http://unethicalblogger.com/posts/r_tyler_ballance/widget_summit_slides <p>I recently got off stage at <a href="http://widgetsummit.com/" target="_blank">Widget Summit</a> and figured I'd better post my slides before I get back to the grind at <a href="http://www.slide.com" target="_blank">Slide</a>. </p> <p>Unfortunately given some of the restraints on my personal and professional time, I couldn't come up with an entirely new presentation for this event but some of the concepts I've talked about at previous presentations and talks could be brought into this presentation. The audience here at Widget Summit was slightly different than previous talks so I needed to modify and remove some of the more developer-targeted content as it simply wasn't pertinent to this audience.</p> <p>In general I think the talk went reasonably well, with the sole exception of running about 10 minutes short of the allotted time because I talked too fast. It did however give me the opportunity to answer plenty of questions. I hope my slides are more informative than I think they will be by themselves, since I didn't have any presenter notes and was speaking impromptu almost the entire time. Enjoy?</p> <p><center><strong><a href="http://unethicalblogger.com/files/Facebook for Widgeteers.pdf">Facebook for Widgeteers</a> (PDF)</strong></center></p> http://unethicalblogger.com/posts/r_tyler_ballance/widget_summit_slides#comments Facebook Slide Tue, 16 Oct 2007 21:42:58 +0000 R. Tyler Croy 125 at http://unethicalblogger.com Speaking at Widget Summit http://unethicalblogger.com/posts/r_tyler_ballance/speaking_at_widget_summit <p>This upcoming tuesday (October 16th) <a href="http://widgetsummit.com/speakers/tylerballance/" target="_blank">I'll</a> be speaking on <A href="http://widgetsummit.com/sessions/facebook-development/" target="_blank">Facebook Development</a> to what will presumably be an audience of "widgeteers" (as I'll call them).<br /> According to Wikipedia, a <a href="http://en.wikipedia.org/wiki/Web_widget" target="_blank">web widget</a> is "<em>a portable chunk of code that can be installed and executed within any separate HTML-based web page by an end user without requiring additional compilation.</em>"</p> <p>Following this definition, most of <a href="http://www.slide.com">Slide's</a> products are "widgets" per se, but our Facebook applications don't necessarily fall under this category of "web things," as they are in a category unto themselves by integrating into the Facebook Platform whenever and wherever possible. </p> <p>I'll be speaking on some of the differences between normal "widget" development on the web in contrast to Facebook "apps." As the <a href="http://widgetsummit.com/sessions/facebook-development/" target="_blank">session page notes</a>, I'll be covering some of the topics like: <ul> <li>Walk-through the functionality of a basic Facebook application.</li> <li>A brief explanation of Facebook networks including cities, colleges, companies, and groups of friends.</li> <li>The benefits of Facebook markup over a fully-hosted solution.</li> <li>Enabling important integration points such as user dashboard, user profile, and social news feed.</li> <li>When to use requests and alerts, and the proper etiquette for these interactions.</li> </ul> <p>I'm really looking forward to talking in a slightly different capacity than usual, as "my usual audience" is developers who are really interested in Facebook application development at other venues like at <a href="http://unethicalblogger.com/posts/r_tyler_ballance/facebook_app_development_101_wrap_up">Graphing Social</a>, the <a href="http://unethicalblogger.com/posts/r_tyler_ballance/facebook_developer_garage_wrap_up">Facebook Developer Garage: Palo Alto</a> and other <a href="http://unethicalblogger.com/posts/r_tyler_ballance/another_facebook_developer_meetup">mini-conferences</a>, <a href="http://unethicalblogger.com/posts/r_tyler_ballance/unofficial_facebook_hackathon_in_palo_alto">hackathons</a>, and <a href="http://unethicalblogger.com/posts/r_tyler_ballance/unofficlal_facebook_developers_meetup_boston">meetups</a>. At <a href="http://widgetsummit.com/" target="_blank">Widget Summit</a> I'll be speaking about a bit higher-level concepts, indirectly related to development, to an audience of product managers, entrepreneurs and folks generally interested in how to get in on the Facebook Platform.<br /> <!--break--><br /> Widget Summit will be at the Mission Bay Conference Center at UCSF is located at 1675 Owens Street, just off the 280 freeway in San Francisco (<a href="http://widgetsummit.com/attend/plan/" target="_blank">directions</a>). I'm really looking forward to the event, if you can make it out today, our fearless leader <a href="http://max.slide.com" target="_blank">Max Levchin</a> will be giving a <a href="http://widgetsummit.com/sessions/max-levchin-slide/" target="_blank">keynote of sorts</a> this morning at 10 a.m. which should definitely be insightful and entertaining to say the least. I'll be there tuesday to speak, so if you can make it, come for both days!</p> http://unethicalblogger.com/posts/r_tyler_ballance/speaking_at_widget_summit#comments Facebook Miscellaneous Slide Mon, 15 Oct 2007 12:36:41 +0000 R. Tyler Croy 124 at http://unethicalblogger.com Google Search Inside of Facebook http://unethicalblogger.com/posts/r_tyler_ballance/google_search_inside_of_facebook <p>A couple of days ago I found out that you could <A href="http://googlesystem.blogspot.com/2006/11/secret-google-json-api.html">get Google results in JSON</a> while poking around for simple JSON APIs that I could use for miscellaneous hacks. </p> <p>I was thinking of all the fun things I could do with search results, and finally settled today on the most ridiculous one possible, searching from within Facebook. About an hour's worth of PHP5 later, I present <a href="http://apps.facebook.com/omfgsearch/index.php">Search!</a>, another ridiculous example application. <center><a href="http://unethicalblogger.com/files/omfgsearch_home.jpg" rel="lightbox"><img width="450" src="http://unethicalblogger.com/files/omfgsearch_home.jpg" border="0"/></a></center><br /> Unlike my previous <a href="http://unethicalblogger.com/posts/r_tyler_ballance/introducing_why_are_you_awesome">"Why are you awesome?"</a> demonstration application, Search! doesn't really integrate into Facebook nearly as much. Search! doesn't post to the profile, send notifications, or do much more than provide an easy means of sharing search links via your "Posted Items" or sending them along in a message to a friend on Facebook.</p> <p><strong>Searching with Search!</strong><center><a href="http://unethicalblogger.com/files/omfgsearch_query.jpg" rel="lightbox"><img width="450" src="http://unethicalblogger.com/files/omfgsearch_query.jpg" border="0"/></a></center></p> <p><strong>Sharing search results</strong><center><a href="http://unethicalblogger.com/files/omfgsearch_share.jpg" rel="lightbox"><img width="450" src="http://unethicalblogger.com/files/omfgsearch_share.jpg" border="0"/></a></center></p> <p>I can make no claims to this being a "<strong>good</strong>" application by any means, I just really felt the need to write something ridiculous, and this is what came out. The source code can be considered public domain, but I would appreciate attribution if you spread this super-mega-awesome code.</p> <p><center><strong><a href="http://apps.facebook.com/omfgsearch/index.php">Install Search!</a> | <a href="http://unethicalblogger.com/files/omfgsearch.zip">Search! Source Code</a></strong></center><br /> <!--break--></p> http://unethicalblogger.com/posts/r_tyler_ballance/google_search_inside_of_facebook#comments Facebook Miscellaneous Sat, 13 Oct 2007 23:37:24 +0000 R. Tyler Croy 123 at http://unethicalblogger.com Remix 07 Boston Wrap-up http://unethicalblogger.com/posts/r_tyler_ballance/remix_07_boston_wrap_up <p>Earlier this week, following <a href="http://unethicalblogger.com/posts/r_tyler_ballance/conference_season_communitynext_platform">CommunityNext</a> and <a href="http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop">Graphing Social</a> I was lucky enough to have been asked out to Boston for <a href="http://www.remix07boston.com/">Remix 07 Boston</a>. After receiving the necessary flack from my co-workers at <a href="http://www.slide.com">Slide</a> (primarily a Python/Linux shop), I boarded a plane late Sunday night to arrive <strong>extremely</strong> early on Monday morning (6a.m. isn't my best hour). </p> <p>Upon arrival to the Hyatt Regency Cambridge, I found out that I had access to the Media Room, which allowed me to recharge my laptop and plug into a hard-wired connection such that I was able to write up a <a href="http://unethicalblogger.com/posts/r_tyler_ballance/in_boston_at_remix_phew">few</a> <a href="http://unethicalblogger.com/posts/r_tyler_ballance/miguel_questions_the_manhood_of_400_microsoft_developers_awesome">blog</a> <a href="http://unethicalblogger.com/posts/r_tyler_ballance/miguel_de_icazas_remix_07_boston_keynote_address">posts</a> from the conference itself. Having such access also allowed me to work on some sample Silverlight applications that I'll write up over the weekend covering Silverlight and IronPython. </p> <p>While I enjoyed the sessions, such as Miguel's session on Moonlight and Mono and another session on the DLR and dynamic languages, what I enjoyed most was the ability to pick the brains of some of the folks there. Specifically guys like <a href="http://www.brethorsting.com/">Aaron Brethorst</a>, who works a lot on Microsoft Popfly's interface among other things, who let me question just about everything under the sun with regards to Popfly while still maintaining that I really like the application and its potential.</p> <p>I also really enjoyed meeting up with <a href="http://tirania.org/blog/index.html">Miguel</a> and his crew at Novell (<a href="http://abock.org/">Aaron Bockover</a> and <a href="http://mjhutchinson.com/journal/category/mono/0">Michael Hutchinson</a>) after Miguel was kind enough to take me to a late lunch and then show me around Novell's Boston office. I also think Miguel successfully guilted me into contributing more code that I've been putting off for so long, like my Mono.Nat NAT-PMP code, Mono.Facebook.Platform, and some patches for System.Web.Script.Serialization; all of which I have neglected in the difficult search for a good night's rest, or the perfect ping-pong serve against co-workers.</p> <p>I still look and feel mostly dead from exhaustion, but not dead enough not to continue pounding away on <a href="http://apps.facebook.com/topeight/">everybody's favorite Facebook app</a>, or working on some of the other really cool things that we work on here at Slide (<a href="http://www.slide.com/pic_arrange">bubble text!</a>). In the valley, everybody knows who Slide is now, everybody knows what's going on with Facebook, and an extremely small subset of people that matter know who I am; but on the east coast, far fewer understand what's going on right now on "that college social network, right?"</p> <p>Miguel said he doesn't install Facebook applications citing the near-complete opacity of the security and data-storage policy to the end-user, but maybe now that he's met me, and knows who's behind it, he'll install Top Friends and I'll finally be able to claim that Miguel uses something that I wrote, instead of the usual case of vice versa.</p> <p><strong>Note to self:</strong> Travel back to Boston, soon.</p> http://unethicalblogger.com/posts/r_tyler_ballance/remix_07_boston_wrap_up#comments Facebook Miscellaneous Mono Slide Fri, 12 Oct 2007 08:51:28 +0000 R. Tyler Croy 122 at http://unethicalblogger.com Unofficlal Facebook Developers Meetup: Boston http://unethicalblogger.com/posts/r_tyler_ballance/unofficlal_facebook_developers_meetup_boston <p>During the insane array of things that have been/are going on these past couple days, I have neglected to mention that I'll be organizing another Unofficial Facebook Developers Meetup, this time in Boston.</p> <p>The Facebook event can <a href="http://www.facebook.com/event.php?eid=5596961491">be found here</a>, and I am thinking we'll be striving to grab dinner and drinks tomorrow (Tuesday, October 9th) in the Cambridge area since that seems to be central enough for everybody to come.</p> <p>Zach Allia, of Free Gifts fame, myself, as well as a few independent Facebook developers have already RSVP'd, but I'd love to see as a lot more Facebook developers, or those just interested in the platform, come out and join us to discuss some Facebook platform related things, pick each others' brains, and throw back a pint of Sam Adams.</p> <p>The venue hasn't really been decided yet, I'm debating between a couple different resturants in Cambridge, so if you have any suggestions, by all means bring it up. Regardless, if you're in the Boston area, come on out, it should be lots of fun.</p> http://unethicalblogger.com/posts/r_tyler_ballance/unofficlal_facebook_developers_meetup_boston#comments Facebook Mon, 08 Oct 2007 15:53:54 +0000 R. Tyler Croy 120 at http://unethicalblogger.com Facebook App Development 101 Wrap-up http://unethicalblogger.com/posts/r_tyler_ballance/facebook_app_development_101_wrap_up <p>In addition to <a href="http://unethicalblogger.com/posts/r_tyler_ballance/why_are_you_awesome_source_code">posting the source code</a> for the application I wrote specificaly for <a href="http://graphingsocial.com/">Graphing Social</a> (<a href="http://apps.facebook.com/whyareyouawesome/">"Why are you awesome?"</a>) I also figured I should post my slides from the two hour or so session, which was composed of much more discussion and suggestions from Ari Steinberg (a Facebook Platform developer) and myself on developing on the platform and some of the intricacies involved. <a href="http://blog.geekdaily.org">Gary Lerhaupt</a> did a good job of "<a href="http://blog.geekdaily.org/2007/10/live-blogging-g.html">live blogging (part one)</a>" (<a href="http://blog.geekdaily.org/2007/10/live-blog-graph.html">part two</a>) the workshop if you're interested in the play-by-play.</p> <p>In theory there should be video soon so "stay tuned" (get it!) and I'll be sure to either post or link appropriately.</p> <p>Regardless, I hope you can at least find the presentation informative if you couldn't be here.</p> <p><strong><a href="http://unethicalblogger.com/files/Facebook App Development 101.pdf">Facebook App Development.pdf</a></strong></p> <p>In general I really enjoyed presenting and answering questions from some folks in the audience who were really keen on squeezing as much knowledge out of my pea-sized brain as possible. Unfortunately I can't stay for the next two days of Graphing Social, as I'm off to <a href="http://unethicalblogger.com/posts/r_tyler_ballance/remix_07_boston_woohoo">ReMix 07 Boston</a> and some Silverlight hackery!</p> http://unethicalblogger.com/posts/r_tyler_ballance/facebook_app_development_101_wrap_up#comments Facebook Slide Sun, 07 Oct 2007 23:21:34 +0000 R. Tyler Croy 117 at http://unethicalblogger.com "Why are you awesome? Source Code http://unethicalblogger.com/posts/r_tyler_ballance/why_are_you_awesome_source_code <p>I got off-stage just a few moments ago, but since Dave McClure already <a href="http://graphingsocial.com/2007/10/07/tyler_ari_awesome/" target="_blank">blogged about it</a>, I would go ahead and post the source code so Dave could link to it.</p> <p><strong><a href="http://unethicalblogger.com/files/Whyareyouawesome.zip">"Why are you awesome?" source code</a></strong></p> <p>The version of the client that the code is using, is specifically for PHP4, you can just replace the client/ folder with the <a href="http://developers.facebook.com/clientlibs/facebook-platform.tar.gz">PHP5 version</a> depending on your host settings. The source code also includes the database schema that "Why are you awesome?" expects. </p> <p>Happy hacking, and <a href="http://apps.facebook.com/whyareyouawesome/index.php" target="_blank">add the app!</a></p> http://unethicalblogger.com/posts/r_tyler_ballance/why_are_you_awesome_source_code#comments Facebook Sun, 07 Oct 2007 22:12:44 +0000 R. Tyler Croy 116 at http://unethicalblogger.com Introducing: "Why are you awesome?" http://unethicalblogger.com/posts/r_tyler_ballance/introducing_why_are_you_awesome <p>As I <a href="http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop" target="_blank">previously mentioned</a>, I'll be teaching a workshop on "developing your first Facebook application" tomorrow at the <a href="http://graphingsocial.com/" target="_blank">Graphing Social</a> conference in San Jose. I figured, what better way to explain building your first Facebook app then to write one! Why the hell not right? So last thursday night I cleaned the dust off my pathetic PHP skills and set to work to create an application in a couple hours, that I could use as a tool for teaching the "basics" of Facebook application development.</p> <h3>Behold, awesomeness</h3> <p><center><a href="http://apps.facebook.com/whyareyouawesome" target="_blank"><img src="http://unethicalblogger.com/files/awesome_about.jpg" border="0"/></a></center></p> <p><a href="http://apps.facebook.com/whyareyouawesome" target="_blank">Why are you awesome?</a> is a relatively simple application that follows the self-importance of Twitter, but adds the "social graph", and voting capabilities. Using "Why are you awesome?" I hope to convey in a marginally basic sense some of the core concepts behind rendering FBML pages, making use of notifications/feed posts/invitations and Mock AJAX from the profile.</p> <p>I won't disclose too much before the presentation (not that anybody will see this before the presentation), but I'm <strong>extremely</strong> happy with what about 4 hours of morning hacking has garnered me, and the possibilities of the application.</p> <p>You know what, let's see that super-mega-hot interface one more time.</p> <p><center><a href="http://unethicalblogger.com/files/awesome_home.jpg" rel="lightbox"><img src="http://unethicalblogger.com/files/awesome_home.jpg" width="450" border="0"/></a></center></p> http://unethicalblogger.com/posts/r_tyler_ballance/introducing_why_are_you_awesome#comments Facebook Software Development Sun, 07 Oct 2007 06:02:07 +0000 R. Tyler Croy 115 at http://unethicalblogger.com Conference Season: CommunityNext Platform http://unethicalblogger.com/posts/r_tyler_ballance/conference_season_communitynext_platform <p>As luck would have it, I'm currently masquerading as <a href="http://max.slide.com" target="_blank">Max</a> at <a href="http://www.communitynext.com" arget="_blank">CommunityNext</a> in Sunnyvale. The underlying drive behind the entire event is to discuss some of the intricacies behind a locked-down platform like Facebook's. CommunityNext is interesting in that Noah Kagan, one of the organizers, did a <em>really</em> good job of finding, and bringing a lot of the upper tier Facebook Platform developers to Silicon Valley from Philadelphia, Boston, New York City, etc. </p> <p>If nothing else, CommunityNext is rumored to have great parties, and there just so happens to be a <a href="http://www.communitynext.com/schedule/" target="_blank">BBQ later today</a> down here in Sunnyvale. It's somewhat late to suggest that everybody I know to attend, so I'll just mention that you're missing some good fun in South Bay, and leave it at that.</p> http://unethicalblogger.com/posts/r_tyler_ballance/conference_season_communitynext_platform#comments Facebook Slide Sat, 06 Oct 2007 18:03:18 +0000 R. Tyler Croy 114 at http://unethicalblogger.com Graphing Social, Building your first app workshop. http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop <p>As one of the developers behind a big Facebook application or three (<a href="http://apps.facebook.com/topeight/" target="_blank">1</a>, <a href="http://apps.facebook.com/fortunate" target="_blank">2</a>, <a href="http://apps.facebook.com/famousquotes" target="_blank">3</a>), I've tried to share the love as much as possible. I can be found regularly on the #facebook channel on <a href="http://freenode.net/" target="_blank">Freenode</a> as well as in various <a href="http://www.samovartea.com/" target="_blank">tea lounges</a> and <a href="http://www.specialtysdirect.com/welcome.asp" target="_blank">bakeries</a>. Through our <a href="http://unethicalblogger.com/indie_app_promotion_on_top_friends" target="_blank">Indie App Promotion in Top Friends</a> and some other projects still developing, I'm trying my best to help ease the transition from web developer, to Facebook Platform developer as much as possible for my fellow hackers out there.</p> <p>So, partially because my <a href="http://www.slide.com" target="_blank">employer</a> has been gracious enough to allow me, and because <a href="http://500hats.typepad.com/" target="_blank">Dave McClure</a> has given me the opportunity, I will be hosting a <a href="http://graphingsocial.com/workshops/" target="_blank">workshop</a> at the <a href="http://graphingsocial.com/" target="_blank">Graphing Social</a> conference in San Jose, CA, this upcoming Sunday. </p> <p>The workshop is titled "<strong>Facebook App Dev 101: Intro to Platform / Building Your First App</strong>." In the first half of the workshop I'll cover some of the basics, with an introduction to the Facebook Platform, some Facebok Platform developer resources that are available, and then I'll touch on the various frameworks available for the Facebook Platform ranging from Facebook's PHP4/5 client library, to PyFacebook (Python), rfacebook (Ruby), and the Facebook Developer Toolkit (.NET). The second half of the workshop will cover building a sample application from the ground up, i.e. from setting up the developer version of the application as well as the live version, to writing a basic feed-postin', invitin', profile updatin' Facebook application in PHP and finally to running some basic tests and setting up basic metrics for the application.</p> <p>Regardless of whether the workshop is recorded on video (it's going to be two, hour and fifteen minute, sessions, so most likely not), I'll be sure to post my "workshop materials" here after the fact. Hopefully they become as useful to novice Facebook Platform application developers as I hope my previous presentation "<a href="http://unethicalblogger.com/posts/r_tyler_ballance/facebook_developer_garage_wrap_up" target="_blank">Coping with Success</a>" (<a href="http://unethicalblogger.com/posts/r_tyler_ballance/video_facebook_developer_garage" target="_blank">video</a>) has been.</p> <p>If you're in the Bay Area, I would highly recommend at the coming to Graphing Social as most of the bigger players on the Facebook Platform will be there, and it should definitely be an interesting conference, and if you're a developer who wants to get the scoop on developing Facebook Platform applications, be sure to come to the super-mega-awesome workshops we'll be doing this Sunday preceding the two main days of the conference. </p> <p>Hope to see you there :)</p> http://unethicalblogger.com/posts/r_tyler_ballance/graphing_social_building_your_first_app_workshop#comments Facebook Slide Wed, 03 Oct 2007 10:08:29 +0000 R. Tyler Croy 113 at http://unethicalblogger.com Popfly. How to lose the buzz. http://unethicalblogger.com/posts/r_tyler_ballance/popfly_how_to_lose_the_buzz <p>I remember watching a Channel 9 interview about <A href="http://www.popfly.com" target="_blank">Popfly</a> with my coworker and former landlord <a href="http://stuffonfire.com/" target="_blank">David Young</a> just after the original Facebook F8 Platform Launch back in May, laughing hysterically at a user-interface that used <a href="http://unethicalblogger.com/files/grassy_fly.jpg" rel="lightbox">grass as an interface element</a>, but at the same time thinking it was a <strong>very</strong> cool use of Silverlight as an application platform, instead of a Microsoft reply to Flash. Since that fateful day in May when a Microsoft Vice President of Business Development unveiled Popfly (exactly who should be unveiling a developer tool), I've heard close to absolutely nothing about Popfly, but loads about Silverlight. </p> <p>Waiting to build a new version of Mono from trunk, I figured I'd check it out again, hoping their ludicrous "private beta" period would have passed, and I could finally use the technology that was unveiled almost 5 whole months ago. Alas, despite having the Silverlight plugin for Safari, <a href="http://unethicalblogger.com/files/popfly_safari.jpg" rel="lightbox">popfly.com doesn't support Safari</a> (I thought people wrote cross-platform web pages these days). Admitting my defeat, I popped open my VMWare instance of Windows XP, and Internet Exploder 7, only to discover that yes, <a href="http://unethicalblogger.com/files/popfly_ie.jpg" rel="lightbox">Popfly is still invite-only</a> <strong>or</strong> they're having server difficulties? Despite their <a href="http://www.popfly.com/Overview/About.aspx" target="_blank">about page</a> jokingly referring to themselves as the developers behind products like Microsoft Bob, I'm starting to wonder if they weren't joking, as Popfly's introduction at F8 was either woefully premature or Microsoft decided that a developer environment where you draw lasers in-between boxes that <a href="http://unethicalblogger.com/files/boxes_and_such_ib.jpg" rel="lightbox">represent stuff is too silly.</a></p> <p>All my criticisms aside, the product does look interesting enough for me to be excited about the Popfly session at <a href="http://www.remix07boston.com/Agenda.aspx" target="_blank">ReMix Boston '07</a> in October, if for no other reason than to ask for an invite, and maybe even <strong>wtf?</strong> </p> <p>Given the insane amount of buzz around the Facebook Platform, and independent developers struggling to get cool applications into users' hands fast enough, Microsoft screwed up royally on a chance to sow the seeds of the next generation of developers on the web with Microsoft technologies. </p> <p>Dear 800lb Gorilla,<br /> When you announce something at a tech event that could possibly turn out to be industry changing like the Facebook Platform Launch, actually have the product ready for people to start using, otherwise, why bother?</p> http://unethicalblogger.com/posts/r_tyler_ballance/popfly_how_to_lose_the_buzz#comments Facebook Mono Opinion Thu, 27 Sep 2007 10:43:54 +0000 R. Tyler Croy 110 at http://unethicalblogger.com (Unofficial) Facebook Hackathon in Palo Alto http://unethicalblogger.com/posts/r_tyler_ballance/unofficial_facebook_hackathon_in_palo_alto <p>Rumor has it that there will be a <a href="<a href="http://www.facebook.com/event.php?eid=5484699351" target="_blank">little meetup in Palo Alto tomorrow</a> to hack on some Facebook applications. The hackathon will be at Happy Donuts in Palo Alto, which is a hop skip and a jump away from the California Ave. Caltrain stop. I am planning on attending to hack on my <a href="http://apps.facebook.com/bugtracker" target="_blank">Bug Tracker</a> application (written in ASP.NET on <a href="http://www.mono-project.com" target="_blank">Mono</a>, which I will dissect and discuss later) as well as help out anybody that needs a good kick in the pants. Other than that however, it should be interesting how many folks show up and for what reasons, I'd like to discuss and share some of our sicker FBML hacks and maybe collectively play with (read: break) the <a href="http://wiki.developers.facebook.com/index.php/Data_Store_API_documentation" target="_blank">Facebook Data Store API</a>. Should be fun, come down and hang out :)<br /> <center><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=d&amp;hl=en&amp;geocode=4023426035697166920,37.428388,-122.143078&amp;saddr=37.428763,-122.142649&amp;daddr=3916+El+Camino+Real,+Palo+Alto,+CA&amp;mrcr=0&amp;mrsp=0&amp;sz=15&amp;mra=dme&amp;sll=37.422705,-122.13781&amp;sspn=0.019563,0.036092&amp;ie=UTF8&amp;om=1&amp;ll=37.422705,-122.13781&amp;spn=0.019563,0.036092&amp;output=embed&amp;s=AARTsJrt5-ZPoDKn4-9ZqrhWR7lp2olzLg"></iframe></center></p> http://unethicalblogger.com/posts/r_tyler_ballance/unofficial_facebook_hackathon_in_palo_alto#comments Facebook Sat, 22 Sep 2007 06:33:58 +0000 R. Tyler Croy 108 at http://unethicalblogger.com