Rambling Through CFUnited

This was my first time at CFUnited and frankly my first time attending a conference of any sort. It was a new experience to me and was definitely fun and informative. Readers of The Sports Guy may be familiar with his “ramblings” and “running diary” columns. Those are my blueprints for this post as there are a lot of small things I wanted to touch on. Some are technology related, some are just observations.

Here for your enjoyment is my Bill Simmons-esque ramblings on CFUnited…

Thursday:

Wow, Baltimore is so quiet & peaceful at 5:30 am.

Haven’t had a McGriddle in years… I think the McGriddle technology is the same as that which created the little toy dinosaurs that expand in water. The breakfast sandwich is about the size of a hockey puck but somehow magically expands into a cinder block when it hits your stomach. My normal confident strut has become a slow waddle…
  


… birds of a feather…

[More]

Face Down, Nine-Edge First

My friend, R, instant messaged me earlier today, with the following geek joke:

Q: How do you bury a programmer?
A: Face down, nine-edge first.

Not understanding the joke (and thus completely missing out on the absurd humor), but also not wanting R to know that I was completely clueless, I immediately switched to FireFox and Googled the punch-line.

The first (and only) link I followed led me to the website everything2 - a veritable mish-mash of random factoids and miscellaneous lore - which happened to have the answer I was looking for: "Face down, nine-edge first is the proper way to insert card decks in the IBM 1402 and 1622 punch card readers."

What's great about this random discovery, however, beside the quick history lesson, is that the explanation went on to tell me that this phrase is used in a geek poem called "The Last Bug", hearkening back to the far-distant, dark, dusty days of punch card computing...

Ah, to stumble around the Internet and find a wonderful, random, old post like this.  It takes me back to the days of scowering the racks at the college library for books that hadn't been checked out since the early 1900s.

But I digress.  So, I IM-ed R back a link to the poem, thanking that dark overlord Google for pulling the weight of my obvious geek-slackerness.

Google App Engine + SFDC Deep Integration - Oh My!

My friend, C, emailed me this morning to let me know he was rudely awakened at 6 AM by his BlackBerry, which had received some sort of SPAM or other...  In the same message, C also let me know that Google had just launched its new "App Engine", open to the public (well, about 10,000 of them, anyway, since this is a "Preview" release) - pointing me to Matt Cutts blog (posted yesterday) on the subject.

According to the official Google Blog, the Google App Engine opens up to developers the "same building blocks" that Google itself uses.  Items built using the Google App Engine are hosted on Google servers, for free, and receive 500 MB of storage utilizing the Google File System and Bigtable data storage system and 10 GB of daily bandwidth.

This rung a bell, reminding me of SalesForce.com's entrance into providing Software as a Service (SaaS) with their AppExchange and SDK for developing SFDC-integrated and hosted solutions.  A little bit of Internet sleuthing uncovered a blog entry on Tech Crunch, also dated yesterday, that hints at "Deep Integration" between SFDC and Google.  According to the blog post, SFDC is going to begin reselling Google Apps, such as Google Docs, which will be "tightly integrated" into SalesForce, and is purported to make an announcement next week to the same effect.

Interesting timing... In light of the Google App Engine announcement, WHAT DOES THIS ALL MEAN?  The Tech Crunch article goes on to offer the tantalizing speculation that Marc Benioff, SalesForce CEO, might be considering selling to Google, but I'd think a merging of forces might be more in-line with these recent announcements.  If SFDC is going to resell Google Apps which are going to seamlessly integrate with it's own SaaS platform, it makes a blogger wonder if SFDC isn't going to end up being powered by the Google App Engine itself.  Imagine the kind of powerhouse that would be...  People integrating SFDC inside of the hosted Google App Enginge, people integrating Google Apps in SFDC, strange hybrids between Google and SFDC, monstrous cross-breads, ridiculous amounts of customer data flowing back and forth...

Is Google in it to gain access to the customer data?  That "deep integration" certainly is a way to expose Google Apps to the corporate (paying) sphere...

Are Google and SalesForce in it for platform dominance?  A combined Google/SFDC platform would sure blow the metaphorical socks off of the Windows Live/Office Live platform...

