| Comments

About twice a year my wife freaks out (well, my terms not hers) about money, material things, life, etc.  It’s a good freak out actually…and it is what has kept me grounded more in life than my past habits (you know, when you felt you *had* to have everything).  I’ve learned to not care about things that aren’t worth the trouble.  Her balance in my life really has made a good impact in things worldly.

Back to the freak out :-) …

We’re constantly looking for ways to save money.  At times it is because we have to (or should) and others it is because we are wanting to put those resources elsewhere.  The latest has been with TV cable.  I like watching TV.  It’s a break from reality and just lets me escape real world for a few hours a week.  But the truth be told, nobody in my house really cares about it.  Each month we pay roughly USD $80 for cable service.  This includes HD service and an HD DVR.  Honestly when I evaluate my watching, I really only watch major network shows (I’m not a sports guy) and re-runs of Law and Order.  I LOVE HD and hate watching anything else.  When I came to this realization though, I finally acquiesced and said we should cancel our cable.  We were paying $80 for basically 9 channels…it was ridiculous how our provider (Cox) prices.  I wish I could cafeteria shop what I wanted, but they aren’t there yet.  I didn’t care about reducing my fee (which they offered) and I wasn’t interested in DirecTV or other satellite offerings.  If I was going to cancel, it was going to be completely.

So there.  I’ve committed.  We’re cancelling.  But I still want TV occaisionally.  We’ll get movies through Netflix and I’ll explore Hulu via PlayON perhaps.  But there may be times where I just want to setup TiVo for The Office and watch it at leisure.  I decided I’ll explore doing the over-the-air HD.  I sent out a Twitter note about it and got some great feedback.  I didn’t find anything online that showed someone in my situation in a step-by-step thought and execution process though.  That leads me here.  This is my adventure…to rid myself of cable and keep standard broadcast and FREE over-the-air HD channels.  Here we go.  Hopefully this helps someone else as well.

The Home Setup

My home has 3 primary TVs:

  • Bedroom – old 27” tube-based TV.
  • Living Room – 42” LCD which currently only displays in yellow tints because one of the blue lamps busted and we decided screw it, we don’t watch enough TV and the kids won’t notice.
  • Basement – 60” LCD – the ‘main’ unit.  My sanctuary.  Where the HD takes place.

We also use TiVo:

  • Bedroom is hooked up to a TiVo Series 2 DVR which has been customized with a 500GB storage drive.
  • Living Room is hooked up to a Toshiba TiVo/DVD player (effectively a Series 2)
  • Basement uses the cable provider’s HD DVR which will be going away.

Basement is also where the XBOX 360 is hooked up and Netflix is watched as well as most DVD viewing.

Our home is fairly modern (5 years old) and so has structured wiring built in.  I have an access panel where all central wiring goes:

Home wiring panel

You can see that the intertubes come in through here as well as my cable is routed to one place and then distributed via the splitter.  I refer to this area of my home as my NOC.

The Goal

The primary goal is to get major network HD broadcast into the home (ABC, NBC, CBS, Fox, local).  The secondary goal here is to not disrupt any workflow or viewing behavior (other than some channels we no longer get which we’ll supplement with Netflix Instant Watch for the kids shows).  Now I know Basement will suffer because the HD DVR will be going away…we’ll get to that when we can, but this is the goal.

We also want to use the existing infrastructure of the home with minimal (if any) purchases or re-tooling/wiring of anything.

These, my friends, are the goals…plain and simple.

Initial Research

My quest started on a Thursday.  I obviously knew I was going to need an antenna.  Part one was finding out which one would be best and what I’d need.  The NOC has a cable that is there that is labeled ‘antenna’ so I can only hope when I search for the other end it may be in my attic or perhaps out on my roof…I start thinking good thoughts.

My initial Twitter post yielded some great information (much of which also showed up in search engines, but it is good to validate against trusted resources and ‘real’ people).  The best piece of starting information was one web site that seems to be pointed everywhere as a definitive source of digital signal information.  That site is AntennaWeb.  It was recommended to start here to map out where you live in relation to the current digital signals.  Their database of information would identify which stations would be available and recommend an antenna type for you.  It tells you the areas, the compass headings, their channel number, etc.  It even gives you a map of your address and where the best place to point your antenna to for the channels you want best:

