Home

Archive for the ‘Web Development’ Category

C#: Returning an array via webservice with derived classes

Thursday, November 20th, 2008

Here’s a neat little thing I learned today. I was writing a WebMethod for a WebService I’m working on for ScribbleLive. The return type is an array of Post objects.

[WebMethod]
public Post[] GetPostsSince( int ThreadId, DateTime Since )
{ ... }

But sometimes the array actually has objects of the type Comment, that is a derived class of Post. When I tried tried it out, it threw this exception:

System.InvalidOperationException: There was an error generating the XML document. —> System.InvalidOperationException: The type Comment was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.

The problem is that the Serializer doesn’t know about the Comment class until runtime, and it throws a tantrum. Luckily, the fix is just to put a directive in there to make sure it knows that the Comment class may be used.

In my case, I just added the XmlInclude directive right about my Post class declaration like this:

[Serializable()]
[XmlInclude( typeof( Comment ) )]
public class Post
{ ... }

And that did the trick! I hope this is helpful for someone else :)

Best way to find domain hacks

Monday, November 17th, 2008

With the .COM domain now having over 21M registered domain names, it’s impossible incredibly difficult to find a good domain name that hasn’t been snapped up by a squatter. More and more people are turning to domain hacks (e.g. del.icio.us) to get the domain of their dreams…well, their second choice at least ;)

Here’s a tool that makes it a little easier to find a domain hack that works. But a good way to start might be to look at the domain extensions that are available (below) and work backwards. Like I said, .COM has about 21M registered domain names, but there’s some new ones that have less than one hundred registrations. For example, letsdi.sh is available or wobb.ly.

I give each of these domains about a year until the squatters completely corrupt them too, so get out there and register! :) Good luck!