And aren't there any other players out there?  What happened to that offer for Oracle to buy up SFDC?  Where's Yahoo! when you need them? (Oh, right, hoping to fend off Microsoft's takeover bid...)  And Apple Computers (forget about them - they gave up the good fight a long time ago)?

It's beginning to look more and more like a two-player world after all - two corporate titans gobbling up everything else in sight.  Get ready for another match up of corporate titans, ten rounds of Microsoft versus Google, Steve Ballmer versus the tag-team of Larry Page and Sergey Brin.  I don't know who to root for on this one...  Linus Torvalds, where are you when we need you the most?

Version Targeting Redux

Internet Explorer logoPerhaps in response to the online backlash from the developer community about IE8's proposed method of version targeting, or, as Microsoft's own press release hints at, fear of more potential legal trouble in the EU, the guys behind Internet Explorer announced yesterday that, after thinking long and hard about their previous position on the matter, IE8's wholly embraced (then widely criticized and, ultimately, reluctantly accepted) version targeting system was going to adhere to standards mode by default.

Whatever the impetus for this about-face is, the only thing that matters is that Microsoft has finally started making good decisions about web standards support.

Instead of continuing to put the onus on developers to submit to IE's quirks, Microsoft has finally woken up to the fact that the standards are here to stay and that the only way for the web to progress is to stop pandering to incompetence. That may seem a little harsh, but it's the truth. The web has grown by leaps and bounds over an incredibly short period of time, and the innovations we've come to expect from the web can only continue if EVERYBODY works towards the same goal- an open, accessible web.

I can completely understand Microsoft's desire to support older sites. Given the size of their userbase and the number of legacy intranets that depend on IE6 quirks, it's impossible (and unacceptable) to expect them to completely drop support for those customers. On the other hand, it is equally unacceptable that standards-aware developers be forced to use outdated technologies and compromise what's possible simply for the sake of those legacy applications.

With the news that IE8 will now, thankfully, take the logical route of rendering in IE8 Standards mode by default, the web community as a whole can only benefit from it's release. The web will, hopefully, no longer be restricted by Microsoft's (again, understandable but incorrectly handled) coddling of legacy users. Those users now have two options: set their servers to trigger the appropriate rendering engine in IE8, or get their code compliant. The latter is obviously preferable and will hopefully see some significant play, but in reality, probably won't. Those developers that have grown used to being pandered to by Redmond will probably just choose the first option (the quickest and cheapest, so I can't really fault them). But, hey, that's OK. They don't need to update if they don't want to, as long as the rest of us no longer need to worry about Microsoft "favoring" incorrect websites.

So thank you, Microsoft, for stepping up and putting some support behind your (let's be honest, less-than-fulfilled) past pledges to support web standards. It is really, truly appreciated.

Give One, Get One... Later

Where's the Beef Laptop?

After waiting patiently over a month to receive my "Get One" latptop from the One Laptop Per Child's "Give One, Get One" promotion, I finally got around to calling their 800 number a week or so ago to see what the story was.  Looks like I'm going to have to wait a bit longer...

So, like I said, I called the 800 number and, a moderate wait time later, was greeted by a very friendly and sympathetic support person. Once she was able to pull up my information, we discovered the culprit...  The way that the PayPal fields mapped up to the OLPC database basically dropped half of my address.  Yes, line 2, the important one where I put the actual street address, because I placed "Congruent Media" on line one, had vanished into the ether.  Apparently, the delivery service doesn't know the location for "Congruent Media, Baltimore, MD 21224"...  (Who coded that, the same people that forgot to convert from metric to English a few years back during that Mars Climate Orbiter fiasco?  That would never have happend if the OLPC had hired Congruent Media to do the job!)

At any rate, after we got that corrected, she informed me of the good/bad news - my laptop wouldn't ship until the end of March or the beginning of April, because they were out of computers and in the process of assembling more.  To me, that's great news, in that their "Give One, Get One" promotion was a huge success!  So, presumably, some time in April that box will show up at the office and I'll be able to pop it open and experiment with this crazy $200 computer they're building for the children of the Developing World and, well, children everywhere...

Why'd I Want the Beef Laptop Anyway?

So it's along story (or maybe a short one).  Sure, it'll be cool to mess around with the OLPC's cheap, robust gizmo, put it through its paces, and see if I can use it in my plans for world domination.  But really, the story begins back in the 1980s.  You remember the 1980s, right?  That time where everyone had outrageous haircuts, the Ford Mustang traded in its classically cool look for something boxy out the future, Knight Rider was on television and people actually thought David Hasselhoff could act, Reagan was President, and having a 16 color monitor was cool?  (If you don't remember the 1980s, you can catch the highlights on VH1.)

