Silverlight, HTML5 and the state of RIAs

4 11 2010

So you’ve obviously heard about these statements regarding Silverlight – insinuating that Microsoft is going to abandon it in favour of HTML5 due to revelations at PDC2010. If you haven’t, here are the main links in this debacle:

One issue I have with this hype about MS abandoning Silverlight is that most of it is based on the following statement from MS, in an interview by ZDNet (see first link):

Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. “But HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia said.

Inferring from this that MS is pulling the plug on SL is pure hype. I daresay MS haven’t helped their cause by being more tight-lipped that usual over the issue, but PR has never been their strong suit.

Unfortunately, it tends to be people like MG (the TechCrunch article author) who jump on the sensationalist bandwagon. It may turn out that MS will eventually abandon Silverlight, but I seriously have my doubts. I honestly believe that they logically see their original goal of true “reach” severely hampered; what with iOS and Android now thrown into the mix since conception. Adobe haven’t done much differently – except that when they announce their HTML5 strategy (as they did last week at MAX), it’s to thunderous applause; they’re obviously much better at crowd-control.

Both of the big boys seem to understand that they cannot expect their platforms to be a presence on every single device, and they need a complementary strategy to remain viable to us developers – enter “HTML5”.

I can understand the apprehension amongst the RIA community – the religious connotations that permeate most of the Flex/Silverlight debate (RIA evangelists anyone?), would make one think we’re arguing about our very souls, rather than simply a career choice. Even if both Flash and Silverlight died tomorrow, we’d be in a pretty comfortable position to shift allegiances to any other rich client technology out there.

Let’s face it – RIAs are not going anywhere. The users have spoken.


Silverlight vs Flex

16 02 2009

The Silverlight vs Flex argument is hillarious!

We’ve got a statement from Adobe’s CFO here on Silverlight. Personally I think that the CFO wasn’t the best person to comment on Silverlight, but hey, maybe we got an insight into Adobe’s non-censored attitude to Silverlight. 

We’ve got a response from Tim Sneath, a Silverlight evangilist from Microsoft.

We’ve got a debate with an MS evangilist vs an Adobe evangilist. (To be fair to Silverlight, the MS guy seems like he’s a fish out of water. He starts off with a great argument about competition making us better developers, and ends up floundering).

If you ask me, Adobe needs to fix the perception that most developers have that Flash simply sux. 

The problem is, that for years, the Flash platform was only accessible to those freaks who understood and lived in the four dimensional world of Flash. Trying to code on multiple layers with inherited objects in respect to time and still understanding  scope was, and still is, a nightmare

 I think many web developers have poked their noses into Flash – and many developed a natural distaste for it. Those that tended towards design sometimes learned to love it (and we learned to hate them for polluting the web with horrendous Flash websites that were inaccessible and useless). Then came Flex, at a time when web apps and Web 2.0 was the wave of the future. Macromedia released an SDK that finally made the power of Flash available  (“leveragable” in biz speak) to developers who wanted to use it.

Microsoft, on the other hand, have wowed developers ever since they took Java made .NET.  Managed code – with the ever evolving C# – allows us  developers to write pure object oriented code from web sites to windows applications. And thank god. I mean, I don’t have much interest in OS programming or the kernel. I’ll let others specialise in that. I’m interested in engaging, interactive applications, in whichever form they take.

Let’s get back to basics. Adobe specialises in cross platform solutions. Microsoft have a vested interest in Windows. 

Adobe has flash advocates (I’m using this term from now on) who were pre Flex (ewww), and post Flex (like me). Microsoft has .NET evangilists. Actually, I’m a good example, cause I’m both. I trained in Computer Science at university. I worked mainly with Java on Solaris machines. When I finished uni, I wanted to write software that people would use. I started with the web because of it’s reach, and have been focused on it ever since.  So now I write Flex and AIR apps that interface with .NET, and I’m happy to look at other RIA technologies as long as they

  • Compile (I’m sorry, but I like the portability of compiled code); 
  • Allow for OO programming (Yes, AS3 is OO – close enough anyhow); and
  • Are portable; and
  • Are accessible.

I think the issue between Flash & Silverlight is all this use of “Company X” evangilist business. Too many religious connotations. No wonder there’s so much passion in this argument. Everyone’s drawing lines in the sand. WTF? Anyone heard of software architecture? The goal is to understand as many technologies as possible to create the best solution for the client – whoever they may be. The platform is just a means to an end. We’ve got to constantly weigh up the options from all sides to create the right system at the right time.  

I’m giving myself a task. Over the coming months, I’m going to investigate Silverlight further, now that v2 allows me to code the frontend in C#, and because .NET 4.0 is looking to integrate the client and server within the single code base. As I go through it, I’m going to post my findings here, for those who want the quasi-objective truth.

Silverlight vs Flex (or, Why developers hate flash)

25 05 2008

Now *this* is an argument.

