Thursday, November 17 2005

I wrote about Riya previously, expressing a bit of skepticism about the technology. I should temper that by saying that I've never used it, and the most I've heard about it are some cursory micro-reviews, but my skepticism is based on the history of facial- and scene- recognition technology, and the barriers this product has supposedly overcome: Facial recognition, like character and voice recognition, has to be accurate enough that it is more beneficial than detrimental (e.g. nuisance false positives, and detrimental false negatives), and historically the latter is far more prevalent. Sure we'll get there, but it's just surprizing that a company could go from the primitive stage that we're at today to such an advanced stage, all in just one step.

Anyways, today I happened to look at my to see that there has been an explosion of Riya postings - Google, or so the story goes, has put a $40 or $60 million dollar offer to buy Riya. If you follow the blogs around you'll discover the big circular authority that is prevalent in these sorts of "blog scoops", with A attributing his source to B, but B hilariously points to A as the authority. Remarkable stuff. Like the technology itself, it could very well be true...but I certainly would take it with a mountain-sized grain of salt.

Indeed, if Riya is as capable as we've been told, I'd say that $60 million would be grossly undervaluing the IP - This would make a photo service stand head, shoulders, and torso above its competition, and I'd be looking for a number more like $400-$500 million. Seriously.

   
Thursday, November 17 2005

I needed to post a support question to Electronic Arts support today (long story), and like many sites they force you to create an account.

Fine. So first things first I have to create a user account, and it's asking for a username.

dforbes...sorry that account name is already taken
dwforbes...sorry that account name is already taken
dennisforbes...sorry that account name is already taken
denniswforbes...sorry that account name is already taken
dennis.forbes...ILLEGAL CHARACTERS!
dennis_forbes...ILLEGAL CHARACTERS!
forbesdennis...sorry that account name is already taken
RRR...sorry that account name is already taken
blah...sorry that account name is already taken
blah999...sorry that account name is already taken
RRRRRRR999...taken

I'm not kidding. It was actually proposing ridiculous available alternatives for each, so I didn't have to keep trying, but at this point I was just punching in random strings to see how huge and polluted their database really is. It's big, and it's polluted.

These sorts of user accounts irritate me because I already have a globally unique account - my email address. No one else, in the whole wide world, has the same email address as I do. Furthermore I don't have to remember whatever oddball account you've forced me to take through arbitrary and site-unique username restrictions: Just use an email address and you can allow whatever is allowed in the RFC (it's all documented there for you), and when I get there I'll know what my username is. Why it's my email address! You're forcing me to enter it elsewhere to validate the account anyways, so you might as well go all the way with it.

   
Thursday, November 17 2005
Carving at Lowville Park

I've been running as a non-privileged user (e.g. not an administrator account) for a while now, reducing the security risks of day to day computing. This was spurred on by the rising prevalence of root-kits, which are even being unleashed on an unknowing public by respected corporations

While this is simply a well-known good practice, it is remarkable how many ridiculous little irritants one runs into trying to do this: Even widely used applications like winamp fail to run as a non-admin without security tweaks, and of course you can't even open the system tray calendar without customizing your user rights. Thus far I've been very impressed by the behaviour of Visual Studio 2005 and friends, which seem to do a great job of living within the constrained permissions. I have to su every now and then to do some administrative tasks, but the threat window is vastly reduced.

Of course we all know that this is simply a good practice (and I would have done it far earlier if not for some demanding development tools), just as a number of other standard but sadly ignored security precautions should be the norm. On this theme, earlier today I was wondering if there was a "Computer Security Day" - A day when people could be gently reminded to take computer security initiatives (such as not running as administrator) to make the computing world better for everyone: While it might seem like it's only for individual gain, we all gain when there aren't millions of zombie computers at the bidding of hackers and spammers.

Turns out that there already is such a day. It's actually coming up in just a couple of weeks, as it occurs every November 30th. Which brings me to my real comment - scheduling such a largely business-related event to occur on a specific calendar day is ridiculous, and of course almost 30% of the time that's going to fall on a weekend. It seems only logical that it should have been the 3rd Tuesday of November, or whatever.

   
Friday, November 18 2005

Ray Ozzie has been pushing his agenda at Microsoft, one of his suggestions being that Microsoft should pursue more of an advertisement-supported revenue model (Google is doing it, so everyone should. Right?). First SnowfallApparently some at Microsoft are buying this line, which is incredibly sad: Microsoft has been one of the few remaining customer-focused technology companies out there.

Advertisement supported content is wrong on so many levels.

First is the fact that you're still paying for it (unless you're a hermit. I wrote about this in regards to content on the web about 4 years ago), but instead of directly paying fair value, you're indirectly paying far more through countless middlemen and vested interests, grossly inflating the actual cost.