AntennaWeb Map

The rating it also provides is to help you choose which antenna you should look for.  In my case, it was clear that I should shop for a “yellow” rated one:

AntennaWeb Reception Rating

Since most online places I quickly scanned didn’t put this rating on it, I figured this was going to result in a trip to the store.  Several people recommended the Philips MANT940 (Walmart for <$40).  The reviews looked great on this unit so I decided to check it out.  Hal Hostetler (a Microsoft MVP who also happens to work for a local broadcaster) gave me a ring and helped me understand some things as well.  His hopeful thoughts meant I should be well on my way.  The reviews are good on this unit and for the cost, I decide to take a gamble.

The Wiring

Luckily as I mentioned, my home is already wired for an antenna and in fact it did go up to the attic so I was all set.  I put the power booster in the NOC and crawled up the attic and put the antenna in there.  All systems go…so I thought.

Problems Arise

Now remember my goal is not to change a thing in the workflow.  My first pass was to re-setup my TiVo unit attached to Living Room.  I started the process and then TiVo asks me if I have a digital-to-analog converter box ready.  Argh.  I was hoping in my idiocy that my thinking was wrong.  Alas, I wasn’t.  Some quick searches confirm from TiVo that Series 2 and Toshiba/Humax DVD units require a converter box.  Even worse was the PDF describing that the infrared controller from the TiVo would need to be busted out to control the converter box.

NOTE: I generally am the type of guy that researches things step-by-step unfortunately.  My searches for “tivo hdtv antenna” didn’t yield much, but a search for “tivo converter box” brought me the information I should have found earlier.  Suck.  My fault in my eagerness to start connecting things.

Well, now I’m at an impasse.  I consult my TiVo trusted advisors and they inform me that I have 2 choices: use converter box or get a TiVo HD unit.  Okay, here’s where my mind starts thinking and this time at least I stop and do some calculations before buying anything else :-).

Deciding on Options

With my 3 TV’s I was looking at 3 more purchases.  Now considering that let’s say a converter box was about $50 (I know there are the coupons but I wasn’t eligible to get one this late now), let’s start breaking some things down.  I could buy 3 of them ($150) and hook them up, but then i’d be using lame IR connections on my 2 TiVo Series 2 units.  This was not desirable.  I didn’t want to add components to my setup.  I wanted to remain the same.  At this point, I realize this will no longer be possible.

So for my Living Room (the TV that is broken anyway) I try to just connect the antenna feed direct to the TV (after all it was ‘HDTV ready’).  This doesn’t allow me to use TiVo at all anymore on this TV and my ‘lifetime’ service is wasted on this unit until/unless I get cable again. 

Bedroom is an older TV and will require a converter box.  This sucks because it makes the Bedroom TV setup more complex then it needs to be.  I’ve not resolved yet on what I’m going to do for this situation.

Basement is the key here.  I mean, I got a large TV for HD viewing.  Clearly I’m in a dilemma.  I love TiVo and had considered getting the TiVo HD before for this unit and ditching the cable provider’s DVR.  Now the cost of a low-end TiVo HD is about $300 and then you still have to pay for the TiVo guide service for either $13/month or $400 for ‘lifetime’ – and no, they won’t transfer my existing unit service anymore.  My other dilemma for Basement is that it is hooked up to an entertainment system receiver, so ideally I do want something that can have component hookups.  Most of the converter boxes I saw did not, but TiVo HD does.  This is important because if I decide the antenna-only route, this impacts Basement and the entertainment setup.

So if I go that route, I’ve not eliminated a bill from my home (I’m lowering it to $13 from $80 I suppose), and also adding a large chunk down to even get that started (equivalent of 3 months of HD cable).  This is not sounding good to me.

My goal of not changing anything was not looking like it was going to happen.  I really didn’t want to invest more in hardware or substantially in services either…I’m trying to eliminate, not change slightly. 

My solution and learning

I sit back and realize I don’t watch television enough anymore to really go the extra mile here.  I didn’t want to change anything.  Having to invest more to keep that goal isn’t desirable.  Having to change the way I watch TV (i.e., I relied on TiVo because I never watched anything live) was probably not going to work out.

