The Jason Salas Experience

Guam's Mr. Media - making people think, making people laugh, pissing people off

Saturday, December 31, 2005

Being a defensive Web 2.0 data consumer

Proper handling of the inevitable evil of outages/downtime in a Web 2.0 world from a data consuming standpoint is critical. In an evolving environment where access to information is opening up and entire sites are often based exclusively on the data of others, programmers have to take into consideration situations when such assets might not be available.

On a marketing level we can scheme, dream and strategize all we want about the commercial potentials of (re)distributing, using and sharing data in new and creative ways, but tenets we have to solidify from a standpoint of responsible engineering are:
  • Effective scalability - managing the additional ways our stuff is accessed, like RSS, web services, remoting, and mash-ups/remixing; in addition to more crude traditional methods like screen scraping
  • Contingency planning - making sure internal misfortune doesn't damage the quality of life of those using our stuff beyond simple frustration
For instance, sites referencing a JavaScript file on a remote server that auto-imports news headlines open themselves up to a potentially catastrophic threat in the event that the host encounters compromised quality of service due to downtime, server reboots, memory leaks, a denial of service attack or general network latency. Headaches can range from simple but annoying JavaScript errors to more critical concerns like page timeouts due to extraordinary waiting. And that's just a simple client-side technique. Server-based applications experiencing outages can more dramatically threaten the stability of a site relying on your data to be there.

Unfortunately as developers we can't normally directly control how a client consumes our data, and we can only hope such is done in ways proactively taking into account possible losses of service. As an example of how to code defensively when bringing in remote data, consider the following C# block, used in a .NET 1.x web client obtaining data from a remote web service:

if(Cache["RemoteData"] == null)
{
// if the Cache object doesn't contain data, call the web service
GetData();
}

// apply the data from the Cache some page-level DIV element
someDIV.Text = (string)Cache["RemoteData"];

private void GetData()
{
string theData = string.Empty;

try

{
// 1. do a data fetch operation by calling a web service (could also be I/O on a remote file, reading-in an RSS feed, etc.)
SomeWebService ws = new SomeWebService();
theData = ws.FetchData();

// 2. place the data in a caching layer relative to the executing application and expire it in a reasonable amount of time
Cache.Insert("RemoteData",theData,null,DateTime.Now.AddHours(3),Cache.NoSlidingExpiration,null,null);
}
catch(Exception e)
{
// in the event of a server error, cache a temporary message that expires quicker, assuming the data source will come back up soon
theData = "The remote source is unavailable. Please try again later!";
Cache.Insert("RemoteData",theData,null,DateTime.Now.AddMinutes(20),Cache.NoSlidingExpiration,null,null);
}
}


But examples such as this from a consumer standpoint are utopian, and I'd dare guess the vast minority. Most people are going to hack away and get at your data, not accounting for possible stoppage of service, and then be very unhappy when outages prevent them from getting at it, or negatively impact their site.

So how do we encourage those who consume our data to program defensively so that performance degradations, including total absence of service, won't bring their entire site down? We establish patterns. We publish formal documentation containing examples from as many languages and platforms - vendor and open source - as we can, to appease the masses and at least recommend a uniform mechanism of access. We release downloadable libraries that perform operations in a best-practices way (Ruby on Rails does this nicely with the Prototype JavaScript library for AJAX functionality). We conduct smart programming overall and evangelize the same for those who grab our stuff. The result is a base level of control.

And we not only educate - we learn from those who are smarter than us, adopting their practices and innovative ways to not only work with, but workaround our data, to ensure quality control and quality of service.

ReverseDOS eliminates need for CAPTCHAs

My pal Chris Frazier was nice enough to point me to a tool to eliminate spam on an ASP.NET blogging app I'd built that's been getting hit with comment spam lately. ReverseDOS by AngryPets apparently goes beyond the normative CAPTCHA and runs as an .NET HttpModule beneath traffic to thwart comment and referer spam.

I've got a couple other uses for this type of utility, so this is really gonna come in handy.

Thanks Chris!

Strange news means clickthroughs

Danny Westneat of The Seattle Times notes how the most-viewed article on the paper's site in 2005 was about a guy who died after having sex with a horse. He says:
As I look back at the year in news, it's clear I should have focused more on people having sex with horses.
Hilarious. What's more, several of the Times' other top-trafficked articles were follow-ups about the same story. Of course they were. People gravitate towards the strange, the unusual, and the misfortune of others.

In similar fashion to Danny's analysis, in 2004 I recapped the 31 most-clicked news articles on my station's site, and right at the top were stories about corruption within the local government and two cousins that got into a knife fight after arguing who could drink more. Basically, people embarrassing themselves. I wrote of the mental interest patterns exhibited by our users, evident in their clickthroughs, noting what kinds of stories drew readership:
  • Stories where government officials made assertions or otherwise tasty comments about themselves or others
  • Human interest events continuing to captivate, still proving people's genuine fascination with extraordinary human experiences. This was most evident in people doing great things, and conversely, human tragedy.
  • Stories featuring outlandish situations brought on by a lack of basic common sense. People not only enjoy reading about the (mis)fortune of their neighbors, but also about the moments in life when people exercise questionable judgment.
