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.

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.

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.

In a previous post I wanted to call attention to the multi-targeting and design surface improvements for Silverlight developers with Visual Studio 2010 Beta 1.  There has been some comments on that post and a few emails and Twitter replies as well with some great follow-up questions.  I thought I’d post a sort of what works with what information to help you navigate Betaville as a Silverlight developer.

NOTE: We’re talking about Beta technologies here.  That means things may not work, that you shouldn’t count on them for production releases at this time, etc.  In the ‘release early, release often’ mantra of things, I know Microsoft may not follow the ‘often’ side of things, but we sure do release early a lot of things.  It is important to have a perspective that this is for mutual benefit, but also remember that it is beta and things may just not work in harmony.

Being an early adopter usually means you are on the edge.  Standing on that edge of technology comes pain with betas at times.  Add to that multiple beta technologies and you may feel like you are pulling your hair out constantly.  Me too.  Here’s the spectrum of things for a Silverlight developer from a current (as of May 2009) perspective.

Silverlight 2 Development

Silverlight 2 has been released for a while now (since Oct 2008) and is production-ready for you to use.  There is full tool support in both Visual Studio 2008 SP1 (just install the Silverlight tools for VS2008) and Blend 2 SP1.  Both VS2008 and Blend 2 can share project files in harmony and edit back and forth.

The recent Visual Studio 2010 Beta 1 (referred to in this post VS10 so I don’t have to keep typing out beta) will also support Silverlight 2 development.  The Silverlight tools will not install on top of VS10 and you’ll get a warning if you try.  If all you want is Silverlight 2 development in VS10 right now, install the Silverlight 2 SDK and the Silverlight 2 developer runtime.  That’s it…you can then develop Silverlight 2 applications.

Silverlight 3 Development

Silverlight 3 is currently in beta as are the associated tools (Silverlight 3 tools for VS2008 and Blend 3).  A lot of people have been working fine with these in beta and everything works well.  VS2008 can author SL3 projects and Blend 3 can open them no problem.  Both of these are still in beta right now, but it is important to know that Silverlight 3 release tools will be VS2008 and Blend 3.

For VS10 and Silverlight 3, the situation with the tools is similar to Silverlight 2.  The Silverlight tools installer will still not run on VS10.  If you want to add Silverlight 3 development to your VS10 environment, you can follow my previous post instructions, which basically is to install the SL3 SDK and SL3 developer runtime.  At this time, VS10 will only target Silverlight 3 beta and will also not run the .NET RIA Services bits that you might be using.

What about Blend and Visual Studio 2010 Beta 1?

With VS10 there are some caveats.  With VS10 you can create multi-target solutions.  You can see this when you create a new project in VS10:

Visual Studio 10 multi-targeting

Now for the caveat.  If you select .NET Framework 4 in VS10, and then open your project in Blend 2 you will see this warning:

Blend warning on opening VS10 solution file

In my experience under simple circumstances you can still open it and work with files.  Here’s where beta life starts getting confusing.  If your Silverlight application is just the application, you will see the above warnings and should be able to edit (regardless of if your target in the new project window was .NET Framework 4 or 3.5).  Now, if you also added a web project to your solution and open it in Blend 3 Preview, you will see this:

Blend warning on opening up .NET 4 project

Indicating that the web project type is not supported at this time in Blend 3.  The solution will open in blend (if you say yes) but your web project will have a “?” next to it and read (unsupported project).  You’ll still be able to edit the Silverlight application, but not do anything with the web project.

What about WPF projects then?!

If your target selection was .NET Framework 3.5 then you’ll still get the first warning, but should be able to work with the project.  If your target selection was .NET Framework 4, then you’ll get the unsupported warning and won’t be able to work with this.  Oddly enough, Blend 2 will open the .NET 4 project, weird.  In either route, when you compile in blend you’ll see this note:

   1: Project file contains ToolsVersion="4.0", which is not supported by this version of MSBuild.  
   2: Treating the project as if it had ToolsVersion="3.5".

That should tell you something if you think Blend 2 is going to build your .NET 4 project just because it will open :-).

Why is it this way and when will it all work?

Ah, the magic crystal ball.  If we could get all the teams on the same ship cycle it would be easy, but it just isn’t that way right now.  Basically VS10 went into beta 1 lockdown before certain things for Silverlight and Blend tools were able to hit certain milestones.  So given that, here’s where we stand.

NOTE: Expression Encoder outputs either Silverlight 1.0 or Silverlight 2 templates and the output are completed projects.  If you open up the source for an Encoder project it will prompt the VS10 upgrade wizard, or in VS2008 just open for you to edit (assuming you have the Silverlight tools installed)

For Blend 3 and VS10 projects to work in harmony, an update to the Expression Blend 3 preview that supports Visual Studio 2010 and .NET Framework 4 projects is expected to be available in Q3 of 2009.

