SilverLight is better than AJAX + DOM

I just got home from the Sydney .NET User Group tonight, where they talked about SilverLight and Flex in a session focused on RIA.

I personally think the session was relatively informative to a general crowd,  but not detailed enough to go into the specifics.  I'm not sure what the intended audience was given that the SNUG crowd is pretty much all .NET guys.

I had a chat with a few guys after the session and most were unsure or even unimpressed with what SilverLight has to offer.

I find that pretty sad.

The main arguments against SilverLight were along the lines of:

  • All those can be done with AJAX

Perhaps the presentation was too general and did not focus on outlining the benefits of using SilverLight over plain old AJAX.

I think there is a very naive view of SilverLight among the audience tonight.  Probably, what we needed to convince the .NET people that SilverLight is cool is this following list of stuff that just can't be done with AJAX.

Development Scenarios

  • Dynamic loading could be done with AJAX, but you have to test it with FireFox, IE6/7/8, Opera, Safari.
    Not to mention the various combinations of operating Systems with them.
  • Did I mention mobile devices?
  • Difficult debugging scenarios - VS.NET actually makes this easier for IE and FireBug made it easier for FireFox, but essentially you are down to debugging JavaScript, which is iffy at best.
  • Mucking around with CSS and DOM is wasted time
  • SilverLight can be debugged directly in VS.NET - there is an option to switch on (default)

Vector Graphics

  • No vector graphics with the DOM
  • Try to do rounded corners with DOM and you either have to resort to some background picture trick (lots of files and connections) or stuff around with multiple layers of borders (nasty looking DOM).
  • You can't even draw a diagonal line in the DOM,
  • Let along trying to do Ink (point below)
  • There is a reason that people wanted SVG support, and to pass the ACID3 test the browser needs to natively implement SVG, and Microsoft is criticized heavily with not supporting SVG out of the box in IE8 (they probably never will).
  • People know the DOM sucked at this stuff, they wanted to stick SVG in the browser so they can stay mucking around with the DOM some more.
  • To be fair, Adobe was at the forefront of SVG development, but as soon as they picked up Flash/Flex/Macromedia, they stopped their free SVG plug-in development immediately.
  • I think SVG is a waste of time in the wrong direction altogether.  SVG was designed for a market that failed to materialize in 1999.  The reason that Flex and SilverLight are successful is because people and technology have moved on.
  • I'm convinced a SilverLight vs Flex scenario is better for the world as both companies race forward to win developer minds.
  • Finally, if you are not convinced SVG is dead, go to Yahoo! Finance's interactive chart here and tell me how much stuffing around would it be required to get those cool looking graphs to work with DOM+SVG+AJAX.

Animation

  • The SilverLight story boards is a time-based system, which is an improvement over the frame based systems in Flash. 
  • I think with SVG another protocol SMIL will be needed to achieve the same thing.

Ink

  • SilverLight supports Ink

Layout Management

  • Stop stuffing around with aligning this label/textbox with another label/textbox halfway down the screen, past the grid in between
  • The DOM simply don't support proper layout management, and hacking it via CSS is ugly, or fails to scale when the browser window size changes
  • Which is a big problem for mobile devices, apparently.

Data Binding

  • SilverLight has data binding support out of the box.  Browsers/DOM/AJAX are stuck with manual data binding, or part/full page post backs.

Framework

  • SilverLight is build with a solid set of the .NET framework library.  This includes multiple out of the box functionality that would need to be build with JavaScript
  • Working with proper collections and generics, or LINQ and LINQ to XML

Threading Support

  • Bread and butter of Windows Application development.  Threading has never worked properly, if at all with AJAX.
  • Try calling three web services at once and collect their responses and make some use of them.  Note that any or all of these asynchronous calls can and will fail.  Most DOM/AJAX implementations of the XMLHttpRequest stuffs up right about here.

Isolated Storage

  • Isolated Storage
  • AJAX systems rely on ViewState or server session systems.  ViewState is passed around all the time and takes up bandwidth, and is lost when user logs off. 
  • Cookie file is far limited in size.

Network Capabilities

  • Sockets
  • Cross-Domain calls - excluding JSON with AJAX.

Serialization

  • JSON, XML, SOAP Serialization

File Processing / Upload

  • The HTML upload input control is still stuck at the 90s
  • SilverLight has read-only access and has OpenFileDialog implementation
  • Can preview a file on client side before deciding to make service call to upload them.  Doesn't even need to upload them.

 