It's the same mentality that promotes keywords like "nipple slip" to the top of so many search engine stat reports. While we as journalists strive to produce the best news stories we can with fair, objective coverage, people will always be driven to the odd. Largely because it's not happening to them. It's around this time of year that we're reminded that no matter how compelling our storytelling may be, despite our sincerest editorial skills, regardless of our interviewing savvy or ability as wordsmiths, people are always going to stare at the train wreck.

Auld Lang Syne.

I made my own Top 10 list!

Our list is the Top 12 actually, referring to the most-viewed stories on KUAM.COM for 2005. I ran a query on all page requests earlier in the week and updated it last night for a story I did on the news, coinciding with our obligatory "Top 10 Stories of 2005" series we produced for TV. Of the more than 4,200 stories we published online this year, my rollout announcement of our VOD service came in at #12.

Not bad. It shows that new media is starting to catch on out here in TechnicalNeverNeverLand (the place where tech never wants to grow up). While they didn't make the list, similar news pieces I produced that generated a lot of traffic dealt with our broadband service, our KUAM Search API, RSS feeds, photostreams, podcasts, and our free local music delivery service.

We're finally moving away from the sorely outdated days of people hanging out in chatrooms and forums, using handles, pseudonyms and monikers, still under the delusion that they're truly operating anonymously. This is new media. More local people are starting to blog, and there's even a podcast or two popping up.

Things are starting to look up in my hometown!

Ensuring great audio quality from Skype interviews

Here's another post-production tips & tricks tutorial I did for Windows podcasters, showing you how to balance out sound levels in Audacity before and after placing VoIP calls in Skype.

Optimizing MP3 exporting in Audacity for podcasts

I've been noticing more and more podcasts popping up from technical users running Windows, who surprisingly don't have a knack for producing good-sounding audio. It's hard to enjoy great content behind static ambient sound, and general noise. I'm recycling a tutorial I did several months back to help.

Learn how to get the best quality for your Windows-produced podcasts using Audacity.

User-generated content drives opportunities in online publishing

New media advocate Robin Good gives his predictions on how content development is going to open up next year. "The best is yet to come in 2006," he writes, "as publishers and technology companies vie for the hearts of publishing-savvy users looking for personal and professional content."

He also states: "You'll need real-time tea leaves to keep up with the content deals in 2006."

This is a must-read for amateurs, professionals and DIY'ers alike.

Are perpetual betas really such bad things?

Strangely, a lot of the feedback I'm getting from well-versed technical people about Web 2.0 doesn't fare well for the concept of releasing software in perpetual beta. Is this really such a bad thing?

A canonical example I cite is the dictionary that ships with Microsoft Word. Once MS rolls out a product update, that's that, until the next version on CD comes out or the user downloads add-ons. I've pretty much given up using Shift+F7 to look for meaning and antonyms, now using Dictionary.com and its family of wordsmith sites. Those aren't exactly the first URLs that comes to mind when thinking of Web 2.0, but they do leverage the fact that being web-based, they can make changes to the core application as often as they want and instantly re-release the software, with most users being none the wiser. And they don't have to worry about cross-platform ports.

We can only assume that the Windows dictionary is mirrored on the Mac version of Word.

Maybe developers don't like the label implying products that are eternally unfinished, but the quality control aspect is the key. Flexibility, QA and choice are what make the concept a new driving force in software development. I'm puzzled why so many people are rejecting the theory.

Three programming patterns I'd like to see more of in '06

I'd like to see several programming patterns get a lot of platform-specific and platform-agnostic play in 2006, such that we might all be able to roll our own implementations and really do some cool things in the vein of Web 2.0. If user-generated content is the future of online publishing, we have to embrace new ways of letting people submit stuff to us outside of the browser.

Here are the top three I'd like to see:
  • Email-to-form processing - there really isn't an easy way to empower users to be able to send an e-mail message and have it processed by an application other than writing your own custom transport. Which sucks. The SoapMail workspace built on top of WSE 2.0 was supposed to tackle this, but not much of anything's come out of it for mass public use yet. Flickr, Blogger and other services really kick ass because of this enhanced, convinient usability.
  • Mobile-to-form processing - in a similar vein, .NET really doesn't have this facility readily available and I've been critical of Microsoft about this lack of feature in ASP.NET for years. I'd like to be able to have user-generated multimedia content be submitted by way of SMS/MMS and processed via services on my site for publishing through wireless phones, PDAs, etc.
  • AJAX-style "autosave" - there are a couple shining examples of doing interval-based autosave, Gmail and Writely. I'd like to see such a generic pattern be developed to show developers how to use JavaScript XmlHttpRequests to periodically commit in-use document states back to a database.