For VS10 and Silverlight 3 RTW/.NET RIA Services working, we’re looking at an update to VS10 would be needed and we haven’t determined a timeframe on that just yet.

What should I do?

Well, as a Silverlight developer, I’ve given my opinion already.  Until that update for VS10 happens to enable Silverlight 3 RTW and .NET RIA Services development, I think the best option will still be the released tools for the environment (VS2008, Blend 3).  Consider VS10 something to look at, but not ready just yet for full Silverlight 3 development.

For other project types like ASP.NET, WPF, WinForms, etc. you’ll still be able to multi-target in VS10 and most of these are released right now so you should be in a decent environment.  WPF caveats above still apply as most WPF developers also rely on Blend as a tool for their projects.

Summary

I know this is totally confusing and it sucks.  After re-reading this, my own head spins.  It is easy for us to say it is the pain of an early adopter…and it is.  By sitting on the edge with beta technologies we take risks and have to determine our own rewards.  Knowing this information should help you be informed about your projects.

  • Silverlight 2 + VS2008 + Blend 2 development: released, available, working
  • Silverlight 2 + VS10 + Blend 2 development: available, working (VS10 in beta)
  • Silverlight 3 + VS2008 + Blend 3 development: available, working (Silverlight 3 and Blend 3 in beta)
  • Silverlight 3 + VS10 + Blend 3 development: available, working with caveats (Silverlight 3 beta only, no RIA services)
  • WPF + VS10 + Blend 3 development: available, caveat of Blend 3 will not open .NET 4 projects from VS10

Remember, virtual machines can be your friend!  For some more general Visual Studio 2010 and .NET 4 training information check out the training kit here.  For information regarding ASP.NET MVC and VS10, check out Phil’s post.  Hope this helps!

Well today was the public release of Visual Studio 2010 Beta 1.  It is the first time developers will have the chance to take it for a spin and kick the tires.  I wanted to share some information specific for Silverlight developers with regard to Visual Studio 2010 Beta 1.

Visual Studio 2010 is the first IDE that will support two key features for Silverlight developers: multi-targeted Silverlight development and editable design surface for Silverlight.  The second point also comes with things you might expect (like data binding wizards and dialogs as well – I’m lumping all of that in to ‘editable design surface’).  To get started there are a few things you should know.

First, if you are installing from a “clean” environment (perhaps a virtual machine, etc.) and want the multi-target support, here’s what you’ll do:

  1. Install Visual Studio 2010 Beta 1
  2. Install Silverlight 2 SDK (if you attempt to run the Silverlight 2 tools installer it will fail with an error message…just install the SDK).
  3. Install Silverlight 3 Beta SDK (again, don’t attempt the tools installer as it will fail)
  4. Install Silverlight 3 Beta Developer Runtime

Once you have done this, you now have a Silverlight 2 and 3 development machine for Visual Studio 2010 Beta 1.  Congratulations!

Hey, where’s my multi-targeting?!

Be patient.  When you create a new project you’ll see just the standard Silverlight application templates.  Select that first and then you will see the multi-target option in the next dialog:

Visual Studio 2010 Silverlight multi-targeting

Once you select this option you will be starting development using that runtime version.  So remember, it is after you select a Silverlight project type.  If you want to change the target version runtime after you’ve created a project, just right-click on the Silverlight project, choose the properties and you’ll see Target Silverlight Version and can change it there.

What about the editable design surface?

Once you have a Silverlight project ready, you can use the design surface for editing and dragging/dropping UI elements, arranging layout, etc.:

You can also now select items on the design surface and manipulate binding or other properties in the ‘normal’ Visual Studio way (property panes, dialogs).

Hey, what happened to my Silverlight Templates…and what about .NET RIA Services?!

For right now in Visual Studio 2010 Beta 1, the Silverlight Navigation Application template is not available as a part of the SDK installer (it’s actually a part of the tools installer…which you can’t run for VS2010 Beta 1).  If you want that template, just export one from Visual Studio 2008 and import it into this environment.  It will then show up under the My Templates section.

.NET RIA Services also will not install for VS2010 Beta 1 right now.  So if you want to play around with those bits, stick to VS2008 SP1.

Both of these are known and will be resolved in the future.  Hopefully you understand that the products are in varying beta stages (VS2010, Silverlight 3 and RIA Services) and are not in sync right now.  Kind of a pain, but it’s the sting of early adoption I suppose.

My Recommendation

So what should you do?  Well I do think you should try Visual Studio 2010 and play around with it.  If you need RIA Services development, then stick with Visual Studio 2008.  If you have the ability to run a second machine or a virtual machine, I recommend putting Visual Studio 2010 in that environment.  For Silverlight 3 we will be targeting VS2008 SP1 for release.  Obviously the team is working on supporting VS2010, but for beta 1, we just couldn’t get it in time.  So I’d personally recommend sticking with VS2008 as your primary dev environment for all Silverlight 3 goodness…and run VS2010 in a separate space to play around with. 

Hope this helps!