Rank Domain Registered Comments Designation  
1 .COM 21,336,063   Commercial
2 .DE 5,459,604   Germany / Deutschland
3 .NET 3,631,270   Network
4 .CO.UK 3,080,659   UK Commercial
5 .ORG 2,333,855   Organization
6 .INFO 828,223   Information
7 .IT 681,779   Italy
8 .BIZ 666,399   Business
9 .NL 617,045   The Netherlands *
10 .CC 581,147   Cocos (Keeling) Islands *
11 .TV 473,168   Tuvalu *
12 .COM.AR 463,571   Argentina
13 .CH 442,512   Switzerland *
14 .BR 406,355   Brazil
15 .CO.KR 403,556   Korea, Republic of (South)
16 .DK 378,996   Denmark *
17 .US 315,215   United States
18 .CA 272,071   Canada
19 .COM.AU 254,168   Australia Commercial *
20 .WS 253,029   Samoa *
21 .CO.JP 231,478   Japan Commercial *
22 .ORG.UK 220,162   UK Organization
23 .BE 189,634   Belgium
24 .CZ 161,478   Czech Republic
25 .NO 161,250   Norway
26 .AT 156,492   Austria
27 .FR 154,067   France *
28 .PL 139,085   Poland
29 .RU 137,504   Russia
30 .CO.NZ 132,264   New Zealand Commercial
31 .GA.JP 130,237   Japan (ASCII characters) *
32 .COM.CN 105,468   China Commercial
33 .SE 102,000   Sweden
34 .COM.TW 93,480   Taiwan Commercial
35 .CL 76,077   Chile
36 .TO 70,916   Tonga
37 .COM.MX 63,842   Mexico Commercial
38 .GP.JP 61,889   Japan (japanese characters) *
39 .CO.IL 58,300   Israel Commercial
40 .COM.HK 55,086   Hong Kong Commercial
41 .SK 49,644   Slovakia
42 .ES 36,539   Spain
43 .FI 34,674   Finland
44 .SCH.UK 31,678   UK School
45 .PE.KR 30,899   Korea Personal *
46 .RO 30,369   Romania
47 .MS 29,949   Montserrat
48 .AS 28,614   American
49 .IE 27,207   Ireland *
50 .COM.TR 26,154   Turkey Commercial
51 .PT 24,578   Portugal
52 .OR.KR 19,959   Korea Organization
53 .NE.JP 19,520   Japan Network *
54 .IDV.TW 18,221   Taiwan Network
55 .NET.CN 17,584   China
56 .LI 15,607   Liechtenstein *
57 .OR.JP 14,586   Japan Organization *
58 .LT 13,444   Lithuania
59 .LTD.UK 12,518   UK Private Limited Company
60 .EE 12,105   Estonia
61 .SI 11,169   Slovenia
62 .GR.JP 11,167   Japan Arbitrary Organization *
63 .HR 9,584   Croatia
64 .CO 8,673   Colombia
65 .NET.AR 8,477   Argentina Network
66 .PK 8,325   Pakistan
67 .IS 7,769   Iceland
68 .EDU 7,329   Educational
69 .TC 7,184   The Turks & Caicos Islands
70 .FM 6,790   Micronesia
71 .ORG.AR 6,532   Argentina Organization
72 .ME.UK 5,766   UK Personal
73 .AC 4,954   Ascension Island
74 .VG 4,434   Virgin Islands British
75 .GG 4,132   Guernsey
76 .KZ 4,092   Kazakhstan
77 .EDU.TW 4,048   Taiwan Educational
78 .NET.TW 3,768   Taiwan Network
79 .GT 3,392   Guatemala
80 .JE 3,313   Jersey
81 .GS 3,211   South Georgia and the South Sandwic
82 .TM 3,079   Turkmenistan
83 .MK 2,962   Macedonia
84 .ORG.MX 2,944   Mexico Organization
85 .SH 2,905   St. Helena
86 .VU 2,832   Vanuatu
87 .AM 2,660   Armenia
88 .LY 2,292   Libyan Arab Jamahiriya
89 .NE.KR 2,197   Korea Network
90 .CO.IN 2,159   India
91 .AZ 2,101   Azerbaijan
92 .BM 2,013   Bermuda
93 .CO.HU 1,959   Hungry Commercial
94 .LK 1,927   Sri Lanka
95 .BG 1,856   Bulgaria
96 .GL 1,584   Greenland
97 .PLC.UK 1,559   UK Public Limited Company
98 .GOB.MX 1,479   Mexico Global
99 .EDU.MX 1,422   Mexico Educational
100 .GOV 1,342   US GOV
101 .BY 1,144   Belarus
102 .IM 994   Isle of Man
103 .MW 991   Malawi
104 .GOV.AR 969   Argentina Goverment
105 .DJ 955   Djibouti
106 .UG 927   Uganda
107 .SN 916   Senegal
108 .AD 874   Andorra
109 .GE 867   Georgia
110 .GM 851   Gambia
111 .FO 788   Faroe Islands
112 .MN 714   Mongolia
113 .SM 687   San Marino
114 .NET.MX 648   Mexico Network
115 .GI 535   Gibraltar
116 .COM.AI 523   Anguilla Commercial
117 .CI 461   C�te d’Ivoire
118 .GP 343   Guadeloupe
119 .ORG.IN 233   India Organization
120 .VI 218   Virgin Islands U.S
121 .MX 177   Mexico
122 .AC.IN 172   India Academic
123 .DZ 149   Algeria
124 .INT 94   International Organizations *
125 .GOV.IN 93   India
126 .NET.IN 88   India
127 .MIL 80   US Dept of Defense
128 .CM 79   Cameroon
129 .COM.AL 70   Albania Commercial
130 .RES.IN 55   India
131 .CV 51   Cape Verde (no URL)
132 .GOV.AL 50   Albania Government
133 .ORG.AL 36   Albania Organization
134 .AF 34   Afghanistan (no URL)
135 .EDU.AL 22   Albania Educational
136 .FIRM.IN 17   India
137 .GEN.IN 12   India
138 .MIL.IN 4   India
139 .IND.IN 2   India
140 .NET.AL 2   Albania Network
141 .AERO 0 coming in May Aviation
142 .COOP 0 coming in May Co-Operative Organizations
143 .MUSEUM 0 coming in May Museums
144 .NAME 0 coming in May Name
145 .AC.CR  Still Polling   Costa Rica Academic
146 .AC.FJ  Still Polling   Fiji Academic
147 .AE  Still Polling   United Arab Emirates
148 .AG  Still Polling   Antigua and Barbuda
149 .AQ  Still Polling   Antarctica
150 .AW  Still Polling   Aruba
151 .BB  Still Polling   Barbados
152 .BF  Still Polling   Burkina Faso
153 .BH  Still Polling   Bahrain
154 .BI  Still Polling   Burundi
155 .BIZ.FJ  Still Polling   Fiji Biz
156 .BS  Still Polling   Bahamas
157 .BZ  Still Polling   Belize *
158 .CD  Still Polling   Congo, Democratic republic of the
159 .CF  Still Polling   Central African Republic
160 .CG  Still Polling   Congo, Republic of
161 .CO.CR  Still Polling   Costa Rica Commercial
162 .CO.KE  Still Polling   Kenya Commercial
163 .COM.BM  Still Polling   Bermuda Commercial
164 .COM.BO  Still Polling   Bolivia Commercial
165 .COM.FJ  Still Polling   Fiji Commercial
166 .COM.MH  Still Polling   Marshall Islands Commercial
167 .COM.TN  Still Polling   Tunisia Commercial
168 .COM.YE  Still Polling   Yemen Commercial (no URL)
169 .CX  Still Polling   Christmas Island
170 .DO  Still Polling   Dominican Republic
171 .ED.CR  Still Polling   Costa Rica Educational
172 .EG  Still Polling   Egypt
173 .ET  Still Polling   Ethiopia
174 .FI.CR  Still Polling   Costa Rica Financial Sector
175 .GF  Still Polling   French Guiana
176 .GH  Still Polling   Ghana
177 .GO.CR  Still Polling   Costa Rica Government
178 .GOV.BO  Still Polling   Bolivia Government
179 .GOV.FJ  Still Polling   Fiji Government
180 .GOV.YE  Still Polling   Yemen Government (no URL)
181 .GQ  Still Polling   Equatorial Guinea
182 .GR  Still Polling   Greece
183 .HM  Still Polling   Heard and McDonald Islands
184 .ID  Still Polling   Indonesia
185 .IND.TN  Still Polling   Tunisia Industries
186 .INFO.FJ  Still Polling   Fiji Information
187 .INFO.TN  Still Polling   Tunisia Information
188 .INT.AR  Still Polling   Foreign Embassy in Argentina
189 .IO  Still Polling   British Indian Ocean Territory
190 .IR  Still Polling   Iran
191 .KG  Still Polling   Kyrgyzstan
192 .KH  Still Polling   Cambodia
193 .KW  Still Polling   Kuwait
194 .KY  Still Polling   Cayman Islands
195 .LA  Still Polling   Lao People’s Democratic Republic
196 .LB  Still Polling   Lebanon
197 .LC  Still Polling   Saint Lucia
198 .LS  Still Polling   Lesotho
199 .LU  Still Polling   Luxembourg
200 .LV  Still Polling   Latvia
201 .MA  Still Polling   Morocco
202 .MC  Still Polling   Monaco
203 .MD  Still Polling   Moldova
204 .MG  Still Polling   Madagascar
205 .MIL.AR  Still Polling   Argentina Military
206 .MIL.FJ  Still Polling   Fiji Military
207 .MIL.YE  Still Polling   Yemen Military (no URL)
208 .MM  Still Polling   Myanmar
209 .MO  Still Polling   Macau
210 .MP  Still Polling   Northern Mariana Islands
211 .MQ  Still Polling   Martinique
212 .MR  Still Polling   Mauritania
213 .MT  Still Polling   Malta
214 .MU  Still Polling   Mauritius
215 .MZ  Still Polling   Mozambique
216 .NA  Still Polling   Namibia
217 .NAME.FJ  Still Polling   Fiji Name
218 .NET.AI  Still Polling   Anguilla Network
219 .NET.BM  Still Polling   Bermuda Network
220 .NET.BO  Still Polling   Bolivia Network
221 .NET.FJ  Still Polling   Fiji Network
222 .NET.MH  Still Polling   Marshall Islands Network
223 .NET.TN  Still Polling   Tunisia Network
224 .NET.VN  Still Polling   Vietnam Network
225 .NET.YE  Still Polling   Yemen Network (no URL)
226 .NF  Still Polling   Norfolk Island
227 .NI  Still Polling   Nicaragua
228 .NP  Still Polling   Nepal
229 .NU  Still Polling   Niue *
230 .OFF.AI  Still Polling   Anguilla Offshore
231 .OM  Still Polling   Oman
232 .OR.CR  Still Polling   Costa Rica Organizations
233 .ORG.AI  Still Polling   Anguilla Organization
234 .ORG.BM  Still Polling   Bermuda Organization
235 .ORG.BO  Still Polling   Bolivia Organization
236 .ORG.FJ  Still Polling   Fiji Organization
237 .ORG.TN  Still Polling   Tunisia Organization
238 .ORG.VN  Still Polling   Vietnam Organization
239 .ORG.YE  Still Polling   Yemen Organization (no URL)
240 .PA  Still Polling   Panama
241 .PE  Still Polling   Peru
242 .PH  Still Polling   Philippines
243 .PM  Still Polling   St. Pierre and Miquelon
244 .PN  Still Polling   Pitcairn
245 .PRO.FJ  Still Polling   Fiji Pro
246 .PS  Still Polling   Palestine
247 .PY  Still Polling   Paraguay
248 .QA  Still Polling   Qatar
249 .RE  Still Polling   Reunion
250 .RW  Still Polling   Rwanda
251 .SA.CR  Still Polling   Costa Rica Health
252 .SB  Still Polling   Solomon Islands
253 .SCHOOL.FJ  Still Polling   Fiji School
254 .SD  Still Polling   Sudan
255 .SG  Still Polling   Singapore
256 .SO  Still Polling   Somalia
257 .SR  Still Polling   Surinam
258 .ST  Still Polling   Sao Tome and Principe
259 .SU  Still Polling   USSR (former)
260 .SZ  Still Polling   Swaziland
261 .TD  Still Polling   Chad
262 .TF  Still Polling   French Southern Territories
263 .TG  Still Polling   Togo
264 .TH  Still Polling   Thailand
265 .TJ  Still Polling   Tajikistan
266 .TK  Still Polling   Tokelau
267 .TP  Still Polling   East Timor
268 .TT  Still Polling   Trinidad and Tobago
269 .TZ  Still Polling   Tanzania
270 .UA  Still Polling   Ukraine
271 .UM  Still Polling   United States Minor Outlying Island
272 .UY  Still Polling   Uruguay
273 .UZ  Still Polling   Uzbekistan
274 .VC  Still Polling   Saint Vincent and the Grenadines
275 .WF  Still Polling   Wallis and Futuna Islands
276 .YT  Still Polling   Mayotte
277 .ZM  Still Polling   Zambia
278 .AI top level not used 4 second levels Anguilla
279 .AL top level not used 5 second levels Albania
280 .AN top level not used 0 second levels Netherlands
281 .AO top level not used 0 second levels Angola (no URL)
282 .AR top level not used 6 second levels Argentina
283 .AU top level not used 1 second levels Australia
284 .BA top level not used 0 second levels Bosnia
285 .BD top level not used 0 second levels Bangladesh (no URL)
286 .BN top level not used 0 second levels Brunei
287 .BO top level not used 4 second levels Bolivia
288 .BT top level not used 0 second levels Bhutan
289 .CK top level not used 0 second levels Cook Islands
290 .CN top level not used 2 second levels China
291 .CR top level not used 7 second levels Costa Rica
292 .CU top level not used 0 second levels Cuba
293 .CY top level not used 0 second levels Cyprus
294 .EC top level not used 0 second levels Ecuador
295 .ER top level not used 0 second levels Eritrea
296 .FJ top level not used 11 second levels Fiji
297 .GB top level not used 0 second levels Great Britain
298 .GN top level not used 0 second levels Guinea
299 .GU top level not used 0 second levels Guam
300 .HK top level not used 1 second levels Hong Kong
301 .HN top level not used 0 second levels Honduras
302 .HU top level not used 1 second levels Hungary
303 .IL top level not used 1 second levels Israel
304 .IN top level not used 10 second levels India
305 .JM top level not used 0 second levels Jamaica
306 .JP top level not used 6 second levels Japan
307 .KE top level not used 1 second levels Kenya
308 .KR top level not used 4 second levels Korea, Republic of (South)
309 .LR top level not used 0 second levels Liberia
310 .MH top level not used 2 second levels Marshall Islands
311 .ML top level not used 0 second levels Mali
312 .MY top level not used 0 second levels Malaysia
313 .NZ top level not used 1 second levels New Zealand
314 .PG top level not used 0 second levels Papua New Guinea
315 .PR top level not used 0 second levels Puerto
316 .SA top level not used 0 second levels Saudi
317 .SL top level not used 0 second levels Sierra (no URL)
318 .SV top level not used 0 second levels El Salvador
319 .TN top level not used 5 second levels Tunisia
320 .TR top level not used 1 second levels Turkey
321 .TW top level not used 4 second levels Taiwan
322 .UK top level not used 6 second levels United Kingdom
323 .VE top level not used 0 second levels Venezuela
324 .VN top level not used 2 second levels Vietnam
325 .YE top level not used 5 second levels Yemen (no URL)
326 .YU top level not used 0 second levels Yugoslavia
327 .ZA top level not used 0 second levels South Africa
328 .ZW top level not used 0 second levels Zimbabwe
329 .BJ 0 not in use Benin
(no URL)
330 .BV 0 not in use Bouvet Island
331 .BW 0 not in use Botswana
(no URL)
332 .CS 0 not in use Czechoslovakia (former non-existent) (no URL)
333 .DM 0 not in use Dominica
(no URL)
334 .EH 0 not in use Western Sahara
(no URL)
335 .FK 0 not in use Falkland Islands (no URL)
336 .GA 0 not in use Gabon
(no URL)
337 .GD 0 not in use Grenada
(no URL)
338 .GW 0 not in use Guinea-Bissau
(no URL)
339 .GY 0 not in use Guyana
(no URL)
340 .HT 0 not in use Haiti
(no URL)
341 .IQ 0 not in use Iraq
(no URL)
342 .JO 0 not in use Jordan
(no URL)
343 .KI 0 not in use Kiribati
(no URL)
344 .KM 0 not in use Comoros
(no URL)
345 .KN 0 not in use Saint Kitts and Nevis (no URL)
346 .KP 0 not in use Korea, Democratic People’s Republic (no URL)
347 .MV 0 not in use Maldives
(no URL)
348 .NC 0 not in use New Caledonia (no URL)
349 .NE 0 not in use Niger
(no URL)
350 .NG 0 not in use Nigeria
(no URL)
351 .NR 0 not in use Nauru
(no URL)
352 .PF 0 not in use French Polynesia
(no URL)
353 .PW 0 not in use Palau
(no URL)
354 .SC 0 not in use Seychelles
(no URL)
355 .SJ 0 not in use Svalbard and Jan Mayen Islands
356 .SY 0 not in use Syrian Arab Republic (no URL)
357 .VA 0 not in use Holy See (Vatican City State)
(no URL)
358 .ZR 0 not in use Zaire (non-existent, see Congo) (no URL)
  Total 46,061,532 0 All Major TLDs in the World

