# Saturday, March 10, 2007

The SDK consists of two different types of libraries, Implementation and the Interface. I love this API, they developed it for ease of use and scalability for future functionality in mind. The Implementation assemblies are not publicly expose and undocumented (protecting the developer from himself ;) ). The Interface assemblies are the interface to the implementation assemblies. There are several benefits to having the SDK architecture this way.

  • Do not have to add references to implementation assemblies, freeing up the the possibility of being too tightly coupled to the implementation logic when the assembly version could change anytime.
  • Follows the rule "Program to the Interface and not the implementation"

This API architecture style follows very much inline with how MS did the Team Foundation Server Object Model.

The SDK allows the develop to tap into any area of MOA2007:

  • UI Add-In
  • Business Logic Add-In
  • Reporting Applications
  • Integration Applications
  • Specialize Applications

The SDK is packed full of samples and the documentation is right on.

I know, I know.... Accounting software is extremely boring but as my partner in crime Ed B has pointed out to me numerous time "This software is essential to business" and accounting software only has the minimal functionally in accordance with accounting needs but business never works great with "out of the box" functionality, sure it works but we want the software to match the process of the business. Being able to add value to accounting software with ease via a powerful API is exciting, the possibilities are endless and there is much money to be made with add-on's. This is a great API for ISV's and "Micro" ISV's.

The Interface assemblies in the SDK are versioned. I dig this. Let me break this down. Since we are programming to the interface and not the implementation, MS can change stuff up in the implementation assemblies and it will not break my production code. But what if they need to change some stuff up in both layers to add new functionality that they want to expose to the developers. In this case they would develop a new Interface assembly and note it as "IwhateverV2". As a SDK consumer I can use this new interface assembly or I can not, and my code will work just fine. To get a some of this new functionality exposed in the new Interface I can upcast my return Interface to the new object. Currently there are 2 versions of the interfaces in MOA2007, all the new Interfaces are appended with V2, which makes it very easy to keep track of what's what. For example: when MOA2007 was Small Business Accounting we had IAccountFactory now that it is Office Accounting we have IAccountFactoryV2. We can still use the old if we want. The rule of thumb is, If you are creating a new project with MOA2007 then use the V2 interfaces, If you already have production code and are writing new code or doing maintenance coding for the same project you will probably want to upcast to the new interface version.

Ed B and I will be developing some good examples using this SDK over the next few weeks to share with the community. We are very excited about MOA2007.

Ed K.

posted on Saturday, March 10, 2007 4:54:54 PM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback
# Thursday, March 08, 2007

"The Team Foundation Administrator's Guide" is available for download here.

The Team Foundation Administrator's Guide is a comprehensive guide that covers procedures for administering Team Foundation Server, including planning, daily operations, recurring tasks, and infrequent operations. Use this administrator's guide to manage Team Foundation Server.

Note: The Team Foundation Administrator's Guide now includes content that was previously published separately in the Team Foundation Planning Guide, which is now deprecated.
(Microsoft 2007)


Ed K.

posted on Thursday, March 08, 2007 8:53:56 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, February 21, 2007

Take a look at this....

For some reason the clock in my system tray is not updating.  Any ideas?  I hovered over it a ton of times and no refresh... Very STRANGE!

 

Ed B.

posted on Wednesday, February 21, 2007 4:27:54 PM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback
# Tuesday, February 20, 2007

Tim Rayburn has an excellent post on Reflector 5.0 and highlights an awesome new feature that really rocks.

Tis a great read: Here

Ed K.

posted on Tuesday, February 20, 2007 9:10:05 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback

As a lover of WinForms Apps I have been totally excited about the ClickOnce Deployment technology introduced in the .NET 2.0 Framework.

Over at the Vertigo Software Team System Blog they have included the SIMPLE steps at accomplishing a ClickOnce "publish" during a Team Build.  Thank you guys!  Take a look... Here

 

Ed B.

posted on Tuesday, February 20, 2007 5:39:20 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Saturday, February 17, 2007

Just as a reminder... The simplest way to delete a team project in TFS is:

1.  Open the Visual Studio 2005 Command Prompt

2.  Use the following command:

TfsDeleteProject /server:TFSSERVERNAME "PROJECTNAME"

Where:

TFSSERVERNAME - name of your TFS Server

PROJECTNAME - name of your Team Project

Ed B.

posted on Saturday, February 17, 2007 9:49:12 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, February 15, 2007

Press Release

This is really going to be awesome for the Sogeti Dallas office, SARK has some really outstanding consultants, especially in the BizTalk arena. We will truly have the most talent Microsoft Practice group in the area after the accquitsion finalizes.

It is going to be a great year for Sogeti!

 

Ed K.

posted on Thursday, February 15, 2007 8:45:49 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, February 06, 2007

Being a huge fan of Vongo, well, at least before they decided to take there time on getting Vista ready, I love being able to download movies. I never have time to watch TV so, having movies on my laptop and portable video player is a beautiful thing. When I heard that WalMart finally launched their video service I was soooooo excited. I rushed home after work and prepped myself for full on "Rocky" movie downloads. The experience was a total let down. Let me show you some screen shots of the adventure.