So, no TV for me.  I might try to see how the antenna-only solution goes for a while since it was $40 and I could give it a try for a bit.  But in the end…we wanted to eliminate costs, not swap them out even for a short term.  And at this point in our lives, we can say that TV isn’t important enough to stretch it out.  It looks like I’ll be spending more time on Hulu, etc.

The solution is possible though as I learned.  The challenge for me was that I already had an investment in older DVR technology.  If you are in the same situation, keep that in mind.  If you don’t use DVRs or that is something you can easily give up, then this situation could really work.  I got about 22 channels (some random) of digital antenna broadcast that would probably be fine for most casual network broadcast viewers.  If you’ve been in this situation and have better solutions, let me know!  Oh well, we’ll see what happens at the Heuer household, but at this point, it was a fun little 2 day experiment that made me realize immediately what was going to change.

| Comments

One of the goals of new versions of Silverlight is to be be backward compatible with previous versions.  We make this a priority goal so that people can keep their previous applications deployed while not worrying that people with newer Silverlight will have a broken experience.

Silverlight 3 has been out in beta form since March 2009 and hopefully if you are a Silverlight developer you’ve had a chance to work with the new features and tools.  If you have existing Silverlight 2 applications that are deployed, I wanted to draw your attention to some action items if you haven’t done them already.

Call to action: Test your Silverlight 2 applications for compatibility!

What does this mean?  Well, we want your existing applications to be successful and want to ensure their compatible.  Here’s you’re call to action:

  • Keep your Silverlight 2 applications deployed.
  • Set up some test “user” machines to browse to those applications.  Install either the Windows or Mac runtime of SL3 beta respectively (ideally both if you have access to both operating systems)
  • On the test machines start browsing and working with your Silverlight 2 applications…test your normal scenarios
  • If you find issues, report them immediately to the forums with repro steps and as much detail as you can.  Might I suggest making the topic SL2Compat: <your issue> so as an example: SL2Compat: my app stopped calling web services.

As I mentioned, our goal is backward compatibility, so hopefully your applications will be unaffected.  As you might expect there will be breaking changes among Silverlight 3 beta to release as well as some fixes in Silverlight 3 that we’ve found needed to be fixed.  How will these fixes potentially affect your applications?  Hopefully very little due to quirks mode.

A word on quirks mode

The Silverlight team wanted to fix some things in Silverlight 2 in the new version of the runtime, Silverlight 3.  However by fixing some of these things it was possible to change behavior of existing Silverlight 2 applications.  In order to get around this, we made these potentially problematic changes “quirk mode changes.”  A quirk mode change is one that the Silverlight 3 runtime will not enforce if the runtime detects that the application being run was designed for Silverlight 2.

The runtime detects which target version by the RuntimeVersion attribute in the application’s AppManifest.xml file.  If you’ve never modified it, that’s fine.  The Silverlight build tools automatically append the correct runtime version into this file at compile time.  So if you are working with Silverlight 2 release tools, the attribute is 2.0.31005.0.  If you work with Silverlight 3 tools, it will be the Silverlight 3 version number.  The bottom line here is that your Silverlight 2 compiled apps will still run under Silverlight 3 without modification – quirks mode happens automatically.

What happens at Silverlight 3 release?

Nothing.  If your Silverlight 2 applications work under the SL3 runtime, which they should, then you are fine.  You may want to take advantage of the many new features of Silverlight 3.  At the time when you do this, you will be working in Silverlight 3 and anything that may have been fixed from Silverlight 2 will now be affected (see quirks mode diagram above). 

When you do update your Silverlight application to use version 3 and redeploy the XAP, make sure that you also update your deployment mechanism (i.e., the <object> tag or the Javascript method to create the Silverlight object).  You’ll want to ensure you update the new minRuntimeVersion attribute to the Silverlight 3 ones to ensure the end-user has the correct version.

If you have a Silverlight 2 application, we encourage you to ensure you’ve done your compat testing.  If you find issues, report them in the forums, not here.

Hope this helps!  Onward to Silverlight 3!

| Comments