What I'm planning on doing is rolling my own implementation of all three patterns, to be released as public APIs into my gallery of services. This way, while encouraging distant-end developers to mash-up and remix our data, we're also passing along some of the core features of the product.

On that note, I enjoy Michael Mahemoff's blog/podcast "Software As She's Developed" for the very reason that he's big into patterns and often discusses their use in more than one major platform.

Google Reader 'Blog This!' popup now supports rich text

I enjoy Google Reader as my primary RSS aggregator, and I was stoked to discover just now that the 'Blog This!' popup window that opens now supports WYSIWYG rich text editing for publishing blog posts to Blogger. It previously displayed only raw HTML, forcing you to do manual coding, but now it's seamless from the UI used in Blogger.

I haven't tried this on my OS X box yet, which doesn't play well with Blogger's UI anyway, but the Windows version is appreciated.

Nice job, and thanks guys!

Book lists open source alternatives to Windows, Office

I may have to pick up a copy of Tony Bove's book inline with my yearlong open source research project. Check out the review of "Open-Source Alternatives To Microsoft Windows Operating Systems and Applications: "Just Say No To Microsoft". It discusses why it's not that hard to break away from Windows and Office.

Some of the Amazon reviews say the book is too overly anti-MS, which I feared, but I'll give it a shot. The accompanying site's not bad, either.

Type "safety" of objects in Ruby

One thing that's surprised me as a newbie Ruby on Rails programmer after nearly a decade of Microsoft DNA and eventually .NET development is the type assignment and "safety" (if you want to call it that) inherent within objects. Truly OOP, everything in Ruby is an object, but consider the following Ruby statement:
"JasonSalas" * 4
This outputs "JasonSalasJasonSalasJasonSalasJasonSalas". In VBScript, where everything is a variant, this would have thrown a type mismatch error, and this would likewise be a big Exception no-no in .NET. Normal string concatenation is preserved, but this impressed me at first, both positively and negatively.

Has Flash supplanted Java?

Here's a compelling argument: has Flash, with its ActionScript becoming more and more powerful as a client-side developmental platform, completely wiped Java out of the picture in that space?
There was a time when anyone expecting to do great things in Web application development was expected to know — or at least, to learn — Java. It promised to be, after all, a truly portable, platform-independent, programming environment that offered security, robust features and an interpreted, easy-to-comprehend, object-oriented language structure. It could even be run within a browser thanks to a ubiquitous plug-in.

In other words, it promised the Web everything that Macromedia Flash delivered.
With so much attention these days devoted to the Flash vs. AJAX debate, has Java already been stepped over as a legitimate platform for creating great Web applications?

In memoriam: Podcast Specification Working Group

I'm waiting for a response to my e-mail request to join the Web 2.0 Workgroup. I hope it works out, with me having a little experience in special interest communities under my belt. While I ponder topics to blog about relative to creating next-gen user experiences, software development and content distribution on the Web, one bittersweet memory I'll take away from 2005 is having worked with Chaim Krause, a great guy, on his Podcast Specification Working Group.

Chaim initially penned the memorable blog post "An Open Letter to the Podcasting Community", in which he put out a casting call for developers, architects, podcasters and online multimedia experts to join him in his interest in furthering podcasting. I did, becoming involved with a very impressive roster that included on the distribution list platform co-founder Adam Curry. This was my first experience in a formal working group dealing with computer issues and subsequently my first foray with BaseCamp, which rules.

The PSWG's mission was to establish, among other things, a universal recommendation for adopting single-click subscription in podcast aggregation clients. The release of iTunes 4.9 in late June consequently wrecked that notion. A near-instantaneous worldwide embrace of the medium from mainstream audiences, new bandwidth and data transfer challenges for content creators and a suddenly heavily Apple-influenced podcastosphere drew much of the attention away from conversations within the PSWG that were making some decent progress.

I remember the liveliness of the discussions within the group - lots of open source gurus and people from LAMP shops. Lots of things to learn. A few expected attitudes, but no real deliberate flamers. I was the first, and if I recall correctly, only one of a handful of .NET developers to join; I was going to make my main contribution translation of the Java and/or Python code to C# for the world's benefit.

The threads started becoming less lively after the post-iTunes fallout, and eventually died out altogther. A last-ditch effort by Chaim to rally his troops and either continue discussions or voluntarily submit to the tidal surge of corporate marketing and developmental push ultimately proved fruitless. The PSWG had dried up. But maybe that was the point - the platform, at thay point having reached its first growth spurt, wasn't ready for formal ratification at that stage in the game.