First of all, it was hard as heck to find the system specs for the service on the website. Once I found them I was presently surprised that it actually stated OS Support "Vista". WOW!!!! A website that really states that they support Vista, very much a rarity. Wait a sec....don't get to excited.....lets try and install the WalMart software.

First I go to download the software with my FireFox Browser:
 
hmmmm.... not to pretty.

O well lets fire up IE7 and continue on our way:
 
Looks as if they have had problems in QA with the install blowing up. Nice fail safe WalMart.

Ok cool, our install went ok. Now we have to name our computer for the WalMart download manager.
 
Well crap, guess we are not going anywhere today.

Lets open up the software that was already installed to see what it looks like:

As expected..... the never ending "trying to connect" cycle.

All and all it was a sad day for Ed K. No "Rocky" movies tonight, I guess "American Idol" is on the schedule for tonight. I look forward to trying this service again soon, I see a very promising business venture here. Nice day one try WalMart.

Ed K.

posted on Tuesday, February 06, 2007 9:08:54 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Wednesday, January 31, 2007

"Microsoft BizTalk Server 2006 requires a hotfix to comply with the new start and end dates for DST in the United States. This hotfix will be available in February 2007. We will update this article when the hotfix is available." (Microsoft, 2007)

http://support.microsoft.com/kb/931961

 

Ed K.

posted on Wednesday, January 31, 2007 8:49:03 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Monday, January 29, 2007

I still can't believe that developers do not program securely, especially when they have all these great tools and best practices easily available. I just wanted to share a quick "WTF" with a recent experience I had.

I am currently looking for a house, so naturally I am calling all sorts of agents to get info and pictures before I commit to driving to look at the house. For this example, we shall say X1 company supplied we with an email with a hyperlink to view information such as pictures, builder, taxes and layout. So Cool right? Ya you bet, being able to view all this data at home before wasting my time driving all over the place. But the hyper link to the home information was a little more interesting, the URL contained there site www.CompanyX1.com then the query string http://www.CompanyX1.com/SearchDetail/AllTheGood/Search.aspx?AgentID=12345&password=IamSoSecure. Bang no need to call again, I can search all there internal listing (which I did not, I will not deal with a company that is that careless). 

Crazy?

Ed K.

posted on Monday, January 29, 2007 7:51:17 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Thursday, January 25, 2007

This will be a rather short blog post because I intend to write a much longer blog post about a this topic once I finishing coding a side project that uses WMI with BizTalk. So for now I am just going to throw down some quick, dirty code and explanation to show the power and usefulness of this topic.

If your a BizTalk guy, you probably get tired of opening the HAT and saving messages then terminating. Unless of course your BizTalk solution is just perfect and this never happens to you...ya ok.

What I am going to do is show you quick example of how to generate Managed WMI classes for BizTalk and show an example of how useful it can be.

First thing is to download this:
Management (WMI) Extensions for Visual Studio .NET 2003 Server Explorer

Next thing is connect to the BizTalk box with Server explorer in Visual Studio. Right click on the "Management Classes" and click "Add Classes"
 

Now Select "ROOT\MicrosoftBizTalkServer" and click "ADD>"

Now you see all the classes you can deal with in your Server Explorer.
Right click on "MSBTS_ServiceInstance" and select "Generate Managed Class"
Now you have a class file in your solution that you can program with.
 

Pretty cool eh?
Go ahead and generate one more class from "MSBTS_MessageInstance"

So, lets writes some quick dirty code to do something. I am sure I have at least 100 suspended messages on my local BizTalk server box to work with here :).

   11  ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.ServiceInstanceCollection _colServiceIns;
   12 
   13   //get a collection a ServiceInstance that are in "Suspended Not Resumable" status
   14   _colServiceIns= ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.GetInstances