Forgive the distraction…I couldn’t help it.  I get frustrated when I see these things in the world I live (interwebs).

My wife and I were in the market for a truck.  We decided on a particular model and started watching local Craigslist postings.  One came across our eyes that we simply couldn’t believe…it was a recent model truck with 24K miles and was listed for less than half of what others were listing.  Both of us knew either one of two things happened: 1) major typo in the guys listing or 2) scam.  But just in case we wanted to clarify.  There was no phone number/name listed (scam alert 1), so we used the craigslist email.  Here’s the listing in question:

Craigslist Scam Listing

Now, granted this isn’t really even the style we were looking for (pimped out rims, lowered), but if it was legit then we’d be able to turn a profit maybe :-).  We knew it wasn’t though.  Below is the email I sent:

Okay, what's the catch? a 24K miles 2005 loaded for $10,000?! Salvage title?
If not, does it have tow package with brake controller in cab?  what is a disability package?

Then we got a reply:

Subject: Re: ford f-150 supercrew - $10200 (phoenix)
From: "Hickman Bobby, Tech Sgt." [email protected]

Hello,

Thank you for your interest in my car.This is a 2005 FORD F150 SUPERCREW
4x4, 8 Cylinder 5.4 Liter, Gasoline engine,Automatic
Transmission,Non-Smoker,clean title!! The car has only 24,000 miles on
it,VIN# is : 1FTPW14515FB48400 .

Here you can find more pictures of the car:
http://s597.photobucket.com/albums/tt58/fordfordsalfor150/
(if the above link does not work copy and paste it into a new web browser
window).

The car has been well taken care of, always kept in the garage.Flawless
exterior/interior condition,no scratches and no dents.It has never been
involved in an accident.The engine starts and drives like new and the paint
looks great.It comes with US clear title which will be signed and notorized
in the buyer's name.Have all keys and manuals.

I'm an US Air Force Tech. Sgt. currently stationed in Germany.The car is
here with me. It was bought in the US and shipped to Europe, but it was
never permanently registered here, the car is still registered in the US.The
car is for sale locally as well, but there are slim chances of this to
happen. In order to be able to register this car here in Germany the buyer
would have to pay very high import/custom taxes that will double the price.
So I decided to sell the car back in the US.

The price is $10,200.00 including shipping from Germany to the US and
delivery to your home address.

So if you decide to buy this car or need further information please get back
to me as soon as possible.

Thank you
Tech.Sgt.Bobby Hickman

Hmm, US military (scam alert 2 – playing off patriotism), car is overseas (scam alert 3), still registered in US (scam alert 4), and cost includes shipping back to US (scam alert 5).  At this point we’re at defcon 4 with scam alert.  We chuckled and continued our search.  But remembering how much fun I had reading Ebola Monkey Man (NSFW) I decided to have some fun.  I mean, this person wasted my time, why can’t I waste his right? :-).  Since the posting had a note about ‘disability equipped’ I further inquired:

Can you send me pictures of the disability access package you have?

To which he responded:

The car is in excellent condition,no mechanical or electrical problems.It drives very very smooth.

I will have the car shipped from Germany by an US Air Force cargo plane so there won't be any additional shipping costs. Also I will arrange for a truck to transport the car to your home address or, if you like, you can pick it up from the nearest airport in your area. The shipping will take 6-8 days, depending on your location.Shipping will be door to door,to your home address,somebody must be home when the car arrives to sign for the reception.The car will arrive with all the papers and documents required for registration and the keys. The clear title and the bill of sale will be already signed by me.

The payment will be done through eBay.You will send the money to eBay and as soon as the payment is confirmed they will notify me to proceed with the shipping. I will ship the car, you will receive it and you will have 5 days for inspection, both the car and the paperwork and the option to accept or reject the car.The inspection time period will begin as soon as you sign for receiving the car at your requested address.During all this time eBay will hold the money into a trust account.So, this is not a blind transaction,you can see the car before decided to buy it.If you are satisfied with the car and decide to keep it you inform eBay about this and they will release the money to me. If the car is not as advertised and decide not to keep it eBay will refund you the money, no questions asked, and shipping back the car will be my concern. I think this is more than fair for the both of us.Please take in to consideration that I will get paid only after you receive the car and make sure everything is as agreed.