I’ve already seen some great points put out in this debate, although I’ve also seen some very indignant and irrational responses to the argument. Microsoft vs Adobe? or, Why do developers hate Flash?

I guess all those hours of frustration sitting in front of Flash (insert version number here) trying to figure out the most inane bug has caused most developers to cast Flash out. (I know I did).

And that by seeing Microsoft’s rather successful business plan of watching and waiting for fantastic ideas to come along before improving them and labelling their own, causes others to vent in hostility  (thanks Apple for Windows, Java for C# & .NET, Adobe for the Expression tools and Silverlight, Google least of all for Maps, etc.)

But if we look at this argument rationally, it’s clear that we developers will benefit from this contest.

Developers should, by their nature, be adaptable.

Instead of jumping the gun to defend our current choice of RIA software, we need to investigate the technologies as they appear and as they are improved. So that when it comes to making the perfect product, we choose the right tools for the job.

Blog Directory - Blogged

Visual Studio 2008 Standard vs Professional and the lack of Windows Services Support

27 03 2008

Ok, well I’ve blogged about the virtues of VS2008 Standard before.

Essentially, I find the Standard version very satisfactory for everyday coding. Even the Server Explorer is there, regardless of what Microsoft’s product comparison says.

One thing that frustrates me however, was that nowhere on the site, did they mention that the creation of Windows Services was a Professional-only inclusion. Huh.

This is the MSDN article explaining the lack of the feature. But checkout the link they have on VS version comparisons and show me where it mentions no Windows Services. Boo.

If you think about it, Services are useful little tools, especially when you have your own server to work with, and you need something running all the time, managing data requests – like a process queuing service for example.

The feature that is missing from Visual Studio is the startup Project Template. However, if you know the startup code, you don’t need the Template.

You can still create an Empty Project in VS2008 Standard, include the System reference and the System.ServiceProcess reference and then add the classes from there. This CodePoint article provides a good insight. Microsoft have their own article – though it’s in VB.NET (ewww).

Personally, I find the best approach is to create a Service.cs file and load the code from the Code Project site. Then you can simply follow Microsoft’s instructions to add an installer.

You then install via your framework’s InstallUtil.exe (again see the Microsoft link). This executable is distributed with the .NET 2.0 Framework, and as such you can find it somewhere like: C:\WINDOWS\Microsoft.NET\Framework\v2.0.

Update: Feb 4, 2008

Another thing I’ve noticed missing is the ability to create Office Add-Ins. These are those tools that you install into the various products of Office. I’m suspicious though that this lack is something that a work around, like the above one, could fix. 

If you’re just looking for interoperability with Office, that’s simply the matter of installing the version of Office you need on your dev machine, and then including the COM reference in your project. (eg. Word is Microsoft Word XX.X Object Library (v 12.0 is 2007, 11.0 is 2003))

.NET cheaply

9 02 2008

Well, if you’re like me, and you like C# (and let’s face it, Microsoft did well with their version of Java – everything’s easier in hindsight aint it?), then you might wonder how to develop .NET cheaply.

First off, Visual Studio 2008. Comes in two flavours – Standard and Professional. After trawling round, I found this article on the product page comparing versions. The thing is, the trial is Pro, and so there isn’t any way to get a feel for the Standard version.  The trial is 90 days, so I’m not complaining.

At work, I’m using Standard, and lemme tell you, as a developer, I’m not seeing anything I miss. Even the Server Explorer is there in complete contradiction to the link above… huh. Well, as the difference in price is like AUD 400 to AUD 1200, I know which version I’m recommending.

While we’re here, what about SQL Server Express 2005? Well, again, there’s a product comparison,  however, for a standard developer, you’ll agree that 4GB max database size is pretty hefty. I mean, as long as you’re not storing binary files in there, you should be right. And hell, it’s free. Even if you want full-text searches – just download the larger package with Advanced Services. Management Studio is nice, but I’m running a Core 2 Quad Core at work with 4GB of RAM on XP and it finally runs nicely.

One funny thing I had missed with building a small .NET site, was how I could integrate the DB into the filesystem. I’d come to .NET from a larger production background and was used to connecting to existing DBs over the network. When I realised how trivial it was to deploy a DB into the App_Data folder of a website, and use an XSD DataSet to manage my interface to tables/views/sprocs, I was hitting myself. Funny enough, I realised it whilst watching an ASP.NET AJAX video.  (Incidentally, if you’re building an AJAX intensive website, that is more an application than site, take a look at Flex).

Well, live and learn.

.NET Framework versions and Visual Studio versions

17 01 2008

Thank God for blogs. A fellow over at Microsoft blogged the different Framework versions that you can write for using different versions of .NET.

If that clears that up (.NET versions, Visual Studio versions), now what about the version of C# used by differing Visual Studio versions?

From my understanding VS2005 = C# 2.0 and VS2008 = C# 3.0