Of note: single-click subscription, even in a Web with ever-expanding creative uses of Flash and AJAX, still largely hasn't panned out for podcasts. And sadly, the Blogger-based URL used by the PWSG has evidently been relinquished, now belonging to the band "Porn Stars With Guitars". Any historical documentation of the events and people involved are relegated to Google's cache or blogs like this one.

So tip a 40, take a moment of silence, leave a few extra pennies in the tip jar or do whatever you have to do to remember the tragic end to a really great idea. Chaim did what few do - stick his neck out on behalf of the community in the name of progress. He deserves a tip of the cap for his efforts.

History may not remember his contribution as a major milestone in the evolution of podcasting, but I think it's worth merit here.

Friday, December 30, 2005

Test drive Ruby programming in a browser

If you're interested in Ruby programming on a fairweather level but don't want to download/install stuff you'll never use, try out this browser-based tutorial. It's guided, only takes 15 minutes and is powered by AJAX, so you won't aimlessly screw with syntax, endlessly reload pages and wind up going nowhere.

Very helpful!

An academic analysis of bullshit

A great read is Petter Naessan's dissection of the book "On Bullshit" by moral philosopher Harry Frankfurt, specifically the distinct differences between bullshit and lying. Noted is how the BS can actually be more inherently dangerous than lying.

Finally someone supports what I've been saying for years.

NBC affiliates test market new site design

As a software developer I've always been of the mindset of building something really special on your own. We've taken this approach in our own site design. I've got no problem with pre-fab site designs in news sites, I just think the same concept applied over numerous entities gets contrived and makes it harder to establish originality.

NBC-owned & operated stations are test driving a new layout and functional page design. Several CBS affiliates also used a shared concept. Not bad - I'm interested in seeing how this turns out.

NBA All-Star Game: it's all about dunks

The shooting guard is truly the loneliest guy on an NBA all-star team. The early leaders through two rounds of All-Star balloting, and those making waves on the ballots proves a concept everyone's known for years - it's all about the dunks. Those getting big vote support from the fans have big-time skills, at least in part, above the rim.

Make no mistake about it - no one wants to see great defense, pick-and-rolls or timely shooting in all-star games. Take it to the hole and throw the damn thing through with reckless abandon. And not just dunks - half-court alleyoops, T-Mac's backboard self-feeds and rim-rocking gorilla jams in people's grills.

The dunk competition is ridiculous, but better than it's been in recent years. Bring back the format that Jordan, 'Nique and Spud Webb dominated.

You produce my TV sports show

I'm trying something different over the next few weeks. I'm going to give the online community the ability to produce my sportstalk TV show, "JockTalk". You'll be able to pick the topics, submit the questions and determine the flow of each week's show. Basically, I'll be your puppet, ask guests the questions you want, and give my opinion in the only way I know how about anything having to do with sports.

The cool part is that I'm using Writely to manage the ongoing rundown of the show. I put in a template of the segments within my 30-minute show, so just browse to/bookmark this URL: http://www.writely.com/View.aspx?docid=ba286jg6hc4g

...and then signup for a Writely account or e-mail me and I'll add you to the workgroup to edit the rundown document. The neat thing is that you'll be able to continually contribute over the week leading up to the actual show, and subscribe to the RSS feed generated for the document so you can see how your topics develop.

I'll review it and use it as the basis for my show on Monday nights on KUAM-TV8, and streaming on my site. Be creative! Post links to people's blogs, soundbytes, articles, whatever.

Try it out! It'll be fun.

I care less about traditional web traffic these days

My interest as an analyst of online traffic for my site - the aggregate access of my data, not merely web page requests - has changed over the last few months. My larger concern is in RSS traffic. Now that syndication in all its forms has proven to consistently exceed my WWW requests, I not only want to serve my subscribers, but ensure that I retain their subscriptions. And based upon their binding to me, I'm integrating my marketing plan.

RSS consumers are the the prime audience to whom I can expose various forms of ads. Web traffic, like possessions, is fleeting. People come and go, return users tire of content and stop for awhile, but subscribership prevails. Whether they read my stuff or not, I've got them. I want to hit those people who almost religiously check out my gallery of feeds, and push revenue streams onto them. In theory, this connection with the audience is something we've not had in traditional media. You can't force someone to watch a TV program or listen to a radio show outside of a focus group.

But there's still something to be said for a visit to a web site. My sites can still be found through Google, Technorati, del.icio.us, or countless other sites that give open my data up to new eyeballs. And then I can hit them with the subscription option.

So while I'm putting more mental emphasis on working with my RSS userbase, I'm also keeping cranial space available for handling remixing and mash-ups my my company's stuff. That's the next step.

No REST for the ambitious