If you agree with these terms and you have the money, send me your full name and the address where you want the car to be delivered to and I will initiate the transaction with eBay. You will receive all the transaction details from them.

I will appreciate an answer as soon as possible.

Thank you
Bobby

I’m loving the start of this because he’s ignoring my inquiry.  Oh, and ebay…we’re now at defcon 6 people.  But of course I kept it going:

Can you please send me pictures of the disability package that you listed in your listing?
Also, where is the vehicle currently registered?  In which state in the US?

Quick response this time (perhaps only an hour):

The car does not have any disability .It is fully equipped.

Hmm, he doesn’t get it, okay, time to have more fun.

Thanks for the quick reply Bobby.

Your listing says "disability equipped" in the description.  I'm trying to understand what that is.  I'm assuming it means something to do with equipment that allows for a wheelchaired person to drive it easily and it stores the chair automatically in the truck bed.  I'm not disabled, but I am thinking this might be cool in case someone with a wheelchair needs to borrow my new truck for some reason.  Can you help explain to me what this means?

This sounds like a great deal and my wife and I are excited.  Do you have any pictures of the radio area?  I love music and want to make sure the radio is a good one.  That's important to me.

For the sale, can I use something other than eBay?  Isn't that for auctions only?  Sorry for the question, but I've only used eBay when looking for vintage train parts for my Lionel set.

Thanks in advance for the reply and information!

And I mean the above in no offense to anyone disabled.  Clearly this is a scam and he took the listing from someone else.  Here’s the reply from the latest:

The car does not have any disability!!!!!!!!!!

Now I’m laughing because he doesn’t even read his own listing.  My follow-up:

Hi Bobby,

I know there is no disability, but in your listing you have a feature (next to power windows, etc.) that the vehicle is "disability equipped" -- is that incorrect and there is no disability equipment feature (like a wheelchair life)?  I've decided if there was I wouldn't want it.

Thanks for the fast reply.  I'm eager to start the transaction -- you didn't say anything about eBay either.  Can't we use some other service that doesn't charge me money?

-th

This is too great.  After a while more, here’s his response.

Hi,
The payment will be made through eBay. I'm under Contract with eBay which states that we can close the deal using their service.Very Important, Only after you will receive the car, eBay will release the money to me.

The money will be sent per ebay instruction and you will give the payment details only to eBay. They will verify the payment and when the money are confirmed they will notify me to proceed with the shipping process. After you receive and see that the car is the one you want, you just notify eBay to give me the money.

In order to start the deal I need YOUR FULL NAME and SHIPPING ADDRESS so I can register the transaction with eBay. They will let you know what you have to do for the payment.

Thanks!

Um yeah, you still haven’t answered my questions.  Now I’m getting frustrated :-)

Bobby,

With respect, you still haven't answered my questions.  Your listing talks about 'disability equipped' and you haven't explained that.  Also, you haven't answered where it is registered in the US so I can make sure I can transfer the title.

I'm eager to begin the transaction, but you aren't answering my questions about the car.  Does it have a full size spare tire?

After a day on this one, I think the scammer had some help – here’s a reply with my answers.  Now keep in mind, I’m Tim and he’s Bobby yet this was a reply sent to me (the italics parts were in a different collor as well…cut and paste):

Hi Bobby,

Is a misprint.The car is in excellent condition,no mechanical or electrical problems.The car is registered in UT.

Send me your full name and the address where you want the car to be delivered to and I will initiate the transaction with eBay. You will receive all the transaction details from them.

I will appreciate an answer as soon as possible

Dude, if you are scamming…get your folks right.  I often wonder if scammers learn from others?  All you have to do is read Ebola Monkey Man and you could be a better scammer I suppose.  I proceeded to reply with a fake address with Nick Burns as the name to receive it and a totally made up address in Arizona.  After a bit, the scammer replied:

I got your info and I will initiate the transaction through ebay,they will let you know what you have to do for the payment.Get back to me as soon as you receive their invoice.You should hear from them within 24 hours

It’s amazing to me that despite the obvious risk here that some people actually fall for this.  In fact, Craigslist puts up a giant banner that specifically warns on this:

Craigslist scam warning

In the meantime, I set up a different GMail account and sent the scammer (via the craigslist email) a note asking if the truck was for sale.  Within a day I got the EXACT reply as the first time I inquired with my real identity.  I mean, c’mon who would respond to an email that was ‘[email protected]’ – seriously!  In the meantime I hadn’t heard back from the ebay transaction and I responded with:

I haven’t heard anything yet and am eager to complete this sale.  Please don’t tell me you sold the truck :-(

Yes, I included the emoticon for sincerity.  The scammer responded that I should check my spam folder for information from eBay (ooh, the irony in that statement).  I assured him nothing was there and to start it over.  I instantly see this in my inbox from [email protected] (which is hilarious…go visit that site…um Google Sites…nice—I totally trust you, where do I send my money?! lol):

Craigslist Scam eBay Invoice

Like the name I provided?  And the address?  There is no Bartsville, AZ…and 85003 is somewhere downtown Phoenix I’m sure…holy crud man, take a moment to verify!  Oh and I’m buying from Bobby Hickman, but the account holder is Harrison Macpherson!?!?

Craigslist eBay Scam Invoice 2

Further investigation of the “central fax number” reveals so many other scams happening like this one also claiming to be a US Army person.  This is unbelievable.  Seriously…there are no more defcon levels left to reach…we’ve hit scam meltdown at this point.  What amazes me is that people fall for this.  There are so many signs of wrong, deceit, lameness going on that I really do feel sorry for people who think these are legit! 

I decided to see if I can pull an Ebola Monkey Man style picture out of this scam and send the scammer this note:

My wife is very nervous about this transaction through ebay and wants to be assured the truck is still in good condition.  She wants a recent picture of the truck, with someone standing in front of it (perhaps you in your uniform?) holding a sign with the current date.  That will make her more comfortable sending the money through ebay.  Can you send us that picture?

I tried to convince her everything was fine, but she insists.  She's a little crazy I think, but she has the money as I'm not really employed and just play computer games all day long anyway, so I have to listen to what she says.

-th

In the meantime, over in ‘anonymous mailbox’ land, the scammer continues sending the same email about shipping via US Air Force, etc., etc.  Seriously…I am just laughing that in the inbox of the scammer these messages are showing up from “Anonymous Mailbox” as the person.  Unbelievable. 

At this point, I have decided I don’t have any more time to waste on the guy and shot of a note to the trusting “Sgt” informing him of the fact that I believe it to be a scam based on, well, everything.  Oh well, it was interesting to see this dialog and sad to know that it is successful with some folks at times.

| Comments

At the Google I/O conference this past week, they announced Google Wave.  Almost immediately, I started seeing Twitter replies, blog posts and various articles talking about how Google Wave is going to kill Flash/Silverlight/JavaFX.  None of these made sense to me…and at that point I’d yet to see anything about Wave anyway.  I posed a few questions on Twitter as to why people felt Wave was an RIA platform killer (that’s what I was reading into a lot of the buzz against things like Silverlight).  I got more confused with all the replies :-).  So I had a moment this morning to listen to the Google I/O Wave keynote.

I first heard Vic Gundotra come out and describe Wave as a “…personal collaboration and communication tool…” followed very soon by an introduction of Lars Rasmussen who immediately also came out and introduced it as a “…communications and collaboration tool…” as well.  Hmm, okay, so it’s a tool?  This is where I was at so far less than 10 minutes of the presentation.  In fact everywhere it is being described so much as a tool rather than a platform.  In their post they help differentiate a bit more calling it a product, platform and protocol.  The keynote session finally got to this point as well.  Great, now I get to learn about the platform.

After about 40 minutes of the presentation I’ve seen a very interesting project/product, but haven’t seen it as a platform that is replacing anything like Silverlight.  Stephanie Hannon, the lead product manager, unveiled the Wave product as an HTML5 application built using Google Web Toolkit (GWT).  Since GWT can be used today, I was curious what aspects were HTML5 in the app – I didn’t feel they elaborated at all – someone correct me if they did please.