Anyway, when I was a kid, back in the 1980s, one of the single most important decisions my parents ever made was to purchase a used IBM PC Junior from our neighbors across the street.  For those of you that are historically challenged (go watch the VH1 highlights), the PC Junior sported a 4 color monitor, a 5 1/2 inch floy drive, and amazing 64 KB of RAM.  You had these solid-state cartridges you'd plug in to get into the BASIC programmng shell.  Yeah, you know, maybe one or two steps above punch cards...

Like I was saying, when I was a kid, back in the 1980s, my parents bought this used PC Junior from our neighbors, and suddenly my brother and I were exposed to a whole new world of possibilities.  Being the precocious children that we were, we dove right in.  The gloves were off within weeks, and soon we were pushing that machine as far as we could go.  As technology progressed, we upgraded to a 286.  I remember that time fondly.  I coded up a drawing program in BASIC (the old, old BASIC, that had line numbers, with GOTO statements, and no GUI interface) - you could use the arrow keys to move around on the screen, draw basic, paint boxes, and even save your images!

The point is, I became comfortable with technology, with using it, with modifying it's components, with the fact that if I broke it, I could fix it - no big deal - just a few hours of tinkering around.  Now I'm designing crazy Internet applications and my brother is installing and maintaining VOIP systems.  Without that exposure to jump start us, I don't think either of us would be in the fortunate position we're in today.  Sure, we would have eventually been exposed to computers in school, but we would have missed out on those crucial formative experiences.  Instead of creating things with technology, we'd likely only just be consumers of it.

We were fortunate enough to have parents who could afford to buy us that first piece of technology.  The majority of the world's children, however, don't have parents that can afford that luxury.  Every child deserves a chance to succeed, and variouis organizations throughout the economically developed world have have been attempting (for a long time) to better the condition of children, and especially poor children, in our countries and abroad, through various means.  We've given money.  We've given food and other kinds of aid.  We've built schools.  Now the OLPC has come along and thought - "Let's give them TECHNOLOGY".  This is a novel approach, and not necessarily the most intuitive.  But this may be the missing piece of the puzzle - who knows? 

We've moved from the Industrial Age into the Technology Age, and one of the most important skills anyone can have is the ability to confidently use a computer for a productive purpose.  It's that whole "give a fish / teach them how to fish" proverb... and to fish in this age, you need a hard-drive and a connection to the Internet.

Greenbean Cometh

The Team at Congruent Media is excited that we're getting into the development phase on Greenbean.com - a mobile marketing network.

We're expecting to do a soft launch in March/April and will need some early players to help test the system. Interested? Head over to the site now by clicking the logo below and be sure to sign-up for the eNewsletter. We'll announce all things Greenbean there.

Fun!

Greenbean Logo

Microsoft Proposes Yahoo! Buyout - Once Again Exhibits Poor Business Judgement

The news is out, Microsoft is making a bid to purchase Yahoo! for just under $45 billion.  According to reports, the Redmond software giant believes that combining forces with Yahoo!, the ailing Internet portal and search engine, will turn it's own Internet business around as it continues to hemmorage money in the battle against the 700 pound gorilla named Google.  Apparently, the offer is 62% above Thursday's closing price for Yahoo! stock, illustrating Microsoft's brilliance at overplaying it's hand in a desperate attempt to gain some sort web foothold. 