One thing I've been thinking about lately is why Microsoft doesn't tout REST support in .NET, or if such is even applicable. When I picked up the .NET model for web services development, it was always about SOAP, starting with the Microsoft SOAP Toolkit and moving on through ASMX files. The default response is HTTP-SOAP, but you can also make services callable through HTTP-POST and/or HTTP-GET.

This led me to question whether the latter two protocols were actually REST in disguise, being another instance of Microsoft's insistence to not use industry terminologies.

Sam Ruby explains:
Just because a service is using HTTP GET, doesn't mean that it is REST. If you are encoding parameters on the URL, you are probably making an RPC request of a service, not retrieving the representation of a resource.
So if this isn't the case, are .NET web services capable of supporting REST? Or is this only a client-side concern for consumers?

Intrigued by Daniel Kent's "ASP After Dark"

Despite sounding like a softcore pornography series on Cinemax for nerds, "ASP 2005 After Hours : 10 Projects You'll Never Do At Work" caught my eye...and maybe my credit card, too. Daniel Kent is a fine writer and I've long enjoyed his work with Wrox's "Problem ==> Design ==> Solution" titles. Also, Sams Publishing has some of the heaviest hitters in the tech writing space, so the quality can't be questioned.

What I find most curious is the "ASP" in the title (not ASP.NET?) and the laptop adorning the cover appears to be a Mac laptop. At any rate, grab it from Amazon...you save a ton before it gets released in mid-January.

An addendum to "What Tech Skills Are Hot for 2006?"

Despite a promising title and huge online buzz, I found ComputerWorld's "What Tech Skills Are Hot for 2006?" to be derivative and disappointing. While certainly accurate, it's incomplete. The three major (and only) areas cited that should be attractive were (1) software development, (2) security, (3) project management. I beg to differ.

Far be it for me to rip on the work of a fellow journalist, but I found the article's explanations, while well written, to be too terse. What kind(s) of programming and with what platform(s)? Is Java really on the decline? Can/should/will Ruby on Rails have relevance in enterprise development? Should .NET programmers be valued any more/less higher now that 2.0's out? Security - in what context and with what specific tools? Project management - that's a given for any year.

If I may be so bold as to append items to this list, I'd also add that knowledge workers also need to possess strong multimedia savvy and continually work towards multiplatform content distribution. Knowing how to Wireless application development continued to really take off in '05, so I see no need to stymie this momentum going into '06. Managers, architects and coders need to be aware of emerging platforms, specifically Web 2.0. This is inclusive of being able to pragmatically apply technical concepts like AJAX, RSS/Atom and developing public APIs; as well as distribution theories like serving the Long Tail and fostering network growth.

Additionally, web services - both SOAP and REST - are going to be key with the emerging popularity of companies encouraging application mash-ups and remixing of their core data. Inclusive to this skill set should also lastly be modern scalability planning (hardware growth, app-level caching).

Now more than ever, if we can agree that the Internet was reborn in 2005, platform translation to allow access via the Web and mobile markets, as well as via RSS syndication is key.

So in addition to the generalities that will always be needed for mainstream technical work, I think a more specific set of tools within one's quill are going to come in very handy in 2006.

No DVDs in sight for TV shows with copyrighted music

There's an interesting post on Digg about the chance that many TV shows won't make it to DVD because of cost-prohibitive copyright concerns over music within them. Among those mentioned are "WKRP", which I enjoyed as a kid. A publisher has a tough choice: either sell the DVDs at astronomical prices, or don't do it at all.

It's the same issue I brought up about VH1 unable to release DVDs of its "I Love the [DECADE]" series, because of all the aftermarket licensing for the music, appearances and commercials featured.

It's a damn shame.

2005's top tech transformations

New Media Musings has a neat list from the media perspective of the big trends in the last twelve months. Here's the short version:
1. The edges gain power.
2. Citizens media takes off.
3. The rise of Web 2.0.
4. Google grows into a collossus.
5. Skype hits 50 million users.
6. Social media become a force.
7. Cell phones get smart.
8. Print's decline accelerates.
9. Podcasting becomes a movement.
10. The power of goodwill.
Check the post to drill-down into the explanations. I'd argue that missing from the list would be discussions about the massive explosion in RSS, the growth in the mash-up/remixing market, the rise of blog tracking services like Memeorandum and Blogniscient, and the coming of age of Digg. But the list could be wrapped up around #3 (Web 2.0) on the whole, which would be inclusive of those and other emerging concepts.

Great piece.

Thursday, December 29, 2005

2006: The Year I Ignore Microsoft

Anyone that knows me can pickup on two traits I've had, for better or worse, since I was a kid: I'm very passionate about whatever I do, and I'll crazy/insightful/downright stupid to try anything once. As such, I'm launching a yearlong research project to expand my own talents. 2006 will be a calendar year in which I completely ignore Microsoft.