(String.Format("ServiceStatus='{0}'", 32));
   15 
   16   //Loop though them
   17   foreach(ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance _serviceIns in _colServiceIns)
   18   {
   19 
   20       Console.WriteLine("ServiceInstance GUID: "+ _serviceIns.InstanceID + "\n");
   21       Console.WriteLine("Error: " + _serviceIns.ErrorDescription);
   22 
   23       ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.MessageInstanceCollection _messCol;
   24 
   25      //get a Collection of messageInstance with a condition that the ServiceInstanceID 
   26      //of ServiceInstance is equal to ServiceInstanceID of MessageInstance
   27      _messCol= ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.GetInstances
(String.Format("ServiceInstanceID='{0}'", _serviceIns.InstanceID ));
   28 
   29      //Loop though the MessageInstance collection and save off the message
   30      foreach(ROOT.MICROSOFTBIZTALKSERVER.MessageInstance _messIns in _messCol)
   31      {
   32          Console.WriteLine("Saving to File");
   33          _messIns.SaveToFile(@"C:\here\");
   34          Console.WriteLine("Done Saving");
   35      }
_serviceIns.Terminate();
   36   }

All that happens here is, we get a collection of ServiceInstance that are "Suspended Not Resumable", loops through some of the properties and displays them. Then, matches up the MessageInstance with its ServiceInstance and saves off the message to a location on disk and Terminate.

Here is our output.

 

Ed K.

posted on Thursday, January 25, 2007 10:29:16 PM (Central Standard Time, UTC-06:00)  #    Comments [2] Trackback
# Wednesday, January 24, 2007

I have not seem too many companies offering quality training on Visual Studio Team System yet. I just saw that Notion Solutions have a training track offered in several locations and even on-site. Their prices look unbelievable, considering who the instructors are, Chris Menegay and Dave McKinstry, both Team System MVP's. I have seen these two guys present at Launch Events and .Net Users Groups; they are awesome! If anyone is looking for great training at an outstanding price check them out.

They have not posted a schedule/curriculum for 2007 training yet, but here is a link to the 2006 one, to get an idea of what they offer.

Here is a list of Microsoft Visual Studio Team System Training Partners.

Ed K.

posted on Wednesday, January 24, 2007 7:55:38 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Tuesday, January 23, 2007

Microsoft has recently released a version of their application that generates the .NET Framework documentation that we see and love...  You can take a look at it and get more information about the project codename Sandcastle here:  Sandcastle Team Blog

Download the December 2006 CTP here:  Sandcastle - December 2006 CTP Download

Some of the high level features:

Sandcastle produces accurate, MSDN style, comprehensive documentation by reflecting over the source assemblies and optionally integrating XML Documentation Comments. Sandcastle has the following key features:

  • Works with or without authored comments
  • Supports Generics and .NET Framework 2.0
  • Sandcastle has 2 main components (MrefBuilder and Build Assembler)
  • MrefBuilder generates reflection XML file for Build Assembler
  • Build Assembler includes syntax generation, transformation..etc
  • Sandcastle is used internally to build .Net Framework documentation
  • Ed B.

    posted on Tuesday, January 23, 2007 4:00:54 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Monday, January 22, 2007

    Our new team at Infragistics, the User Experience (UX) Group, has come out with an article on Code Project about creating fantastic user interfaces using the NetAdvantage family of products. Kudos to several on the UX team who wrote and edited!

    Be sure to check it out!  How to Make Users Happy Article

    Ed B.

    posted on Monday, January 22, 2007 12:48:34 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Sunday, January 21, 2007

    So watch out for the mysterious 28002 Error Unknown.  It really took me a little while to figure this one out.  I was updgrading a client's TFS server and they are using TFS Workgroup Edition and I was getting this annoying error when installing the KB919156 prerequisite to SP1.

    Well, if you have 5 users (which is the limit for the workgroup edition) you are going to receive this error... Dave Glover writes a good explanation of this:  TFS SP1 Article

    You need to remove one of the users from the "Team Foundation Licenses Users" group and add them after the SP1 install is finished.

     

    Ed B.

    posted on Sunday, January 21, 2007 7:41:11 PM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
    # Friday, January 12, 2007

    So I just need to take a minute or two to say a few words about SonicWall. I usually will not get angry with a vendor but this is an exception mainly for the way I have been treated as a customer.

    As you know I am a consultant, so I must be on top with the newest and greatest products that are solid i.e Vista. I, of course installed Vista soon as it was available to MSDN subscribers. As an owner of a SonicWall Firewall I am now crap out of luck connecting to my network since the their VPN Client does not yet support Vista. I have called several times to get a status of a beta, so that I could help them perfect the application as well as have a dogs chance of connecting to my servers, I received unhelpful responses such as this "We did not say we were going to support Vista when you bought it", "Would you like a refund?", "Have you tried any other VPN Clients to see if it will connect?" WOW!!!! great responses from a company that is  a world wide leader in firewall products....... Cruse on over to the Sonic Forums and check out all the post of customers posting "We just dropped Sonic and went with Cisco". No not threats but actual actions of product drops. The company has not even responded to any of the posts on the forum....... I must say I posted a few comments as well hoping maybe an executive would check out the forums every once in awhile (you never know).

    So your probably thinking..."Well Vista has not been released to the general public yet, that's not till Jan 30. So there still on top of their game"... Hello...... general users are not the ones interested in firewalls. Here is the kicker.....I read that Sonic did say they will have a VPN Client that works on Vista sometime in the late first quarter to early second quarter of 2007. I have no facts on that, just stuff that I have read in several places.

    My next firewall will be a Cisco for sure! Yes, Cisco had a beta for Vista out quick, which I used to connect to another network I work with.

    So my rant is done... I believe in the consumer speaking out....If your quite, companies will continue to disappoint the consumer with no repercussions.

    Ed K.

    posted on Friday, January 12, 2007 10:51:47 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Monday, January 08, 2007

    If you are deploying a pre-complied DNN website developed from the starter kit you will run into issues. The issue you will see is that App_GlobalResources cannot be found. The directory App_GlobalResources is removed and all files are compiled into an assembly.

    The work around solution is this:
    Download the DNN Source. Navigate to:

    Project - DotNetNuke.Library
    SourceFile - Localization.vb

    Find Public Const ApplicationResourceDirectory As String = "~/App_GlobalResources"
    rename the value to "~/AppGlobalResources"

    Recompile and replace DotNetNuke.dll in your DNN Sites Starter kit bin

    Go to your solution and rename the App_GlobalResources to AppGlobalResources.

    Rebuild

    You should be good to deploy to your target box.

    Ed K.

    posted on Monday, January 08, 2007 11:14:25 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Wednesday, December 27, 2006

    So it's been known by the other Ed and few choice co-workers... but I'm moving to New Jersey.  Somewhat scary (considering the movers are coming in T-minus ONE WEEK!) and the fact that I know no one in New Jersey except the great people I'm working with.

    Oh yeah, I didn't say who I was working with, did I?  I have the privilege to join the Infragistics team!  I'm going to be starting out as the Best Practices Engineer.  Awesome title huh?  Not as cool as say... Codemunicator; but we'll work on it!

    It is sad to be leaving Ed K after working together for so long... But we've decided to continue the branding and work together still in the future with our shared interests (what exactly are they?)  Ed's a Data Guy and I'm a UI Guy.... how does that work out?  Well that's what's been so great about our partnership.  I LOVE working with Ed.  He's everything I'm not!  I'm not afraid to take my stupid "Ed my query is taking too long, what's wrong?" questions to him!  (And it's always funny when he brings his GUI's that have like text boxes all over the places with different sizes and not even lined up - you know which ones I'm talking about! Then he asks "There's nothing wrong with it - it's beautiful!)  HA HA :)

    How did it all begin?  Well... at the Tulsa Tech Fest in October, Ed K, Tim and I joined Caleb  and the rest of the speakers out to have drinks.  Did I mention how great the group of speakers were?  Anyhow, so I'm sitting with the guys, Ambrose, and Shaun Walker and we're just talking and somehow we start talking about UI or something... after a couple of drinks of course!  I just gave my spiel about UI and if you haven't ever heard it before, then just keep watching for posts; I talk about it all the time!  (Tim and Ed K. are sworn to secrecy about some of the stories that night!)  I stalled for a while since it was the middle of a huge deployment at the client I was at (and still am.)  But seriously... it was a crazy idea for me at the time to move from Texas to New Jersey; a place I had never actually been before.  It's not like I was afraid of the East Coast (I lived/worked in DC for a while a couple of years ago.)  It's just that... well... OK, so I started to get rid of the reasons why I shouldn't move.  I'd like to thank Ambrose for bothering me for several weeks to send my resume to him!  Without it, I wouldn't have come to my senses to accept the position that is most perfect for me.

    Visiting Jersey and Infragistics was a lot of fun!  Wait did I just say that?  Seriously, the interviews were fun.  I really enjoyed the talks and the more I was the there the more I knew that I needed to be there.  Great People, Great Environment, Great Job...  I really couldn't ask for more and before I left the building I knew I just needed to figure out how to get through the obstacles (which I did.)  I will be working alongside a ton of great people.  I already told you about Ambrose but if you haven't ever met Jason Beres... wow! Quite the character also.  Being surrounded by really great people who are passionate about the presentation layer is something I know will just help my improve my skills.

    I'm having to put a couple of my personal development projects on a hold for right now... I'll pick them back up when I get settled and actually find some friends :)

    So I've pretty much three working days left.  It looks like I'm spending the entire time boroughing through the red tape of the Integration Lab to prove that Click-Once deployments are really not.

    Now for those of you who always ask me about the "Telerik vs. Infragistics" questions and my opinions about each release from the companies, I have always done my best to stay objective and I plan to.... with reason of course!  There are things about both company's control suites that I love but anyone who has talked to me before knows that I prefer the Infragistics toolset over Telerik any day.  I'm hoping to take what I know about the different companies and make the Infragistics toolset that much better!

    Hope everyone has had a Happy Holidays and wish everyone a great new year!  I'll post my new Infragistics blog whenever I get it set up....

    Take care,

    Ed B.

    posted on Wednesday, December 27, 2006 1:52:32 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Wednesday, December 20, 2006

    I usually do not blog about movies but this is definitely an exception. I grew up watching the "Rocky" saga, I am a die hard fan and seriously look at Rocky as an idol. For years there had been rumors of a Rocky 6 being written but never did I see anything; I felt robbed at not getting a final chapter in the life of the Italian Stallion; I am now satisfied :).

    The movie was overall great. The story could have used a little more work to fill in some gaps after Rocky V but it was still a very riveting story line. The acting was good, Sylvester Stallone delivered a realistic character and still had the good 'ol accent we have all grown to love and mock. I was displeased with the absence of a few key characters but surprised at the reentry of some very obscure characters. As you know, the movie always has a big fight scene that the story builds up too but I did not like the camera angles and feel of the frame for the first few rounds, it was kinda like watching boxing on TV, which they have done this in all the movies but this one just took it overboard and lost the movie feeling. During the last rounds they use to much mise en scène, they tried to hard to bring a psychological unity to each frame set. The movie ends a bit different than you would think but, its the final movie, so I expected that. I was pleased with the ending and felt closure with the Rocky chapters. I bid a farewell to Rocky, I have enjoyed sharing in the moments of his climb to fame, fall into retirement and rise in achievement to become a lasting legacy in the hearts of the American people.

    I don't want to ruin the movie so I will say no more. Drop your 9 bucks and watch this movie, you will love it :) !

    I give the movie two enthusiastic thumbs up! I can't wait to round out my Rocky DVD collection with the last.

      Rocky (1976)                           Rocky II (1979)                         Rocky III (1982)       
       

      Rocky IV (1985)                         Rocky V (1990)                         Rocky Balboa (2006)

    Ed K.

    posted on Wednesday, December 20, 2006 5:30:08 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Sunday, December 17, 2006

    Tim Rayburn of TimRayburn.net presented at the Dallas .Net Users Group this month. This was one of the best presentations I have heard in a while. Tim Rayburn is a big BizTalk guy in Dallas and when it comes to XML he is Master Yoda. He reviewed XML namespaces, XPath syntax, and closed with a review of the XmlReader object in the .NET Framework. There were awesome questions that spurred great conversations and best practice discussions. He has posted his notes, code samples and slides on his blog. Check them out you will definitely learn something.

    Get the slides and code samples HERE.

    Ed K.

    posted on Sunday, December 17, 2006 6:41:55 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Tuesday, December 05, 2006

    NOTEThis is an unfinished article.  I have been working on this commentary for several weeks now but I felt I needed to post what I already have.  I will be adding sections over the next several days to complete everything so look for more links, screenshots, images, sections, and content.  I'll also watch for comments and post answers to really good questions or requests for more commentary.

    I have been working on this post for several weeks now.  It's the "Toy Boy" in me that has been irking to talk about my experience with all of the .NET UI "toys" out there.  I am a huge fan and proponent of organizations choosing a third-party .NET component suite for purchase for their development team(s).  There are just so many reasons to have one chosen and used in all of an organization's applications.  The question that always pops up though is:  Which One?  In the last three years this question has come up for me from several different organizations including clients that I have consulted with.  Honestly, the best choice will always depend on the organization and its needs but I would like to go through a comparison of the major component vendor suites that are out today.  Even though I have my favorites, my goal was to be completely objective in my analysis and judging.  I will be comparing the following versions:

    I have further split my comparison into control groupings to ease the reading for major controls.

    Grids

    <Section Not Completed Yet - Update Soon>

    I'd like to see the component vendors offer data bars support like in Microsoft Office Excel 2007... that would be way awesome!

    ASP.NET AJAX(Atlas)

    Now, for the longest time I have been a huge fan of Telerik ajax control because of how simple it was to "ajaxify" your current web apps.  You still can easily but now you can also do the same with the new Infragistics release.  I would suggest giving them both a try but both components compete extremely well with each other and are compatible with the latest beta release of Microsoft AJAX.

    Something minor but worth saying:  I love the gallery of different "loading" animations that are available out-of-the-box with the Telerik r.a.d. ajax control.  Take a look at them:  http://www.telerik.com/demos/aspnet/Ajax/Examples/Common/LoadingImages/DefaultCS.aspx

    Editors

    <Section Not Completed Yet - Update Soon>

    Charting

    Anyone who knows me knows how much I LOVE charts.  Love them Love them Love them!  (I know... the look you are giving me now is the same look I get from many when I talk about charts.  But hey, I LOVE charts!)  Charts in my opinion are one of those most fundamental tools you can use to convey so much information to an end user.  Well-presented charts are a must-have for every application that deals with data and needs to convey useful information.  With that said:  Absolutely nothing else to say:  Infragistics has the best charting controls between the two comparison suites.  I love using them.  They are just too easy to learn.  Just figure out how you want to convey the information using the design-time designers and then data bind!  POOF! 

    Aside:  There are some things that I wish Infragistics would include in their charting controls.  Best of breed in the charting control space would have to be Dundas.  If you haven't taken a look at them, they have great controls for charts, maps, and gauges.  (Something that I would like to see included in the other component suites.)  Beware though... Dundas charges a pretty penny for them, but if all you need is really good charting controls, Dundas is definitely the way to go.

    XHTML/Accessibility

    <Section Not Completed Yet - Update Soon>

    Toolbars

    If you think about it, toolbars and menus have been around for a very long time; way before I was even born.  I think since the 1970s!  Wow... and they have really been the way UI designers have presented commands and features to users in just about every application.  With the latest release of Microsoft Office, Microsoft has invested several years of R&D for a new concept to replace menus and toolbars.  I think they did a great job with the Ribbon with Galleries and the Quick Access Toolbar, and "Office Button."

    Telerik and Infragistics along with other component vendors have jumped onboard to offer us the ability to easily use these new UI features in our own applications!  Both have done a great job.  I'm somewhat biased with the Infragistics toolbar managers controls (with run-time customization support for end users) because I think the architecture of this is great.  The only two things that they missed (and I'm sure they know about since everyone has brought it up already) is that the window frame that would normally be "glass" in Windows Vista is being drawn over and the missing support for ribbon command merging in an MDI application.  The MDI merging has been one of the great features that has allowed Infragistics to excel.  Between all of the different ribbon controls out there I also think that Infragistics has done the best job at making their ribbon implementation most look like Microsoft's ribbon implementation in Office 2007.

    <I want to put an image of each of the component suite's version of the Ribbon for comparison against an actual image from the Word Ribbon>

    Office 2007 Ribbon UI Licensing Information

    Microsoft has recently released how it is going to allow ISV's to use the new Ribbon.  It's pretty simple and here's my summary: 

    • Follow the Design Guidelines (Five years down the road we don't need to see a million different versions of the ribbon!  We want to keep it the same so that end users will be able to feel comfortable going from application to application
    • Register your application on the Office UI Site
    • Don't use the new UI in an application that competes with the core applications in Microsoft Office - (Sorry, you can't use the Ribbon if you are developing something like a commercial version of Open Office)

    There is a great Channel 9 video available that even includes a Microsoft attorney in it (probably the only one that has a member of their counsel) that discusses this new licensing.  Both Infragistics and Telerik (and several other component vendors) are partners in offering controls that follow the design guidelines.  I am really happy that Microsoft has opened up I am proud to see the vendors stepping up and making this new UI revolution available to the masses for use in their own apps.  (They've even been released before the official release of Office 2007 to the public! CRAZY)  If you happen to have any more questions about the whole licensing thing you can always shoot a good question over to officeui@microsoft.com.

    Scheduling

    <Section Not Completed Yet - Update Soon>

    Tablet PC

    This is one area that Infragistics definitely wins over all component collections.  Coming from doing medical industry development, I have been able to leverage the Tablet PC features of the Infragistics NetAdvantage suite.  We were able to use the ink-enabled controls inside our Windows Forms medical records app and the physicians loved the ability to write with their Tablet PC into the patient's record.

    Surprisingly, it is extremely easy too.  All you have to do is drag and drop the WinInkProvider on to your form and all of the Infragistics controls instantly show their Ink buttons on an Ink-enabled OS installation (if the Ink button display visible property is in its default state.)  You can force the display of the ink button as well for devices that aren't ink enabled so that you can draw ink with your mouse...  Not fun though :(

    Composite UI Application Block (CAB) Support

    Both suite's controls support the CAB framework.  If you haven't taken a look at this new application block it's actually quite handy for UI developers.  I really enjoyed learning about it and am looking forward to the opportunity to take advantage of it in my next app.  For more information on CAB:

    From what I heard, developers from Infragistics actually contributed greatly to the CAB project and were an instrumental piece of making it all happen... Kudos to them.

    Miscellaneous

    Support

    I have very strong opinions about support with a product.  Let's face it, you will never everything about the control suite that is available.  I would be surprised if there is someone at each of the component vendors who knows EVERYTHING about their control suite.

    The one thing that just drives me bonkers is the inability to be able to call somewhat up on the phone to get some support at Telerik.  The support tickets that I have submitted have gone great in solving the issue but you know how well e-mail correspondence can go for in a support situation.  Especially having to wait between responses.  (Can you tell that I can get impatient at times? :) )

    I just want to pick up the phone sometimes and just get something resolved so I can keep trucking with my development.  That's the nice thing about purchasing Priority Support with an Infragistics subscription.  You got to do it, it's well worth it and the people on the other side have always been extremely courteous and knowledgeable.  Not to mention spend as much time as is needed getting the issue resolved.  You know how you call some support lines and you can just tell the person on the other end just wants to get you off the phone as quickly as possible?...  Completely irritating if you ask me!

    Learning

    If you are looking for a great suite that has tons of further reuse but will require an investment of learning ramp-up time then go with Infragistics.  I will describe the Telerik r.a.d. controls suite as "simple" in comparison but that's not always what you want out of a control suite that you will use again and again.  Plus, a good way to go is to make the investment of going through the offered training.  Infragistics has both a fundamentals and advanced course that can be taken in person or online.  You can't beat that.

    Some amount of time is needed to sit down and learn the Presentation Layer Framework (PLF) and use the controls effectively.  But once you have made the investment, you don't have much to learn about the individual controls after that since the whole suite uses the PLF.  Infragistics even offers the ability to use the PLF in any components that you actually write.  (See specifics)

    Documentation

    This is one area in which Telerik is lacking tremendously.  I have found it really difficult to navigate through their documentation.  Over the past couple of releases I would have to say that Infragistics has been improving their documentation pretty much exponenentially.  Before selecting a component suite for your organization be sure to download the trials and check out the documentation and make sure your developers will be able to find the info that they need!

    Source Code

    Both Telerik and Infragistics offer you their source code as part of a subscription purchase.  Until recently, Telerik would require that you purchased more than five licenses to have access to the source control.  I'm glad they changed that licensing model.

    Pricing

    Here's what I found as of December 1, 2006:

    Telerik:

    r.a.d. controls for ASP.NET Subscription:  $999
    r.a.d. controls for ASP.NET:  $799

    r.a.d. controls for Windows Forms Subscription:  included with ASP.NET subscription until March 2007
    r.a.d. controls for Windows Forms:  included with ASP.NET license until March 2007

    Infragistics:

    NetAdvantage .NET (ASP.NET, Win Forms, and AppStylist) Subscription with Priority Support:  $1,490
    NetAdvantage .NET (ASP.NET, Win Forms, and AppStylist) Subscription:  $995

    NetAdvantage ASP.NET Subscription with Priority Support:  $1,290
    NetAdvantage ASP.NET Subscription:  $795

    NetAdvantage for Windows Forms Subscription with Priority Support:  $1,290
    NetAdvantage for Windows Forms Subscription:  $795

    NetAdvantage AppStylist with Priority Support:  $1,195
    NetAdvantage AppStylist:  $695

    Value

    Telerik has a total of 18 controls (36 including the Windows Forms suite.)

    Infragistics has a total of 88 controls and in my opinion has more bang for the buck...

    <Section Not Completed Yet - Update Soon>

    Volume Discounts

    Telerik:

    3 to 4 licenses - 10%
    5 to 9 licenses - 20% 
    10 to 19 licenses - 30%
    20 or more - 40%

    Infragistics:

    Member of Enterprise License Program (>25 Any Infragistics Licenses) - 15%

    Licensing

    Pretty much every company has had great licensing models to deal with.  Per-Developer and royalty-free for applications produced from the licenses is definitely the way to go.  One thing that I am disappointed with is that the big developers force you to purchase another license for a build machine.  I really don't agree with this model.  The ability to centralize team builds using a product like Microsoft Team Foundation Server is a great feature to have... but having to spend more money just to have the binaries to compile your app?  Not a good way to go.  I hope that each of the components vendors will address this issue soon and change their licensing models to allow for a build machine license.

    Single Vendor Exclusives and Other Vendor Comments

    I've made a couple of comments about what each of the vendors developer that is exclusive to the other component vendors.  Also, I wanted to take the opportunity to make some comments that don't necessarily fit in any other section of this article.

    Telerik

    r.a.d. Rotator, r.a.d. Window, r.a.d. Upload and more... 

    <Section Not Completed Yet - Update Soon>

    Infragistics

    AppStylist, TestAdvantage, JSF, and more....

    <Section Not Completed Yet - Update Soon>

    Developer Express

    <Section Not Completed Yet - Update Soon>

    Component One

    <Section Not Completed Yet - Update Soon>

    ComponentArt

    <Section Not Completed Yet - Update Soon>

    Summary - Final Conclusion

    Honestly, if your organization hasn't already chosen a component suite for regular daily use in your applications you absolutely will benefit so much by going out and getting one.

     

    <Section Not Completed Yet - Update Soon>

     

    Let me know what you think... I'd like to hear about other developer's opinions about what they like/don't like in the different component suites!  I hope that this helps you out in your product selections and feel free to let me know if you have any further questions about my experience with any of the component suites.

    I will end with this:  I also know the other camp of developers who feel that only the controls that are in Visual Studio should be used.  The opinion I hear from that camp is that you get stuck down to a third-party when you begin to use outside controls.  Well, here's my opinion:  You can make a good UI with the out-of-the-box Visual Studio components but you can't make an AWESOME one without a lot of effort.  Imagine having to draw really good looking charts using only the System.Drawing namespace!  Now imagine just dropping a chart from the toolbox, using a designer, and then data binding...  That is what is in store for you!

    Now Go Vote

    There are several publications that are asking for your votes on the different component suites... So now is your chance to give your opinion for which one is your favorite:

     

    Some legal disclaimer stuff:

    This article expresses my personal views and opinions and are not the views of my employer, previous employers (or future employers for that matter.)  The information contained in this article is provided without any express, statutory, or implied warranties.  In addition, the respective companies, products, components, and other commercially available software suites are either registered trademarks or trademarks of the respective organizations in the United States and/or other countries.

    Funny aside:  While I was in college, I would always complain about writing reports anything over 500 words... LOL  I just absolutely hated doing it.  Although, if you haven't seen one of the cool new features of Microsoft Office Word 2007... wait until my next post.  I sure would have loved to have that while I was doing research and stuff in school!  Kids these days...  They have everything handed to them :)

     

    Ed B.

    posted on Tuesday, December 05, 2006 3:04:37 PM (Central Standard Time, UTC-06:00)  #    Comments [1] Trackback
    # Thursday, November 30, 2006

    I ran across this issue when building my HIPAA Schemas in Release mode for deployment.

    (-1040) The engine input file compilation process is already active

    There are good reason for receiving this, such as, someone else doing a compile and/or accessing the EIF file at the same time you are. If you are sure that is not the case then you can manually unlock the repository. Do do this open Query Analyzer and run this script:

    USE BizTalkHIPAA_EDIDb
    GO
    UPDATE parame SET repolock= NULL
    GO

    What initially caused this issue was, at one time I was building the Schemas and I canceled the build which killed the COMPEIF.exe process leaving the table in a locked status.

    Ed K.

    posted on Thursday, November 30, 2006 1:50:44 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Wednesday, November 29, 2006

    So I installed Windows Vista Ultimate, since I upgraded from Windows Media Center 2002 the first thing I was interested in was to defragment my drive. I must say, I was shocked at the GUI and concept of the new defragmenter. There is no pretty little graphical current and future state progress, there is no "Select drive option" and there is no "view the details" of what could not be defragmented. What I do like is the ability to schedule the process and the fact that is runs as a background service, which is great since I do not have time to sit idle and let it defrag, I need to be working while its working.

    I am still in the process of figuring out what software does not work on my box after the upgrade. I am extremely displeased with two companies that did not have their sh#t together for the release of Vista........"VONGO" (Movie download software) and "SONIC WALL" (VPN client)  arrrgggggg.

     

    UPDATE:

    I found that you can still open your "Computer" and individually select a disk drive to Defrag.

    Ed K.

    posted on Wednesday, November 29, 2006 10:35:54 AM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Monday, November 27, 2006

    So... very cool thing that I saw on Caleb Jenkin's blog the other day.  If you have trouble picking color themes and all that jazz... than here is a site that you can really get some good help from:  Adobe Kuler

    There are some really good links that point to some good sites about Color Theory in general.  As a presentation layer designer/developer, it is important to keep in mind what colors you choose and what "meanings" different colors have to different people including different cultures if you are developing software that is used globally.

    I personally have a great product that I carry around with that is a bound book of web colors and just web cheat sheets in general.  Plus the owner of the company is just awesome.  Very nice guy and has great customer service...  http://www.visibone.com

    The other nice thing about the Web Designer's Color Card that I have is that those of us who actually can see all of the colors can be reminded of what those that are color blind can see...  Just another thing to think about when choosing colors for your UI.

     

    Ed B.

    posted on Monday, November 27, 2006 1:02:05 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Sunday, November 26, 2006

    Well, as you can see I did not post what I was learning at the IAF training, this is because the subject in which we were taught is sensitive information that we cannot share with others outside our organization. The training was awesome and really taught me about how to align IT with Business needs. This is always a touchy subject with most developers because they do not think that IT is bought in soon enough during the project inception. I understand that and definitely have felt the burn of that scenario. The IAF provides an outstanding way in which to address that common concern elegantly. I look forward to attending the advance classes that are offered. For now, that's it, all I can say.

     

    Ed K.

    posted on Sunday, November 26, 2006 9:57:33 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Thursday, November 16, 2006

    Just checked... Windows Vista is now available for download to MSDN Subscribers.

     

    Ed B.

    posted on Thursday, November 16, 2006 5:50:55 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
    # Wednesday, November 15, 2006

    So... looks like Microsoft Visual Studio Team Edition for Database Professionals (which currently happens to be the Microsoft product that has the longest name in the Microsoft Product Catalog) will be RTM on November 30.

    Ed and I have been invitied to sit on the Expert Panel for the Dallas Launch Event on December 13.  You can find more details about the event here.  We look forward to seeing you there.

    DB Pro (former "Data Dude") is a great addition to the Visual Studio Team System and has a lot of cool and useful features.

    1. Brings in the database developers and includes them in the collaboration using Team Foundation Server.
    2. Database Schema is now able to be put into source control!  This enables a group to manage changes to the database with all of the version control features TFS brings to the table.
    3. Generates Data for testing.
    4. Produces database schema change scripts.
    5. Allows creation of unit tests for the database.
    6. Rename Refactoring across entire database!  Unfortunately, it will not rename objects that you have used in code.  For instance, if you have a data layer project, it will not change stored procedures or parameter names if you changed them in the DB project.
    7. Schema Comparisons (between Projects and Live Databases, and DB to DB)
    8. Data Comparisons (same)

    Things that this release did not have in it that I hope to see in the future:

    1. Data Modeling Tools
    2. Intellisense for T-SQL (Although I really understand how daunting of a task that would be because of how the syntax of T-SQL was designed.
    3. I'm sure there are other things that I think are needed but I'll add them as I think of them.

     

    Very exciting times!

    Ed B.

    posted on Wednesday, November 15, 2006 11:11:05 AM (Central Standard Time, UTC-06:00)  #    Comments [0]