Whether it's sneakers that are made by a company that spends twice the amount on marketing than they spend on their products, or cars that have thousands of dollars hidden in the price to sponsor the next outing of Survivor: Advertising costs to support supposedly-free content are coming from someone, and that someone is you.

Of course, some awareness campaigns are necessary to educate the public about the advantages of certain products, yet as a consumer there is tremendous danger in utilizing advertisements to make purchasing choices. For instance, we often hear about how advantageous Google ads are because they're context specific (e.g. "They're good because they're actually useful to me! I'm looking for X, and what do you know - Google is showing me an ad about X!"), but really they're terrible: They aren't placed based upon merit and applicability for your purpose, but rather based upon how much they paid to appear there. If you buy a product, or even give it more attention than its competitors, because it "conveniently" appeared in a Google ad, you're buying based upon nothing more than the marketing budget of the source company - It may be the absolute worst product in its genre, but it got a little namespace in your head because of an advertising budget. This sort of market supports the continuation and success of mediocrity, where marketing trumps merit.

In an era of instant communications and endless online resources and communities to learn about products and solutions, obviously biased advertisements shouldn't be a credible source of purchasing information.

Second is the fact that when something (a magazine, a newspaper, a television program, a website) is substantially funded by advertisements, it answers to a different master. An obvious example would be the network television channels (e.g. NBC, CBS, ABC). These networks have been spitting out the same middle-of-the-road tripe for years, building their programs around ample opportunities for product placements, and for content so inoffensive that their break-away sponsors won't demand changes. Their programs are made for their sponsors as much as they're made for their audience, which is why you see the terrible challenges on shows like the Apprentice, with each episode featuring 15 minutes of overt commercials to pound home the message of the other 44 minutes of covert commercials. Contrast this with some of the innovative, award-winning programming that have come from the subscriber-sponsored channels like HBO (where the viewer really is the master). Compare the incredible documentaries of PBS to the latest pander-to-the-sponsors regurgitation of the same sitcom script that has been playing for decades that you see on "the networks". In the print medium, how likely is it that the newspaper or the magazine are going to slam a dud product from their primary sponsors?

Thirdly, haven't we been through this during the first .COM bubble? Did no one learn? Really - does no one remember?

During that bubble it seemed that every business model was based upon advertisement supported content (even "free" PCs if you subjected yourself to continuous advertisements), until the final, ridiculous climax when there were software products that actually outright paid you (or at least your macro-engine) to "watch" advertisements. Of course we know how that turned out, but here we go again.

   
Sunday, November 20 2005

This Friday I was chatting with a respected industry contact - someone who I consider reliable regarding Google's technology initiatives - and was passed some interesting and exciting information. The impetus of the discussion was an entry I put up back on October 3rd - a post in which I opined that Google is big enough that it can lead web standards rather than just follow them. If the source is to be believed, and I think they should be believed, I made a lucky guess and there is some truth to it.

I will add the caveat that the information I have been fed could be completely bogus misdirection: It could be a market research probe to see how the community accepts it, or it could be a bit of a hint of what Google is up to in efforts to prepare the marketplace. I should also say that normally I would disregard this sort of information if I can't publicly attribute it to someone credible, but in this case I find it so logical, and thought-provoking, that I'll make an exception.