Argh I'm tired.  That's probably too much info for one evening.

SL + Sockets

http://weblogs.asp.net/mschwarz/archive/2008/03/07/silverlight-2-and-sockets.aspx

http://weblogs.asp.net/mschwarz/archive/2008/03/10/silverlight-socket-comments.aspx

I didn't know SilverLight 2 supported System.Net.Sockets.Socket

This is another tick crossed off my checklist.

There are heaps of restrictions

  • no cross domain
  • allowed port range is only 4502 ~ 4532 (so only 30 ports)

Still... (dream of the possibilities)

Avoiding my Dell laptop like the plague

I've had my Dell Inspiron laptop for over 2 years now.  And I've always thought it was a pretty good machine and I'm pleased to have used Dell.  I've pretty much upgraded it as far as it could go, and I was considering to shell out for a new Dell laptop when this one hits three years old.

Until recently.

There are now two ugly line down the middle of my Dell laptop (see my previous rant Oh noes!  Dell Dead Line), and until Dell agree to fix it, I just get upset whenever I look at my laptop.

I turn the laptop on, see the vertical dead pixels line, then I get frustrated and I turn my laptop back off.

  • Forget about the Internet
  • Who cares about my emails
  • Never mind all the blogging!
  • Nor worry about the gaming
  • Stuff writing my applications

I had no idea that the laptop was so integral of my evenings, but currently my urge to use that laptop is next to zero.

Just like if you have an ulcer on your mouth and it's painful to eat, then all the food becomes tasteless.

Likewise, when there is a freaking defect on your LCD monitor, then anything I do on the laptop becomes tasteless.

I can't enjoy working on my broken Dell.  Thus I don't want to use it.  Honestly, I just want my machine to work properly again.

Oh noes! Dell Dead Line

Call you what you will, dead line pixels, LCD defect/failure.

I woke up last night to use my laptop to do some emails, and behold, what's this wierd blue line vertically down my screen?

deadpixelsleft

And wait, there's another one!

deadpixelsright

I popped on Google and sure enough, there's actually quite a few Dell customers that have already complained of this issue.

http://dellverticalline.com/

http://www.theregister.co.uk/2007/04/23/dell_vertical_lines/

http://www.spectrumz.com/z/dell_vertical_line_letter.html

http://www.spectrumz.com/z/dell_vertical_line.html#res

The good news is that Direct2Dell has acknowledged there is an issue, and they will offer replacements for up to 3 years from the date of invoice.

http://direct2dell.com/one2one/archive/2007/04/09/10675.aspx

But the general response on the forums is that you'll have to dog hound Dell support until they agree to send out a repair tech to visit you, but after that it's smooth sailing.  (This mirrors my previous experience with replacing a Dell part under warranty as well).

So anyway, with my fingers crossed, I contacted Dell support.  I'll be blogging the process. 

Apparently the same issue plagues the Apple laptops, but to this date, Apple has been deleting/locking threads of their customers who are complaining about this issue.  So Dell is supposedly one step ahead in the customer support area.

I remain hopeful, because it is day one. 
This is day 1.  There are 2 lines on my screen.

UPDATE - the BAD news
I called up Dell support and they absolutely refused to repair my laptop (after 1hr of talking and transferring).  This is despite what their own website says.  Apparently they have already done a recall of the affected laptops in Australia and my name wasn't on the list.
I think it's a bunch of poop really.  There was no recall mentioned in the article.  Since this problem does not affect all laptops immediately, there's no need to recall the product unless it is reportedly broken.  I doubt the so-called "recall" even happened.

Anyway, here's the email of the guy I spoke to at customer-care: [email protected]

Perhaps someone can educate him about the procedure in Dell.  He hasn't even heard of Direct2Dell.

Why is Dell support so painful to work with.


Car insurance is a joke?

This is an old story.

About a year ago, I had someone who smash through my car's right side-mirror.  I called up NRMA and asked about their policy "if it's not your fault we won't charge you excess" which they were heavily promoting at the time, they informed me that I would lose my no-claim bonus for next year.

Which just means I'll pay the money later when I renew the insurance.

I ended up calling off the claim and just replaced my mirror from a second-hand parts store.

Mirrors aren't that expensive to replace, but I've had this insurance for 10 years and each year it's cost me about 10% of the cost of the car, if I totaled it.  In hindsight I don't think I needed car insurance at all.