(Domain Counts provided by Domain Worldwide.com)

Google results now showing post counts and content insight

Monday, November 3rd, 2008

I’m not the first to notice this, but it looks like Google is playing with attaching some content insight into it’s search results. Search results for ScribbleLive liveblogs now have a little gray line of text under the title that says something like, “48 posts – Last post: 12 Aug.” They must be looking for repeating dates in the content, checking for a repeating HTML structure, and extracting the information. Very neat, indeed, Google :) I’m sure Matt would point-out that this is another benefit of using XHTML standards (or close to them).

It kinda reminds me of a website I built in university called @Pad. It pulled the latest course news off websites by looking for dates in the format “##/##/#### ##:##”. It then grabbed whatever was the to the right of it. I might do the same for ScribbleLive one day to scrape in liveblogs from regular websites. Ya know, if I have a day to kill ;)

Windows Server finally available on Amazon EC2

Thursday, October 23rd, 2008

I’ve been waiting for this for so long! You can now run Windows servers on Amazon EC2. I’ve been playing with a few ways of getting Windows Server 2003 to run on EC2, but it’s always been a massive hack. I never found a distribution running Windows virtually that got anywhere near the performance I would get out of a beige box.

But with native support for Windows Server 2003 boxes from Amazon, now we’re talking. The cost per hour is a few cents more than the Linux distributions (to cover licensing fees I guess) but definitely doable. And with the new ElasticFox firefox extension, there’s no more mucking around on the command line to create and deploy instances.