At least 40-50 minutes of the demonstration was all about the Wave experience, a lot of looked to me like a tight(er) integration of Gmail and Google Talk…both of which are products I admire and are great examples of rich web applications.  There absolutely were some cool features such as the real-time communication updates (no more waiting for Tim is typing).  The “playback” feature was pretty cool/fun to see as well, but I’m not sure how much I’d use it.  Obviously demos at conferences are contrived and so as cool as it was, I can’t wait to test it out in the “real” interwebs.

The drag/drop feature of images from desktop to the Wave was also cool and raised my eyebrow.  Then Stephanie points out that this is something HTML5 cannot support and that feature requires Google Gears.  They mentioned they are working on a proposal to HTML5 to accommodate.

The other promise of Wave was that it would be “open” – a phrase that seems to have become a buzzword among anything web.  Open at what level I wonder?  Even Lars himself mentioned that they would “…open source the lion’s share…” of the Wave product experience (and demonstrated one minor skin customization).  But what isn’t in the lion’s share I wonder.

So the product got a lot of attention then about 20 minutes or less of the platform/protocol.  The platform seemed to have been demonstrated with the use of gadgets (embedding a map in the Wave, embedding the Wave in Blogger, etc.).  In fact the only aspect of the platform I felt was shown was embedding (they even referred to an embedding API).  The protocol also claims to be open.  Great!  There were some minor demonstrations of this (I admit, kind of hard to ‘show’ a protocol), but didn’t really get emphasis I felt.  So of 3 pillars of the Wave announcement, really only one of them (product) got any real depth.  Granted (and they admitted several times) that the whole Wave concept is in early form and limited access given to developers.  Frankly I was surprised no Android-Wave integration was shown.

From a product standpoint, it looks like a fun collaboration tool.  I have some concerns about the user experience like collaborating with LOTS of people.  Their UI seemed to make use of avatars and make the assumption of collaboration of 3 or less.  I routinely collaborate professionally with large groups and personally with groups more than 6 (think homeowner association).  What does Wave look like with groups or large collaboration…could a Wave look so spaghetti that it becomes unusable?  I suppose that is the intent behind playback.

Nothing that I personally saw (and I’ve yet to get my hands on it) led me to draw comparisons/conclusions to Wave threatening RIA platforms like Flash, Silverlight or JavaFX.  Sure, Wave as a product is a demonstration of a great web app/RIA…but that’s an implementation, not a platform.  So is HTML5 really what people are talking about here?  Okay, help me understand how HTML5 Wave in the scenarios they demonstrated?  Even they admitted that some of them were using Gears.

One of the more forwarded articles was one by the Zoho executive staff titled Microsoft Silverlight vs Google Wave: Why Karma Matters.  Sridhar in that article should really change the title.  It’s misleading and he doesn’t prove the point of the title.  What he explains is the buzz behind early alpha like Wave versus early stuff from Microsoft.  The excitement around Google announcements is generally huge and positive (although some don’t think it’s the cat’s meow) contrasted with Microsoft releasing something and everyone usually being a skeptic.  Sridhar tries to draw some analogy to Silverlight, but I think fails.  He’s just throwing more FUD around Microsoft in general.

What I also find interesting is this buzzword of “open” – something Google is praised for.  Let’s take a look at Google Wave Federation Protocol.  What’s open about it is that they’ve created something and put it out in specification form (and put a .org domain around it).  If that is the definition of open, then why is Microsoft hammered for XAML?  We have a spec out there?  What about C#?  Heck, that’s an ECMA standard.  I see a bit of a double-standard here.  I’m not saying that organizations like Google and Microsoft shouldn’t continue this practice…in fact, the opposite.  But it does seem odd that a protocol built to serve a specific need that wasn’t already available in existing standards is being praised when that is what other organizations have been specifically slandered for in the past.  Seems odd.

So is Wave going to threaten RIA platforms?  I don’t know.  Is it even an RIA platform?  I just think that all the messages about how Wave is pushing out things like Flash, Silverlight or JavaFX are unfounded at this point.  They all serve purposes.  Is HTML5 really what people are talking about here?  Fine, then draw that comparison and put some meat around it.  As far as I could tell, HTML5 is a working draft still.  To me as a developer (and as a user) this means that even once ratified as a standard, browsers will have to decide to support that (I know some have already)…and even beyond that-people have to use those new browsers.  The slowness of standards leads me to believe that RIA platforms will be around a while as there is some flexibility in providing RIA frameworks from commercial vendors.