Before you crack your knuckles and ready a flame comment, consider my reasoning. I'm expanding my skill set and seeing how the other 66% of the world operates, in the interest of becoming a better Microsoft developer. I want to experience new ways of thinking, new technologies and new UIs that MS just doesn't do at the moment for whatever reason. But I can't learn-and-apply the concepts towards my ASP.NET work in parallel - I need full, uninterrupted immersion. Consider this a programmer's platform sabbatical.

Like many reading this, I'm a Microsoft web developer. I rock out to ASP.NET, C#, ADO.NET, SQL Server and a few other tools. I've spent thousands of hours interacting with really cool people in mailing lists, forums, sites, and communities provided for us. And like many of you, I developed the MS myopia, neglecting the rest of the world. I'm also keen on enjoying the Web without worrying about viruses, worms or malware.

I'll still be doing ASP.NET development at work (this I can't avoid with '06 being an election year), but at home it's all open source. I've asked that my MVP status not be renewed, which the coordinator reluctantly agreed to do, not truly understanding why. I've also cancelled my MSDN subscription and my subscription to MSDN Magazine, neither of which I rarely use. I've removed myself from all the listservs, newsgroups and RSS feeds having to do with MIcrosoft development. It's like I'm being reborn.

I'm buying a Mac OS X laptop to be used primarily for the purpose of developing web applications with Ruby on Rails. I'm adopting LAMP stacks in most of my R&D work these days (with Python). Outside of Flash, I'm picking up several new languages and platforms. I've honestly got no reason to implement .NET 2.0.

This shouldn't surprise those of you who know me already...I've been going the open source route for the last few months to ween myself away from what's become my comfort zone. It started earlier this year when I took up podcasting and realized all the cool work that didn't involve the DataGrid. And I was bummed that in many aspects of what made '05 such a great year to be online - Microsoft was sorely out of the picture.

Let me be completely honest and admit that because I began to dabble in open source in 2005, I also got really dejected about Microsoft, which led to my temporary exodus. It had no publicized presence for podcasting, was out of the loop in regards to Web 2.0, had a couple of shining moments with future plans for RSS, and got the snot kicked out of it by Google and Yahoo! For once, the other side looked attractive...and it didn't involved having to be a Java and/or PHP guru to get it done.

I'm going to dive deep into the open source movement and really experience the Web. I'll come back in '07, hopefully stronger, wiser and with a renewed philosophy for development.

Google Web Accelerator vs. FastCache?

Chris Pirillo extolled the virtues of AnalogX's FastCache on a podcast of his show recently, noting how it increments browsing time saved due to caching, which you can check on to see how much aggregate time you've spent bringing to mind the oft-criticized Google Web Accelerator.

I initially downloaded GWA and uninstalled it, not finding it to be too dramatic and having concerns with security issues. The one thing I did like about it was that the program apparently set and drew from a universal cache that worked across all installed browsers on a machine (or at least with IE and Firefox). So regardless of platform, the cache worked.

Both evidently act as DNS proxies, storing content locally longer than a browser normally would. So in cases of pages/sites accessed subsequently, they're pulled from a local cache rather than making a DNS query.

I bring this up because I'd like to use either/or to boost performance, but don't know which is better. And being a web developer, a lot of utilities I write are web-based, so I don't want JavaScript confirmation dialog windows ignored or forms pre-submit just to shave 800 milliseconds off my loading time. Chris gave a good sermon on FastCache, but GWA looks good, too.

Anyone got any hints?

Digg Spy is really cool

Digg Spy is a really cool way to look at stories and how they're being dugg, interacted with and promoted to the site's homepage. It's basically a real-time, AJAX-driven stock ticker view of interesting content.

If you ever tire of RSS Screensaver (and why would you?), this always makes good eye candy in full-screen mode projected on a 50" display.

Very, very slick.

Podcasters overwhelming more male, but more women online

Some interesting gender-related posts I came across in Digg this morning cited that 78% of the people that listen to podcasts are male, but women are starting to outnumber men online.

Live up to the "syndication" in RSS and publish full text

One thing I've always found interesting is emerging technologies named or modeled after existing platforms, and how they deviate from that concept. Specifically, let's look at RSS syndication and how many content producers don't publish the full text of the article, blog post or content they're listing. This is something I've been passionate about for awhile.

The underperforming feeds force the consumer to either deal with a truncated portion of the description, or some brief abstract that rarely goes longer than two sentences. Neither are very helpful. I understand the need to drive users to a public web site in lieu of universally-acceptable and effective ad insertion techniques and technologies for RSS, but give me a break.

Think about it: what if you watched a syndicated episode of "The Jeffersons", and the show just cut out after the thirteenth minute? It would make for a pretty bad viewing experience. Why therefore should online syndication be any different?

Keep this in mind the next time you consider lopping off your content to drive traffic to your site.

Wednesday, December 28, 2005

Web 2.0 Validator says I'm not down with the movement