Let this screenshot be a hint of the things to come ;)

UPDATE: I just got the official mailing from Amazon talking about the launch of Windows servers. It also had a cool little look at their 2009 feature roll-out:

  • Load balancing – Enables AWS customers to balance incoming requests and distribute traffic across multiple Amazon EC2 instances.
  • Auto-scaling – Automatically grows and shrinks usage of Amazon EC2 compute capacity based on application requirements.
  • Cloud monitoring – Enables AWS customers to monitor operational metrics of Amazon EC2, providing visibility into usage of the AWS cloud.
  • Management Console – Provides a simple, point-and-click web interface that lets customers manage and access their AWS cloud resources.

BlueHaze: created in the CTV “incubator”

Tuesday, September 30th, 2008

I think it’s great how many ideas have started at CTVglobemedia and branched out into their own companies. It’s really inspiring that CTV appears to let their employees work on their own sites on the side, then lets them quit to pursue the dot-com dream. I’m going to start highlighting some of these companies.

Today, I’d like to profile BlueHaze, a concert community site that spun out of CTV’s MTV Canada group. Founded by Mark Shedletsky in December 2006 while he worked at MTV Canada as the Head of Marketing & Brand Partnerships, BlueHaze has recent been reviewed by TechCrunch and has 6 employees.