The "facts", purportedly and as interpreted by me from a casual conversation (these were conveyed by verbal chatting, and not a formal white paper, though I have gotten them to confirm that the gist of this post are accurate in regards to what we discussed), are as follows:

  • Google is rolling out a data center strategy to support nationwide - and eventually world-wide - pseudo thin-clients. This will be technically facilitated by geographically distributed computing centers, as well as by an extraordinary dark-fiber bandwidth capacity that Google will bring online.
  • Google has been developing a completely new thin-client protocol (for the purpose of brevity I'm going to call it G-Windows for the rest of this entry, though that name is entirely of my own making) - a hybrid between the high-level document layout of HTML, the vector capabilities of SVG, combined with the best attributes of X, Remote Desktop Protocol, and even DirectX/GDI. Clients of G-Windows will be rich enough to manage the high level abstractions (e.g. like HTML), while still allowing side-by-side and completely integrated server-side rendering with integrated streaming raster graphics.
  • Purportedly G-Windows will be published and open once version 1.0 is released.
  • Google has been proceding with a cross-platform implementation plan for a fork of Mozilla/Firefox that supports G-Windows (no mention of Internet Explorer, but presumably a plug-in for IE would make sense as well).
  • Google has been in talks with an unnamed large set-top box vendor (think PVRs) to provide a thin-client media center box that natively supports G-Windows.
  • Google will roll out side-by-side, but more interactive and feature rich, G-Windows applications to compliment their existing web apps.

This could make for some very, very exciting times, and it might provide a more feature rich programming model and user interface than the current duct-tape of technologies delivers.

   
Monday, November 21 2005

Every month or so, increasing in frequency as the holiday season approaches (courtesy of PR shops acting on behalf of Microsoft and its hardware partners), there are newspaper and television pieces about Microsoft's Media Center OS and the hardware that hosts it. Each time it's presented as a revolution in the living room, and there are bold predictions about how this year it'll take the world by storm.

While everyone seems to focus on the operating system as the critical link that will yield convergence, I think that's the least of the reason why computers were deported from the living rooms to home offices everywhere.

Instead there have been some historical problems that have thwarted convergence:

  1. As computers grew from the Commodore 64s and Atari 800 era into highly capable devices, like the Amiga and Atari ST, that growth brought with it a need for more resolution than televisions could handle. This is what kicked the computer out of the living room, as computers now required their own, special monitor, and conversely there was no way that you were going to watch television on a 14" VGA monitor. Quite a few years back, just under a decade ago, Gateway tried making a 27" television/computer monitor to support their convergence device, but the result was a subpar computer monitor that doubled as a subpar television.
  2. The wires of keyboards and mice are very unsavoury in the living room, not to mention that a modern PC needs to be networked to really be usable.
  3. Computers take a long time to get going - they aren't very convenient - and they are noisy beasts.
  4. Computers are ugly.

Thankfully there have been some great advances in all of these areas. First and foremost, home television and computer display technology have merged, and we now have relatively inexpensive, large (27"+) multimedia displays yielding a million pixels or more (720p and up). Many of these feature perfect-fidelity digital DVI or HDMI ports to transport the display of the PC accurately on your living room display. My living room television is a better computer monitor than the one in my home office.

Advances in wireless technology have brought us wireless networking (no running CAT5e to your living room), but also reliable wireless keyboards and mice: you can stick them under the couch, and you don't have a sloppy setup in the corner of the room.

On the topic of aesthetics, several manufacturers are now (finally!) making PCs in a standard home-theatre equipment form, making it fit in beautifully alongside your other equipment. No longer does convergence mean having a beige mini-tower in the corner of your room. With this they've equipped it with virtually silent fans and hard drives, ensuring that it's sonically unobtrusive.

So now we have good looking, high power, convenient computing devices that display gorgeously on our living room displays. Convergence is upon us, and whether it's used to play MAME games, poker online, or as an MP3 repositorie, the computer has re-entered the living room. I don't even care if it acts as a PVR - I have a stand-alone device to do that - but if it can interface with the television source provider and their HDTV and digital content, and it does a competent job at it, then it could do that task as well.

Sidenote: Microsoft recented inked an agreement with the cable and satellite cabal that will see them including CableCard functionality in their media centers by next Christmas. This is tremendously important, as without this there was no way that your Media Center could make use of all of the digital and digital HDTV channels on the provider's feed, instead being limited to the analog signals.

Speaking of that, a "fun project" I had been considering was a DVI loop-thru adapter in my media PC - one that took the uncompressed DVI 720p signal in an input, and passed it untouched into a DVI 720p DVI-D output. The purpose would be that I could then start overlaying graphics on the computer - the processing demands would be significant, but I mean things like a little translucent icon saying that mail has arrived or a skype call is incoming, or whatever. Of course this brings up digital rights management (DRM) issues: This would not work for HDCP protected content, nor will it work when Microsoft integrates CableCard functionality, as they'll have the swear on their first goldfish's grave that there is no way evil programmers can alter or intercept the signal.

   
Wednesday, November 23 2005

Wasted Power

100_0080

I've been thinking a lot about power consumption in our PCs. For instance that a PC sitting idle, monitor(s) in standby mode, is consuming 70W or more in many cases. All while doing nothing more than anxiously awaiting your return (if you're silly enough to run some sort of 3D "screensaver", that number increases significantly).

Often they're idling around the clock on the off chance that you might wander by and desire instant PC satisfaction. In the corporate setting it's frequently policy to leave workstations on around the clock, for the infrequent occasion that the network admin team needs to roll out a patch.

In the former case you should look at standby or "hibernation". In the latter case, the admins should be using Wake-on-LAN, which is supported close to universally. Dated arguments about system failure or hard drives seizures on start-up aren't rational, or even statistically valid worries.

Increasing Consumption

Which brings me to online power consumption: the power your computer is burning when it's busy doing actually useful work for you. Over the past decade processor power consumption has skyrocketed (with brief retreats, followed by the next surge into power gluttony). Thankfully, though, the power consumed by a processor does scale in a loose correlation with load: A processor at 100% utilization uses more power, and generates more heat, than one idling, courtesy of various power saving strategies available on modern PCs and operating systems (such as the HLT instruction). This is even more evident with mobile processors, which actually reduce the voltage under a lower processing load, saving even more energy (and thus reducing the heat output proportionately, as well as the need for noisy internal fans).100_0084

These savings are offset, though, by the monster co-processor that most PCs have: The videocard GPU, which offloads 3D graphics operations to a hugely complex piece of silicon (video card GPUs are far more complex than your CPU in most cases). Couple that with huge amounts of power-sucking ultra-high speed onboard memory, and video cards are now pushing 150W+ of power consumption under a load (such as when running a 1st person shooter). Thankfully modern video subsystem turn off a substantial portion of their circuitry when it's unneeded, such as in the 2D world when composing a document in Word, vastly reducing power consumption.

Nonetheless when the demand is high and you add together the load of a processor running at 100% with a video card doing the same, you have a recipe for a tremendous power sink that doubles as a competent space heater.

The end result of this power consumption is increased resource usage, higher electric bills and demand on the grid, PCs that require more fans and cooling solutions (and thus create more noise pollution), and often a hotter, less comfortable environment.

Even if you don't care about the environment or rising power costs, and if you enjoy the balmy 40C room temperature, when you're using a mobile PC the the lifespan of your battery, along with the ability to use your laptop without it igniting your pants on fire, depends upon the efficient use of computing resources. In that case you absolutely want your processor and supporting systems (e.g. graphics GPU) doing the absolute least amount of work possible to satisfy your requirements, doing what matters to you without wasting cycles with frivolity.

Windows Vista

Which brings me to Windows Vista (previously Windows Longhorn).

One of the major new features of Windows Vista is the Aero Glass experience (both as an API for applications, and the shell itself). Aero Glass in essence turns your desktop into a video game: Instead of the current model where the GDI draws on a 2D palette, updating the video card memory (making use of acceleration routines that the video card supports) only when changes occur, the model of Aero Glass is that of a traditional game: With every "frame" the scene is wiped clean and re-rendered from scratch, layering "textures" that represent application canvases onto 3-D polygons and building the user experience from there.

This system will attempt to push 60-90FPS of user experience goodness through your video card.

In many cases this will max out even high end video cards. Even where it doesn't, all of the shaders and T&L engines on the video card are engaged - the additional power consumption will be considerable. This could easily add 150W+ to your system power load, and could absolutely devastate battery lifespan for portables. This is on top of the fact that you're suddenly measuring your GUI in frames per second.

In other words the new, shiny user experience in Aero Glass isn't just making use of unleveraged hardware in your PC (which is a valid point - there's a big powerful graphics card there, so why should it go to waste) - It's also considerably adding to the power consumption, heat generation, and cooling requirements. In the mobile world it would be hugely detrimental to the battery lifespan.

All to add a bit of eye candy that, at least as far as I've seen, marginally improves usability.

   


About the Author
Dennis Forbes Dennis Forbes is a Toronto-based software architect. While focused primarily on the .NET and SQL Server worlds, Dennis frequently ventures outside of this comfort zone into game development and image processing. He has been published in several industry magazines, has been quoted in the Wall Street Journal and has been interviewed by NPR.

He is a vice president and lead software architect at an innovative New York City hedge fund back-office services firm.

Dennis has been working on solutions for the financial, telecommunications, and power generation markets for over 15 years.





 
Earlier EntriesLater Entries

Dennis Forbes