I found the Web 2.0 Validator, a cool utility that assesses a URL's political amount of conformity with a given roster of criteria to be officially Web 2.0 or not. Turns out my site doesn't make the cut, despite my earlier assertion about how we've been using Web 2.0 principles for years.

Here's the scorecard:

The score for http://www.kuam.com is 4 out of 40

  • Uses python? No
  • Is in public beta? No
  • Uses inline AJAX ? No
  • Is Shadows-aware ? No
  • Uses the prefix "meta" or "micro"? Yes!
  • Uses Google Maps API? No
  • Has favicon ? No
  • Attempts to be XHTML Strict ? No
  • Mentions Less is More ? No
  • Refers to mash-ups ? No
  • Mentions startup ? No
  • Uses Cascading Style Sheets? Yes!
  • Appears to be web 3.0 ? Yes!
  • Appears to use AJAX ? No
  • Refers to the Web 2.0 Validator's ruleset ? No
  • Mentions Dave Legg ? No
  • Appears to be built using Ruby on Rails ? No
  • Makes reference to Technorati ? No
  • Refers to Flickr ? No
  • Refers to VCs ? No
  • Mentions Nitro ? No
  • Mentions Cool Words ? No
  • Links Slashdot and Digg ? No
  • Creative Commons license ? No
  • Appears to use MonoRail ? No
  • Has prototype.js ? No
  • Use Catalyst ? No
  • Uses Semantic Markup? Yes!
  • Mentions RDF and the Semantic Web? No
  • Actually mentions Web 2.0 ? No
  • Refers to Rocketboom ? No
  • Refers to web2.0validator ? No
  • Uses microformats ? No
  • Refers to del.icio.us ? No
  • Validates as XHTML 1.1 ? No
  • Appears to over-punctuate ? No
  • References isometric.sixsided.org? No
  • Appears to have Adsense ? No
  • Uses the "blink" tag? No
  • Mentions 30 Second Rule and Web 2.0 ? No
This kind of shows how naive the whole Web 2.0 movement can be, with people really believing that it's a defined set of technologies rather than a methodology towards design, development and distribution of data.

This blog, hosted by Blogger, only scored 4/40.

RSS recognition: LINK tags as important as little orange icon

I continue to be surprised at many of the sites that have "openly embraced" syndication of their content through RSS, merely using the little orange icons on their web pages, but tragically neglecting to also reference their feed URL(s) in LINK tags within the page's source.

Modern browsers like Firefox, Opera and Safari have built-in auto-discovery RSS readers that detect the presence of this additional information and allow for single-click subscription to a feed, and assumedly the forthcoming IE 7 will, too. It's a simple addition to a page that shouldn't be overlooked.

Tuesday, December 27, 2005

Is 'Cold Pizza' getting hotter?

I just heard Dana Jacobsen and Tom Rinaldi say just now that starting January 2 "Cold Pizza" will be broadcast live from 10am-2pm EST, which would mean I'd have to stay up until 1am to catch it. Damn, that sucks for me. First "Rome is Burning" gets tossed around like a rag doll and rescheduled so many times I didn't watch for awhile because I couldn't keep up, and now this. I really need to move to the States.

I've done an ad hoc chroniclization of the evolution of the show, including how ESPN took it from cellar dwellar into a watchable sports show. I hope this change indicates that CP's doing better in the ratings...it's gotten much better with Dana, Woody Paige and Skip Bayless.

NetFlix laying the smack down on Blockbuster

Times aren't faring well for my former employer, as Blockbuster Video Entertainment is apparently getting killed by NetFlix, both in online membership and the fact that NetFlix has no debt, while Big Blue evidently owes a billion.

I knew that "no late fee" policy would be huge, sink or swim. Gosh, I used to work there when rentals were $4 for new releases and good for 2 days, 3 nights, and we still sold - GASP! - laserdiscs and had the free rentals for community service videos like "What's Happening to Me? - A Guide to Puberty" and "Winning Bridge with Omar Sharif".

My behavior these days is to only rent new releases in real life, and get everything else from NetFlix.

"Canon in D" riffing in Google Video