While Microsoft may think that aquiring Yahoo! will help it level the playing field, the only people I can see winning from such a deal are the shareholders themselves, and Google.  If I was a Yahoo! shareholder, I'd take the deal and split with a fat wallet, much happier than losing my shirt as Yahoo! continues to sink.  And if I were Google, I'd be happy that Microsoft is throwing away good money after bad by purchasing an already-bloated, under-performing Internet company.

What Microsoft should be doing is taking a page from the old Google playbook - invest in bright ideas by aquring small companies doing really cool things, as well as tried and true larger ones.  This brings in new talent that hasn't fallen into the brain-numbing rut of the mega-corporate-technocracy, fostering the maverick pioneer spirit of innovation, and generally creating an exciting work environment.

To be fair, Microsoft has aquired its share of small companies as well as large, most notably to this blogger the 2004 purchase of GIANT Company Software, Inc., which had a really cool anit-spyware tool until the good old boys in Washington monkeyed with it and turned it into the clunky Windows Defender.  The problem is that, while Microsoft may be aquiring talent, it's not aquiring Internet talent, which is what it now hopes to achieve through this unholy union.

Personally, I'd like to see Microsoft make some headway in the Internet battle against Google.  Maybe, despite my nay-saying predictions, the Yahoo! executive board and shareholders will approve this proposal and it will be a wildly successful combination and not money thrown down the drain.  Don't get me wrong, Microsoft is no friend of mine.  But just as Netscape and Microsoft battled it out in the late 1990s, followed by the rematch of Microsoft versus Firefox in the last few years, for browser dominance, and just as Microsoft and Apple have been dualing for twenty-some odd years in the computer systems arena, this battle of Google versus Microsoft is bound to fuel new innovations.  This time around, Microsoft is the underdog.  Hopefully it can keep Google in check - the last thing we need is for Mountain View's wildest success story to turn into an evil, information controlling, mega-opoly.  It's certainly sitting on top of that slippery slope right now.

XO Computer

It took a while to get shipped, but the XO computer I purchased for my 2-1/2 year old son Ben came in. The "Give One, Get One" program that Laptop.org ran was a cool concept and I wanted to get my son on a system, so the the timing was right.

Out of the box, the little green machine is very cool. The keyboard is way small, but for little kids it should be perfect. The interface took a little getting used to, but otherwise, it's a fully featured computer. I was surprised by how easy it was to setup on the WiFi at home.

We'll post a more in-depth review soon as Brian purchased one also. I'm sure he'll figure out all kinds of cool things to do with them.

XO computer

IE8 And Version Targeting

Since the earliest days of the IE/NS browser wars, developers have struggled with inconsistent rendering issues across not only the Great Browser Divides, but also across versions. In 2000, Microsoft released IE6, which changed significantly from the previous version. To help protect sites that were developed around IE5.5's... unique... rendering bugs design features, Microsoft initiated DOCTYPE switching. In the early days of web development, not many sites put much focus on standards compliance. Just getting it working in two browsers was a feat in and of itself, nevermind trying to work in such trivialities as well-formedness or semantics.

So Microsoft's idea was to use the invalid nature of websites to their advantage. If a website had an outdated, malformed, or non-existent DOCTYPE, the designer probably didn't know what they were doing, and IE6 would render the site using IE5.5's incorrect (but designed for) box-model. The so-called “Quirks Mode”. If the site had a valid DOCTYPE, IE6 rendered it using the new engine and a (more) correct CSS implementation, “Standards Mode”.

A great idea, but it just isn't sustainable, as shortly thereafter, the Standards Police came in and everyone started doing things the right way. Skip ahead 7 years, and out comes IE7, which is leaps and bounds ahead of IE6 (though certainly still with faults). Now sites are presenting valid DOCTYPE's, but were still relying on their outdated box-model hackery, which IE7 promptly chokes on. We'd been developing for IE6 for the better part of a decade, and when we finally get used to all of her little quirks, BAM! IE7 is sprung on us and destroys it all. The developers at Microsoft had broken their cardinal rule for IE development, “don't break the web.”

