skmMenu, a free, open-source ASP.NET menu control that I developed sometime back, is now being used on the German Expedia site, Expedia.de. To my knowledge, this is the largest, most public site that skmMenu's been deployed. I started skmMenu back in November 2003 for a pair of ASP.NET Developer Center articles: Building an ASP.NET Menu Server Control and Examining the skmMenu Server Control.
This menu control's success and popularity have been a bit of a surprise to me, to be honest. skmMenu has two benefits:
- It's free
- It's open source (allows for customization, provides a means for developers to learn about ASP.NET server control building concepts)
However, I always thought that these benefits were outweighed by the following disadvantages:
- No official support. Have a question or technical problem with the control? You either have to figure it out yourself or hope someone on the skmMenu messageboard can assist.
- Lack of exciting features. skmMenu's look and feel is pretty vanilla (my artistic skills are nil). While it can be customized to look appealing, that responsiblity falls on the shoulders of the page developer. Commercial menu controls, like telerik's r.a.d. menu, come with prepackaged themes that produce slick-looking results.
- A provided Menu server control in ASP.NET version 2.0
Regardless, the skmMenu.com website still averages over 300 unique visitors per weekday.
Don't get me wrong, I'm not bashiing skmMenu and saying, Don't use it. I think skmMenu's price and customizability (by virtue of it being open-source) can't be beat. However, if you need just a standard, nice looking menu control that can be deployed and setup quickly, with dedicated technical support backing the product, the couple hundred dollars charged by the third-party commercial menu controls are definitely worth the investment. Where skmMenu might be the best choice is if you need to highly customize the output/appearance of the menu's markup, or the underlying logic, or if your budget for third-party apps is $0, or if you are interested in learning more about building real-world server controls.