I think it’s great that CTV, who owns two online music properties — MuchMusic and MTV Canada — is cool with a little competition from their former employees. In fact, a few of their employees are actually avid users of the site: Ryan Trotman the Director, MuchMusic & MTV Digital (CTV Music & Youth Services) at MuchMusic & MTV, and Mark Swierszcz the Senior Producer at MuchMusic and formerly MTV.

All the best to BlueHaze. Their traffic is certainly taking off :)

Start Your (own) Tube

Sunday, April 27th, 2008

In my aimless Internet-wanderings today, I ran across Start Your Tube. Want to start your own YouTube for your dancing sheep videos? That’s now an option…and with revenue sharing to boot :) w00t.

Or you can just set-up your own video site in 10 steps on Debian, but it’s really your option. Wow, broadband video is commonplace now :)

startyourtube.gif

Microsoft choses Flash for their MSNBC video player

Sunday, December 16th, 2007

Does anyone else think it is kinda funny that Microsoft chose to build the video player for MSNBC in Flash, when they are pitching their Silverlight applet as their new multimedia platform? ;)

Don’t get me wrong, Flash is definitely the way to go for video on the web right now. It’s cross-platform and YouTube helped establish it as the defacto standard. Of course, they didn’t have much choice since there wasn’t really anything out there to compete except a few clunky Java-applet implementations and old-school embedding Windows Media or Quicktime on a page (which never really worked right). But why wouldn’t they go with Silverlight and help with the adoption rate?