If you're a Google Video addict like me or just peruse the collection of clips every now and then via the site or the blog's RSS feed (or by downloading it as a hard copy) chances are you've come across this rockin' neoclassical electric guitar version of "Canon in D" by Jerry C., some dude who totally shreds (he's also got a mean driving performance).

Not having bookmarked the URL where his clip sits, I did a search on it to run in the background and found a bunch of similar clips from players who've apparently learned Jerry's riffing and fretboard work and made their own videos. The best ones are here and here.

Rock on!

Damn comment spam.

The blogging app I built for my company's been getting hit by comment spam a lot over the last week. I get crap from sexual aide medicinal products and casinos (you know, the way e-mail spam used to be). The messages say crap like this:
casino games wow thanks about the information
...or list URLs for some phrarmacy products. Chalk one up for un-defensive programming, lay one on me for not implementing a Blogger-style comment verification system.

Monday, December 26, 2005

"Internet is for Porn" video is too funny

While the rest of the world extolls the hilarity of SNL's "The Chronic of Narnia" rap skit that's getting so much attention, I found a really funny World of Warcraft-themed musical on Google Video, "Internet is for Porn". (This is not actual porn, but a funny story beneath a creative premise. Any gamer, Internet user or perv will enjoy this.)

It's generally worksafe, so you can share it with others. Check it out!

Sunday, December 25, 2005

NetFlix does RSS in bulk

I really enjoy getting NetFlix's feeds in my aggregator. They keep me on my toes about what's available without having to manually browse and aimlessly search their site. But I don't like the fact that the new releases come to me as RSS en masse, meaning I only get updates once a week, and like 100 at a time. I typically get these on Sunday night Guam time, which is early morning Saturday in the States. I used to work at Blockbuster, so I know videos come out all the time.

I can see the benefit of aggregated aggregation, prompting me to rent more titles because I may see things related that I'd also like, but it doesn;t make for an optimal experience.

Anyone else irked by this?

Looking back: the evolution of KUAM.COM

I'm lucky in that as a devleoper, I've been focused on the same project for six years. My company's site has gone through several aesthetic and functional revisions over the years, including major rewrites of our codebase, brief flirtations with Flash, and an adoption of n-tier architecture with caching layers. We've gone from simple design to elegant software architects in the interest of user demand for content, multimedia and multiplatform accessibility that grows geometrically.

I've done the web shop thing where I work in an environment not only touting the quality of work put out, but also the quantity. I never did like fattening a portfolio and telling people I've done 15 sites in a year. When I took over the reins of KUAM.COM in late 1999, I knew I wanted to commit myself to a single web project and really watch it grow long-term. It's been a fun process watching the site develop from something I knew had potential into the dominant player it is for local news, entertainment and information. It's become the region's most successful and popular online brand, and it's because of the tireless effort my crew and I have put into it - equal parts technical excellence and guerilla marketing.

Using the Internet Archive Wayback Machine, I'll take you on an interactive tour of some of the major developmental milestones we've gone through at KUAM building our beloved online baby. Hang on for the ride.
  • December 7, 1998 - KUAM.COM hit the web, having been designed by Alex Sian and featuring streaming video of nightly newscasts and reporter bios. It was a big deal locally at the time. The image (which probably won't load) is an image map of a big KUAM-branded remote control pointed at a TV. Nice work.
  • April 21, 1999 - the site started to adopt interactivity, profiling management and marketing KUAM Radio as well as the flagship TV side of things. Note the perfunctory contact info footer.
  • February 29, 2000 - by this point Alex has moved on to bigger things, and I've been consulting the company for several months after hearing that they wanted to go more into producing online news. I eventually get hired full-time to run web operations. Good thing, because the old brochureware concept was getting really old, really fast. I laugh at how crazy web designers were about the free or FrontPage hit counters.
  • May 11, 2000 - I officially switched the domain to a new host, as evident in the DNS error. Our new site went live the next day on May 12 with about 75 total pages for news, sports, editorials, downloads, reporter profiles, job openings, etc. We got a million page requests in the first six weeks - a plateau we eclipse now in about a day and a half.
  • November 10, 2000 - our site having been up to rave reviews for six months, we started handling news publishing, exhibit downloads, and RealVideo webcasts of our nightly news. Check out the (ugh) overuse of applets, DHTML tickers, mangled color, and within the page's source an abundance of META tags for pre-Google search engine recognition. We're publishing news the next day by manually doing the "File...Save As" thing in FrontPage 2000. It was at this point I started realizing the importance of automated data management, not just presentation. I take up ASP 3.0 and ADO scripting.
  • February 5, 2001 - we tried a mid-morning stream webcast that never really took off (check the Matrix-esque Flash teaser), both from an internal production standpoint (too laborious) and sales point of view. It got lots of views, though. We;'re still manually copying stories from our newsroom system into FrontPage - note the page-naming convention I used under "Today's Hot Stories". We also start using an AvantGo mobile channel to allow portable access of our stuff on Palm OS PDAs.
  • October 27, 2002 - our traffic levels were so high our Access back-end couldn't handle it and would freeze up. We quickly began getting quotes for other hosts and began working on an ASP.NET codebase to account for scalability. I've been working with the ASP.NET betas for about five months.
  • November 8, 2002 - I've upscaled all 600 of our stories from Year 1 into an Access 2000 database, which now feeds content to our homepage dynamically (contrast the query string-based page URLs in "Today's Hot Stories" to those in the previous entry). We're publishing everything via web forms, which allows us to publishg stories in synch with our broadcasts, the same nig