Flex and Flex Builder 3

I just have to tell everyone how cool Flex really is! When I did flash work several years ago it was a real pain developing an entire site in Flash especially if you wanted to incorporate any backend to it. This is definitely not the case with Flex and I have to give Adobe its’ props on this.

However, let me state, that I do want to see Flex Builder 3 ported to Linux. I could then ditch my Windows Virtual Machine and run things natively, but that is my only complaint at this moment.

So why do I love Flex?
Flex is just easy to use, the components built it are amazing and you have the ability to build components on your own too! Much like Server Controls in .NET, .NET gives you a TON to begin with and you can create your own as well. However, this is for Flash! That is extremely important to acknowledge, as I do not have to have Macromedia Flash MX or whatever the latest version is on my PC to build a Flash application now.

Not only do I love being able to build a Flash application without Macromedia Flash, but I also love how it can work with an infinite number of backends without a lot of effort. Got a web service you want to plugin to? No problem, how about an RSS feed? Again, No problem. Well how about just a plain HTTP stream with a custom format? No Problem! I mean literally, you can plugin to any service that can send back a response. If it is a custom type of response, then you can write a routine to read your custom format. However, if you are using a Web Service, be in written in .NET and it returns an XML stream, then you literally have to do nothing! It will read it without any custom code from you, the developer. And that my friends is the “cream of the crop”.

So where do we go from here?
I am going to be doing a lot of things with Flex fromt his point on. I was just totally amazed by the simplicity and yet the complexity you can have within it. I still have a lot to test. Updating the grid’s data when it has changed, and similar events. But time will tell and so far Adobe has bought me back with this wonderful technology. Just bring it to Linux and I will move right next to your head-quarters Adobe!

Software Mistakes

Norton Time and time again, software mistakes are made and cause havoc across a number of users. Well that last part is true, if your software is fairly well known and well liked. In the case of the image to the left, it would be Symantec’s latest and greatest update, or so some were led to believe.

The update was far from great, in fact, I am willing to bet it was pushed on individuals so Norton didn’t have the cost of maintaining numerous versions (older versions) of their software. Granted, that is a good reason to push an upgrade on your end users. However, do it RIGHT! There are two failures by this push that I noticed immediately, and there could be more.

Let me start by identifying how Norton was being used on the PC prior to the update. Norton Anti-Virus and Norton Security were both installed. Norton Security’s Outlook Express toolbar was installed to help stop spam, identify spam, and also identify items that were not spam. Norton Anti-virus was set to do a full system scan at 8:00 AM every Sunday morning.

Now let me explain what happened after the update. First of all, the Outlook Express toolbars disappeared. Why is that bad? Because, it shows Norton didn’t bother to check how their software was being used, before applying their update and removing what was found near and dear to the users’ heart. It was convenient to have those buttons available at the whim while working within Outlook or Outlook Express. However, now the user has to download yet another large file called their “Addon Pack”. The addon pack was nearly 16 MB, and quite frankly that is INSANE for being an Outlook/Outlook Express plugin, but nonetheless it did solve the initial problem.

Secondly, all of the scheduled jobs that were setup for Norton Anti-Virus were removed, and many of the Option settings had to be re-checked to ensure the system was setup. Quite frankly, there is absolutely no reason this should have been affected and it was poor testing that led to this issue. I can understand missing the Outlook/Outlook Express toolbars (I have made similar mistakes) but settings in the previous version? How the hell do you mess that one up?

Now if anyone has taken a good look at the image, and clicked on it to enlarge it, you will spot I had excellent timing. As I caught another major no-no as far as software design and practices go. NEVER show the user meaningless information or system critical information. Can anyone tell me what “ccPxyExt” is? If that screen were to fail, do you think the common user would be able to remember the letters “ccPxyExt” over “Norton Proxy Extension”? Keep the user informed during your processing and give them something that might be able to stick in their minds in case they need to contact your support. You are not going to want to try and guess what they were typing when they randomly pick letters they thought they saw during the process.

Now as I stated earlier, I have made many of these mistakes in my software as well. In fact, I have over the past week written two maintenances for software upgrades that did not go as “smoothly” as planned. Now the causes for the issues were not created by me, but from a collection of choices that were made along a 4 month process. When we finally flipped the switch to enable the new setup, everything came to a halt, well actually 1/3rd of our systems came to a halt.

The bug was truly something that was difficult to test and by the time we got around to it discovering the issue we had already committed too many changes to correct our development and test systems of the flaw. So in short, testing, keeping track of how the system originally worked versus what your changes will do, is extremely critical. Luckily we were able to fix our production issue within 3 days to help out our users. Norton, I would hope this could influence you to try and do the same.

I’ve Fallen in Love (again)

At work we are going through a fairly large migration process, converting all of our .NET 1.1 applications in VS 2003 to .NET 3.0 using VS 2005/2008 (when it comes out). During the process, I have fallen in love again with coding. Generics just sweep me away like the first romance I ever had.

The .NET 3.0 features are just astounding, and it doesn’t just stop with Generics. I truly find all pieces quite equal, from WCF to Generics to the enhancements in VS 2005. Generics allowed me this week to take a very complex boxing and unboxing section of code and turn it into a fine tuned type specific beast that only took two lines to accomplish.

Not only do I throughly enjoy the new features in the actual framework and IDE, but Unit Testing is of great advantage, especially with the ability to publish your results. We have been finding Team System Foundation to be the best decision we could of ever made, as the benefits were not only noticeable immediately, but the productivity was too.

Anyways, I wanted to share my enthusiasm, as if you are still writing in 1.1, you are missing out.