Oh well, thanks MSNBC. You’re just leaving the door open for us to be the first major media company to rollout a Silverlight player. And if you think we’re stupid to roll out Silverlight when all the people with it installed in their browser could probably fit in a Yaris, I ask you: do you want to reencode 20,000 videos from Windows Media? I thought so :)

MSNBC Video Player

CBC is using the Maven video player too

Tuesday, November 20th, 2007

In the next in my series of Media websites using the crappy Maven player, comes the CBC’s new episodic video player. *sigh* How are these players everywhere all-of-a-sudden? They must be significantly cheaper than their competitors (Brightcove and The Feedroom) or something, because I can’t see any other reason they would go with this as a platform. It has all the front-end functionality of something whipped up by an average Flash designer (no offense to the real Flash developers out there). I guess just having something that will play video is all they are looking for ;)

CBC player

Global TV launches new video player

Monday, November 19th, 2007

In the advertising-space race to get full episodes online, Global TV (one of the bigger media companies in Canada) just launched their new video player with a series of promotional bumpers on TV. From the URLs of the RSS feeds (e.g. http://canwest.a.mms.mavenapps.net:80/feeds/) it looks like they purchased Media Services from Maven Networks.

Positive aspects of the player
the 4 last episodes of “Heroes” and “Survivor” online
everything is Flash Video so it actually runs on my Mac
RSS feeds of almost everything
one pre-roll ad before every clip (8 min segment) is reasonable
Negative aspects of the player
shows like “House” and “Prison Break” just have recaps online
buggy (see screenshot below – it froze that way)
no full screen (just 2X)
Flash animation effects just make it hard to navigate

I’ve seen way worse players, so I guess that makes it okay. It can deliver video at a reasonable quality, so all they really need is some more content. They have some high-profile U.S. shows I wouldn’t mind catching up on if I’m too lazy to download the torrents. But I still don’t think a TV station has nailed the episodes-on-the-web experience. Hopefully we’ll have some better offerings from the other big broadcasters in the next few months :)

Thanks for laying down the gauntlet, Global. I’ll see you soon ;)

Facebook Application Basics

Saturday, June 2nd, 2007

As you may have noticed, I released my first Facebook Application into the wild yesterday. Since then, a bunch of people have asked me how the Facebook platform works and what it can do. Unless I’m missing them, the Facebook developer area is lacking some of the fundamentals of building an application, so I thought I’d give a brief overview here.

Basically, there are three main areas inside Facebook that your application can play with:

  1. Facebook Canvas pages which let you embed your content on a page inside Facebook accessible from the left-navigation
  2. A Profile Box which sits on your profile page and is visible by all your friends
  3. Your news feed which appears on your profile page, and is visible by your friends on their home page

You can build a Facebook Application using just Canvas pages without ever touching the API. All you need are basic HTML skills and a server. Using the API requires some programming knowledge and the handling (and storing) of a session key on your side.

(more…)