Infragistics controls

Soon after using Component Art controls, I started testing Infragistics controls. Infragistics packs far more controls in the suite compared to Component Art. They include a ton of ASP.NET controls, Charting controls, and WinForms controls, all for the same $700. In working with the grid control I saw that it was very powerful with lots of settings but was difficult because of their naming conventions. With Component Art it was very easy, the names used for various control attributes made sense. All in all I think the $700 for Component Art was not justified when compared to Infragistics. The word in the market is that Infragistics is more mature and more used among developers. The developer inside me likes Component Art, simply because of it's ease of use, having said that Infragistics is not that hard too use. You would see immediate developer productivity with both tools, as well as AJAX support out of the box. Which one to buy is your choice depending on what you want to accomplish. If you are never going to need the extra controls that Infragistics has, go for Component Art, even though it costs more. Component Art follows the "keep it simple, stupid" mantra to which I would like to say "keep it cheap as well, stupid"

.NET Framework 3.0

There was too much confusion about the relationship between WinFX and .NET framework. In order to clear up the confusion, MS decided to unify all these technologies under one name i.e. .NET Framework. No more WinFX, the next version of .NET Framework will be 3.0 which would include all the WinFX technologies. Sweet... was my reaction until I found out that .NET Framework 3.0 internally will use Framework 2.0. Uhh!!!

Yes, I understand Microsoft's position on this, they have just released 2.0 and still fixing bugs and getting ready for SP1, they cannot expect customers to jump ships so soon from 2.0 to 3.0, hence they are going to keep the 2.0 Framework as is, and version all WinFX technologies as 3.0. During installation, the setup will detect the presence of 2.0 and will only install additional components. I am totally fine with them doing it for this release but I really want them to simplify and keep the entire stack under one version moving forward. It would be too confusing for developers working on different pieces to keep up with the version numbers. Hopefully they will get a lot of feedback from developers at TechEd and would clean up the versioning mess as well.

.NET Gotchas and Generics

I have been following DnrTV for some time now, and I want to recommend the following 2 videos a must watch for anyone who is serious about .NET programming.

Both these videos are presented by Venkat Subramaniam. He is a very good teacher. He teaches OOP to undergrad students at the University of Houston. I am really thinking of taking a course with him.

Just checked DnrTV and he is back with another show this time on .NET in general. I am off to download the latest video. More later!

UPDATE: The latest show was just ok. It did have some good examples, but there was too much talk about dynamic languages than .NET. He is going to come back with another show on the language Ruby. It will be an interesting show to watch.

Smart Client or

Recently I have been being perplexed by the decision of using either Smart Client or for a project that I need to set up in our company.  Here are some facts about the project:

  • The users of this system include intra-department personnel (which we have better control of the computers they use) and inter-department personnel (less or no control).
  • The system has both simple data entry forms such as  service request, and complex forms which require to use multiple attachments and multiple embedded images.
  • The system also has the workflow features which can notify the corresponding parties of any updates or new assigned action items.  By clicking on the link of the notification, it should bring the user directly to the form/report of the content.
  • For future scalability, the system should also be able to open to personnel in different countries (more accessibility).

My initial analysis concludes that I should have two versions for the project with Smart Client as the master and the ASP.Net as a support.  All forms should be available in Smart Client version, while the simple forms or reports should be available in webform version as well to benefit the users who only have web access.  The update/deployment of the application should be simplified by the click-one technology.

This seems to be all good until today.  I just realized the cost of using Smart Client:

  • All client machines need to install .Net framework.
  • All the users need to have administrator privilege of their machine.

In reality? It is very hard to achieve.  Not to say the IT department would not allow us to install the framework in all the machines, and would definitely not allow all users to have the administrator’s privilege, just think we have more than 100 machines in our department, what’s the cost of installing the framework as well as the application in each machine?

So back to square one – Smart Client or ASP.Net?

Here are some reference to smart client:

Smart Client Part I

Smart Client Part II

Smart Client Part III