Apparently, the boys from Redmond have learned from their mistakes, and are planning an interesting version targeting system for IE8, which is due to be released later this year. In concert with the Web Standards Project, MS has proposed a new meta declaration, X-UA-Compatible, which will allow designers to specify which version of IE should be used to render their pages. If you want IE8's brand spankin' new rendering engine to take a crack at it, set X-UA-Compatible to “IE=8”. If you'd rather stick with tried and true IE7 rendering, “IE=7”. If you always want to use the latest engine, from IE8 through IE666, use “IE=edge”. Now, you no longer need to worry about your site breaking if a visitor upgrades their browser before you've fixed any issues with it, and at the same time, you can take advantage of the better rendering capabilities if you need to.

Some other benefits offered include no longer needing multiple instances of IE running on the same machine. Get IE8, and just switch your X-UA-Compatible to 7 or 6, and you can test your site in all three versions with little more effort than hitting refresh. It also changes our entire method of browser targeting. Now, we look forward. If the browser's UA string contains this, do that. But that quickly breaks if the UA's change (a la Safari's questionable decision to include “Gecko” in it's UA, thus defeating almost all browser sniffers). Version targeting puts the onus on the browser, not the developer, and renders back to a specific version, instead of us trying to predict how future versions will handle things.

Of course, there are also significant issues that arise from this new system. For instance, just how faithful will the older renderings be in IE8? Can we really rely on the new system to exactly match that which we've come to expect? How many versions will be available, and how will we know which are available to our users? If IE8 includes multiple rendering engines, how long do we have until browsers become bloatware?

Fortunately, IE8 is still a few months out, and we can hopefully get some answers to these questions before our sites start exploding.

Microformats

"Microformats are simple conventions for embedding semantics in HTML to enable decentralized development."

Err... what?

Microformats are standardized markup conventions that encourage semantic documents and help users and machines alike publish, discover, find, share, and relate to information on the web.

Better, but...

Microformats boil down to simply using commonly agreed on structure and naming conventions when representing data on the web. Doing so helps authors keep their documents semantically correct and helps computers better parse and relate information.

That's more like it!

Not new by web time, the now almost three-year old microformat movement is seeing a surge in interest and adoption rates by companies and websites both big and small. Among it's supporters/adopters are Apple, Digg, Facebook, Flickr, Google, Last.fm, Livejournal, Twitter, Wordpress, and Yahoo. It's certainly not lacking for industry support ;)

Obviously, the way we use our browsers has changed drastically in the last few years. To quote Mark Pilgrim, "you just use your browser to browse? That's so 20th century." Gone are the days of nearly aimless searching hoping to stumble across some relevant page in the bowels of the internet. Today, everything is (or should be!) linked to as much relevant content as possible. It's like a big game of Six Degrees, but with less Kevin Bacon. To that end, all content that goes on the web should help facilitate this free-flow of information as much as possible. If you publish a calendar, your visitors should be able to import that calendar freely and easily into their calendaring applications. If you publish an address book, your clients should be able to quickly add those contacts to their email client. How can we do that?

Microformats!

By adhering to standardized naming and structure conventions, our data becomes more meaningful. Finding information becomes quicker, relating information becomes painless, the user experience is enhanced. As more support rolls in for microformats, the benefits to the user increase exponentially. Browsers like Konqueror already support some of the microformat instances, and will parse and present relevant information to the user.  And of course, the more support microformats get, the more unique applications we'll see pop up to make use of them.

Here at Congruent, we already use our own set of "microformats". We have set structures and classes for our forms and tables, naming conventions for our files, and common layouts for our sites. But that data is still trapped in our proprietary formats. Perhaps we should look at incorporating microformats into our work. I mean, we certainly have enough sites utilizing calendars to make implementing hCalendar worthwhile, and plenty of "People Listings" pages that could benefit from hCard. Outlines and tables of contents can make use of XOXO. Blog entries can benefit from hAtom. Though the standardized microformats available are still relatively few in number, their usefulness is certainly established...

Oh well, something to think about, I guess...

More Entries

This site is running a Congruent Media enhanced version of BlogCFC 5.9.002. Contact Blog Owner