If I’ve misunderstood something, please correct me.  I really want to make sure I’m seeing the whole picture.  But in the short days after a keynote only demonstration that was admittedly baked, I’m not sure the sky is falling for RIA frameworks and platforms.


This work is licensed under a Creative Commons Attribution By license.

| Comments

If you looked at the updated RIA Services Business Application template which had the authentication built-in, you may have seen the login screen with a little icon next to the password field:

Biz App Login Template

When you hover over this some helpful information displays in tool tip form:

Tooltip Helper

So how did that get there?  The power of the data annotations.  If you look at your model definition, you can add a DisplayAttribute and provide some additional information.  Let’s take a look at a simple example.  Here’s the simple model:

   1: public class PersonModel
   2: {
   3:     public string FirstName { get; set; }
   4:     public string LastName { get; set; }
   5:     public string EmailAddress { get; set; }
   6:     public string Gender { get; set; }
   7:     public int Age { get; set; }
   8: }

and the DataForm generated:

DataForm with no Attributes

Not too helpful.  Now, let’s modify our model with some attributes:

   1: public class PersonModel
   2: {
   3:     [Required()]
   4:     [Display(Name="First Name:")]
   5:     public string FirstName { get; set; }
   6:     
   7:     [Required()]
   8:     [Display(Name = "Last Name:")]
   9:     public string LastName { get; set; }
  10:  
  11:     [Display(Name = "Email Address:", 
  12:         Description="We do not sell your information!")]
  13:     public string EmailAddress { get; set; }
  14:  
  15:     [Display(Description="Used for demographics")]
  16:     public string Gender { get; set; }
  17:  
  18:     public int Age { get; set; }
  19: }

And here is the new auto generated DataForm:

DataForm with Display Attributes

Much more friendly to the user, and from a code perspective, we wouldn’t have to change how we work with our model.  We get some free visuals and functionality with some simple attribute properties.

Also, did you know that you could bind multiple items to the DataForm and get automatic paging and add new functionality?  Given this code:

   1: ObservableCollection<PersonModel> people = new ObservableCollection<PersonModel>();
   2: for (int i = 0; i < 10; i++)
   3: {
   4:     PersonModel p = new PersonModel() { FirstName = "First" + i.ToString(), LastName = "Last " + i.ToString(), Age = i };
   5:     people.Add(p);
   6: }
   7:  
   8: DataBrowser.ItemsSource = people;

Check out what is generated:

DataForm multiple data binding

Notice the pager and add new buttons.  Nice.  If you’re wondering how to get more granular control over the field displays, it is similar to DataGrid in that you can turn off auto generation of fields and provide your own implementation through custom DataFields:

   1: <datacontrols:DataForm x:Name="DataBrowser" Width="400" AutoGenerateFields="False">
   2:     <datacontrols:DataForm.Fields>
   3:         <datacontrols:DataFormTextField Binding="{Binding FirstName}" 
   4:                 FieldLabelContent="First Name: " />
   5:         <datacontrols:DataFormTextField Binding="{Binding LastName}" 
   6:                 FieldLabelContent="Last Name: " />
   7:         <datacontrols:DataFormTemplateField FieldLabelContent="Age">
   8:             <datacontrols:DataFormTemplateField.DisplayTemplate>
   9:                 <DataTemplate>
  10:                     <TextBlock Text="{Binding Age}" FontSize="24" />
  11:                 </DataTemplate>       
  12:             </datacontrols:DataFormTemplateField.DisplayTemplate>
  13:             <datacontrols:DataFormTemplateField.EditTemplate>
  14:                 <DataTemplate>
  15:                     <TextBox Text="{Binding Age}" />
  16:                 </DataTemplate>
  17:             </datacontrols:DataFormTemplateField.EditTemplate>
  18:         </datacontrols:DataFormTemplateField>       
  19:     </datacontrols:DataForm.Fields>
  20: </datacontrols:DataForm>

Hope this helps!


This work is licensed under a Creative Commons Attribution By license.