Wednesday, February 04, 2009

Optimization Tips: RadInput vs. RadInputManager

OptimizationTips[Cross-post of content from my Telerik.com blog for your technical reading pleasure.]

In the Q3 2008 release, Telerik introduced a new control to the RadControls for ASP.NET AJAX suite called RadInputManager. Like RadInput, it is designed to enable you to provided textboxes to your users that give real-time validation and feedback based on the entered text. The big difference with RadInputManager, though, is that you don't have to add lots of Telerik Input controls on your page to get this real-time feedback. Instead, you can quickly convert "standard" ASP.NET TextBoxes to RadInput textboxes via the RadInputManager configuration- similar to how you can use RadAjaxManager to quickly ajaxify your page without littering it with UpdatePanels.

RadInputManager is a very innovative control and- in my opinion- one of the biggest steps forward in simplifying ASP.NET form validation to come around in a long time. In this optimization tip, we'll take a look a the RadInputManager (RIM) control to see how it simplifies form validation and see how it helps us improve page performance.

Continue reading RadInputManager optimization tip

SIMPLIFYING FORM VALIDATION

When ASP.NET developers want to validate form inputs today, that usually represents the beginning of a time consuming task where form validation controls are add to the page for every input that needs to be validated. After the assorted RequiredField, RegularExpression, and Range validators are added, their prosperities set, and some type of UI added to display their error messages, you're left with a page cluttered with markup that is unrelated to the actual layout or function of the form. Further, any complex validations on the page are usually set such that they do not get evaluated until the form has been submitted, meaning users get feedback regarding their input errors long after the mistake has been made. Not great for usability.

With RadInputManager that all changes. Instead, validating form inputs becomes easy and painless:

  1. You add standard ASP.NET TextBoxes to your form where you want to collect values
  2. You configure RadInputManager to apply RegularExpression, Numeric, DateTime, or RequiredField validations the appropriate textboxes
  3. You run the page

No markup littering. No need to set properties over and over again on controls that are providing the same validation. And as a bonus, when you use RadInputManager, users get real-time feedback when their input does not validate, enabling them to correct it before submitting the form.

RADINPUTMANAGER VALIDATION TYPES

We won't go in to fully detailing the RadInputManager's properties- there are great docs available for that- but I will highlight it's capabilities as a form input validation control. Via the control's simple configuration properties, you can accomplish any of these validations:

  • Numeric - only accept numeric digits, specify Max and Min number range, specify negative number formatting, specify decimal formatting
  • Date- specify allowed DateTime format, specify allowed DateTime range
  • RegularExpression- specify any regular expression to validate
  • TextBox- use as simple RequiredField validator

In addition to these specific validation types, RadInputManager allows you make any textbox required (essentially replacing the need for separate required field validators) and it enables any textbox's validation to be declaratively connected to a web service for powerful server-side validation. With a single control, you're replacing the need for separate TypeValidators, RangeValidators, RequiredFieldValidators, and CustomValidators for every input on your form.

RADINPUT VS. RADINPUTMANAGER

RadInput has been part of the Telerik RadControls for quite some time and- like the RadInputManager- it provides rich, validated text input. In fact, the RadInputManager is really just simplifying and optimizing the creation of RadInput controls on your page. Rather than manually adding a RadInput every place you need input validation and then initializing all of those controls separately, RadInputManager allows you to simplify the the configuration and optimize the initialization on the client. For example, if you needed to validate 5 numeric textboxes on a form, you might do this with RadInput:

ASPX

<telerik:RadNumericTextBox ID="RadNumericTextBox1" runat="server" MaxValue="100" MinValue="0">         
</telerik:RadNumericTextBox><br />
<telerik:RadNumericTextBox ID="RadNumericTextBox2" runat="server" MaxValue="100" MinValue="0">         
</telerik:RadNumericTextBox><br />
<telerik:RadNumericTextBox ID="RadNumericTextBox3" runat="server" MaxValue="100" MinValue="0">         
</telerik:RadNumericTextBox><br />
<telerik:RadNumericTextBox ID="RadNumericTextBox4" runat="server" MaxValue="100" MinValue="0">         
</telerik:RadNumericTextBox><br />
<telerik:RadNumericTextBox ID="RadNumericTextBox5" runat="server" MaxValue="100" MinValue="0">         
</telerik:RadNumericTextBox><br />
Notice the duplication of properties we have to set for each control. Also note that if we want to change the validation in the future, we have to replace the entire input control. With RadInputManager, the same configuration might look like this:

ASPX

<telerik:RadInputManager runat="server" ID="radInputManager1">
 <telerik:NumericTextBoxSetting MaxValue="100" MinValue="0">
     <Validation IsRequired="true" />
     <TargetControls>
         <telerik:TargetInput ControlID="TextBox1" />
         <telerik:TargetInput ControlID="TextBox2" />
         <telerik:TargetInput ControlID="TextBox3" />
         <telerik:TargetInput ControlID="TextBox4" />
         <telerik:TargetInput ControlID="TextBox5" />
     </TargetControls>
 </telerik:NumericTextBoxSetting>
</telerik:RadInputManager>
Where in the above code snippet I have "TextBox1" through 5 somewhere on my form. Now I'm only setting my validation rules once, and I even have the ability set the "IsRequired" flag (something not available with RadInput). If I need to change the validation of a TextBox in the future, it's a simple matter of defining a new "Validation Setting" in my RadInputManager and adding the TextBox to its "TargetControls" collection.

IMPACT ON PERFORMANCE

When you use RadInputManager instead of RadInput, you're optimizing your page in two ways:
  1. You're reducing the bytes sent over the wire
  2. You're reducing the page initialization time
To observe this, we'll create a simple test that is made-up of two pages: one page has 40 RadInput controls (10 of each flavor, Numeric, DateInput, MaskedTextBox, and TextBox) and the other 40 standard TextBox controls with RadInputManager (configured with 10 controls for each setting type, Numeric, Date, RegEx, and TextBox). We'll load both of these pages in FireFox six times (on an empty cache each time) and measure total bytes received, JavaScript bytes received, HTML bytes received, requests, and average page load time. We'll then compare the numbers to see the relative difference (not absolute, since absolute times are impacted by many factors) RadInputManager has on page performance.

As a follow-up, we'll also re-run the tests- both with RadInput and RadInputManager- with the RadManagers to see how they affect overall page performance.

Bytes Over the Wire

radInputMngr_Chart_Bytes

This chart shows us the difference in bytes sent over the wire when using RadInput vs. RadInputManager for the exact same scenario (40 inputs). I did not include the results of the tests with the RadManagers because they do not significantly effect the bytes sent to the client (in this test, they only reduced total bytes by about 1%). What we see right away is that RadInputManager reduces the total bytes sent to the client by about 22%, but it sends about 5% more JavaScript to the client than RadInput. To achieve he overall reduction, RadInputManager is sending much less HTML- about 55% less in these tests. That's significant for one very important reason:

When a page is requested, all page resources (like JavaScript) will be cached and the cached versions will be used on subsequent page loads. The HTML, however, will be requested and sent every time the page loads.

So while RadInputManager does send slightly more JavaScript, those resource gets cached on the initial page request and then the lightweight HTML gets exchanged after that. With RadInput, you're passing twice as much HTML for every page request.

Average Page Load Time

radInputMngr_Chart_time

When it comes to page load time, we also see a significant gain in performance with RadInputManager. Since the Manager can coordinate the initialization of the validation logic (as opposed to having 40 separate controls trying to initialize on page load with RadInput), overall page load time can be reduced. In these tests, the page with RadInputManager took an average of 23% less time to load than the page with RadInput controls. Page load performance was even better when the RadManagers (RadScriptManager and RadStyleSheetManager, for the unfamiliar) were added, extending RadInputManager's benefit to about 27% less loading time while cutting total requests in half (from 11 to 5).

OPTIMIZATION TIP SUMMARY

RadInput and RadInputManager are two very capable input validation controls. Both have features that make them compelling- such as RadInput's support for numeric "spinners" and RadInputManager's support for RequiredFields- so it's important to pick the right control when designing your pages. For richer UI with more interactive controls, RadInput is currently your best choice. For top performance and highly optimized pages, RadInputManager is the best choice for a few simple reasons:

  • It reduces the bytes sent over the wire and has a better caching story
  • It is much faster to configure than RadInput or traditional ASP.NET validation controls
  • It improves overall page load performance
Hopefully the evidence presented in this article will help you understand the benefit of using RadInputManager in your own projects and show you yet another way Telerik is trying to deliver more than expected when it comes to helping you optimize your web applications.

Monday, February 02, 2009

Two free Telerik webcasts THIS WEEK, Reporting and WPF

Open your calendars and get ready to jot down two important (free) events this week. Telerik is hosting two webcasts this week, one on Telerik Reporting (rescheduled from last week) and one on RadGridView for WPF. Both events are 100% free. Both are lead by Telerik Evangelists- so these are developer talks, not sales talks. Both are at 11:00 AM EST. If you want to maximize your Telerik learning, sign-up for these events now to reserve your seat. And don't delay, the first webcast is tommorrow (Tuesday)! Register for Telerik Reporting Webinar ("Reporting 101") Date: Tuesday, Feb 3rd, 2009 @ 11 AM EST (Tommorrow!) Register for Telerik WPF Webinar ("Getting Started with RadGridView for WPF") Date: Thursday, Feb 5th, 2009 @ 11 AM EST A quick note about the time (since a few people have asked). We're hosting these webcasts at 11:00 AM EST so we can enable as many people as possible on this vast round globe of ours to attend the live event. When an event is held at 11:00 AM EST, that means it's 8:00 AM PST (the beginning of the workday), 10:00 AM CST, and 4:00 PM GMT (that's London, for the unfamiliar). I know this doesn't work for everybody- no time does- so we will be making these recordings available on Telerik TV shortly after the live event. Hope that helps and I hope to see you at the live events!

Friday, January 30, 2009

Telerik Watch Minute: RadMVC

No, there is no new product called RadMVC- that's just my "catchy" title for this episode of Telerik Watch Minute. As you might have guessed, though, this episode is focused on showing you how you can get started using the RadControls for ASP.NET AJAX in ASP.NET MVC. Telerik is one of the only ASP.NET component vendors supporting MVC and we're doing it without requiring you to learn a whole new set of controls. You can use the same RadControls for ASP.NET AJAX Q3 2008 SP2 that you use today in ASP.NET MVC. This is a big concept, though, so this is a longer than usual Telerik Watch Minute. Hopefully the extra time spent in the demo will help you gain a complete understanding of how you can get started with the RadControls in MVC and set you up for success on Microsoft's latest incantation of ASP.NET. Enjoy! Watch this epsidoe in full HD on Telerik TV (makes it easier to read the code)

Thursday, January 29, 2009

Postponed: Telerik Reporting Webinar

As you know, today (in fact, right now) was supposed to be a free Telerik Reporting Webinar. But you've probably noticed that there is no webinar to be found. Fret not, you did not miss the event. Unfortunately, today's speaker became seriously ill shortly before the scheduled start time of this webinar, so we have decided to postpone the event by a few days. We are very sorry that this last minute change had to be made, but I'm sure you'll agree you'd rather have a great webinar with a healthy speaker than a weak webinar with a sick speaker.

The event is already very popular with well over 700 people registered to attend, so we don't want to make you wait long to get this content. The new time for this webinar will be this Tuesday, February 3rd at 11:00 AM EST. If you've already registered, you should be getting an update email with the webinar details, too.
Update your calendars and join us next week. And in the mean time, join me in wishing Kevin a speedy recovery!

Wednesday, January 28, 2009

Optimization Tips: RadCompression Module

Optimization Tips[Cross-post of content on my Telerik.com blog, for your reading convenience.]

Welcome back to the ongoing Optimization Tips series. It's been a while since the last installment, so it's high-time we took a look at more tips and tricks for optimizing your Telerik-powered web applications. In this the seventh article in this series, we'll take a look at Telerik's brand new RadCompression HttpModule and try to gain a deep understanding of how this tool can help improve application performance. Some of the concepts in this article build on things we've discussed in previous installments, so I encourage you to read the earlier articles before reading this if you have not already done so. Let's get started.

WHAT IS RADCOMPRESSION?

Simply put, RadCompression is a HttpModule that ships with the RadControls for ASP.NET AJAX (Q3 2008 SP2 and later) that is designed to automatically compress your AJAX and Web Service responses. In other words, RadCompression will intercept the bits that your server is sending back to a browser (or Silverlight-client, for that matter) and compress them. Once the compressed bits reach the browser, standard browser technology takes-over and decompresses the response so your application can work with it normally. The compression process is completely transparent to your client-side code (JavaScript or Silverlight) and your server-side code. It simply reduces the number of bits that must be sent over the wire (from your server to your client) and thus- in theory- improves your page performance by reducing the TTLB (time to last byte).

Continue reading RadCompression Optimization Tip

WHAT RADCOMPRESSION IS NOT

RadCompression is not designed to be a complete replacement for other HTTP compression tools, such as the built-in HTTP Compression in IIS 7. Instead, it is designed to work with those existing tools to cover scenarios they usually miss- namely the compression of bits moving back and forth in AJAX (and now Silverlight) applications. If you have HTTP Compression enabled in IIS7, you'll discover that it does not compress your AJAX and Web Service responses; it only compresses the initial bits sent to the browser when the page is requested. By adding RadCompression to your project, you cover those gaps and start compressing your XHR (XmlHttpRequest - i.e. the "X" in AJAX).

So, if RadCompression does not cover all HTTP traffic, what does it cover? Quite simply, RadCompression will automatically detect and compress requests that expect these content response types (as found in the HTTP request's "ContentType" header or "AcceptsTypes" header):

  • application/x-www-form-urlencoded
  • application/json
  • application/xml
  • application/atom+xml

These types generally reflect the content types returned by AJAX Web Services, ADO.NET Data Services, and AJAX UpdatePanel responses, though there certainly are other scenarios that return these content types (such as a typical RSS feed). If a browser supports compression (and most modern browsers do), and RadCompression is enabled, all content of this type will be compressed. The one exception is IE6, which does not well support this compression, so RadCompression will automatically ignore requests coming from IE6 clients.

HOW DO YOU ENABLE RADCOMPRESSION?

Enabling RadCompression really couldn't be easier. It's a simple matter of adding a HttpModule registration to your site's web.config. Specifically, you need the following:

XML (Web.Config)

<httpModules>
...
<!-- Add this line exactly as is - the name value is important -->
<add name="RadCompression" type="Telerik.Web.UI.RadCompression" />
</httpModules>
<!-- If you're using IIS7, then add this, too-->
<system.webServer>
  <modules>
    ...
    <add name="RadCompression" type="Telerik.Web.UI.RadCompression" />
  </modules>
...
With that single line of configuration (or two lines if you're using IIS7 Integrated Pipeline), RadCompression is ready to work. You don't need to make any additional code or configuration changes. The compression module will automatically look for content that matches the conditions mentioned above and compress it. Remember that HttpModules, unlike HttpHandlers, touch every request processed by ASP.NET, so you don't have to do anything to your pages or services to make the compression work. All compression is handled by the module. All decompression is handled by the browser.

WHAT IS THE BENEFIT?

Time to get down to the brass tacks. Does RadCompression really help improve your application's performance? As you know, in the Optimization Series, we've been testing different optimization techniques and their effect on page load time. It's crude, but it gives you a relative idea of how the technique can improve your application's performance. For RadCompression, I ran eight unique tests, executing each six times to collect a reliable sample set. The tests are composed of two distinct scenarios:

  1. UpdatePanel Updates: In this scenario, there is a page with a RadGrid, bound server-side during the NeedsDataSource RadGrid event, with a RadAjaxManager on the page to "ajaxify" all Grid operations.
  2. Client-binding Updates: In this scenario, there is a page with a RadGrid that is declaratively bound to a ADO.NET Data Service (which, for the unfamiliar, is essentially a fancy WCF web service). The RadGrid fetches data via the service and initializes in the browser and uses the web service for all operations, such as paging.

For both scenarios, the data layer is a simple LinqToSql model using the AdventureWorks database. Both grids are bound to all Employees in the AdventureWorks data store, so the scenarios should be equal except for the way they handle initial data binding and binding for operations like paging. For each scenario, we'll test the following, measuring bytes sent during the request, bytes sent in the response, total requests, and page load time:

  • Initial page load
  • Paging the RadGrid with RadCompression disabled
  • Paging the RadGrid with RadCompression enabled
  • Loading and paging the RadGrid with RadCompression + the RadManagers (RadScriptManager, RadStyleSheetManager)

These tests will show us the relative impact of adding RadCompression to a site. Let's take a look at the results:

Average Bytes Received

Bytes Received

This chart reveals some interesting facts. First, we see that choosing to use UpdatePanels (and server-side binding) or client-side binding does not significantly initial page load size. In fact, it takes a few more bytes to start with client-side binding (though we see when the RadManagers are used those bytes compress better). The real benefit of the client-side binding is revealed in the RadGrid paging operations, where the bytes received are reduced by 62% (on average). When we add the RadCompression HttpModule, we see improvement in both scenarios paging scenarios. With UpdatePanels and "traditional" AJAX, bytes sent over the wire are reduced by about 68% with RadCompression enabled, and by about 86% with client-side binding. So right away we see that RadCompression has a significant impact on reducing traffic for async operations like paging in RadGrid.

Average Page Load Time

radCompress_Chart_loadTime

The load time results can be a bit confusing at first. They are not nearly as dramatic as the reduction in bytes received, so you have to look close to understand what's happening. First of all, we can see that all operations- including the initial page load- are happening in less than one second. In fact, all of the paging operations are happening in about 1/10 of one second! That means the localhost environment makes it hard to see the impact of the compressed bytes on page load time while paging a RadGrid. You can see, of course, that the RadManagers help reduce the initial page load time by about 25%, but the RadCompression module has a negligible impact on the RadGrid paging load time. The take away: for sites deployed to a local network (i.e. intranet sites), you really don't need to worry about performance optimizations at the level RadCompression provides. The latency is low enough and the bandwidth high-enough that you won't see a significant impact on page load performance. For remote sites, though, the delta between load time with and without RadCompression should be much more obvious (thanks to the time required to transfer 75% more bytes over the wire).

OPTIMIZATION TIP SUMMARY

When it comes to RadCompression, the impact it has on your site just depends on where your users are located. If you have a site that is deployed over the web, where latency and connection speeds are unpredictable, reducing the bytes you send over the wire is an easy way to improve your site's performance. And since RadCompression can literally be implemented with a single change to your config file, you really don't have much to lose. In a quick word:

RadCompression is an easy way to reduce the bytes sent over the wire for XHR operations.

Hopefully you'll enjoy this new tool in your Telerik toolbox. Whether you use them or not, Telerik is working hard to give you all of the tools you need to optimize your websites with very little work. When combined correctly for the right sites, we believe we can enable you to not only to build sites quickly, but with measurable top performance.

IE 8 release candidate now available

If you're a web developer (and I know many of you reading this blog are), now's the time to download the latest version of Internet Explorer and begin seriously testing your sites. This week Microsoft released the first IE 8 RC build, which really is the last step before the big RTW (release to web) that makes IE 7's successor official. The new build of IE8 is supposed to be more stable and better performing than the betas, and it's also (according to the IE Team) "effectively complete and done." That means what you see today should pretty much be what you see when IE 8 starts shipping to the masses, so any problems your web sites exhibit need to be fixed (or made compatible via the handy IE8 Compatibility Meta Tag).

Telerik is already busy running all test suites against IE8 RC1 and we plan to have full support for the browser when it ships. We have, of course, been testing and working with IE8 since the early previews, so you can already find broad support for IE8 in the current RadControl bits. Expect all lingering problems to be addressed in-time for the RTW.

Tuesday, January 27, 2009

OpenAccess Q3 2008 SP3 released today

For those of you already working with Telerik's cool new OpenAccess ORM tool, there is a new service pack that dropped today that you definitely want to check out. The service pack- officially dubbed Q3 2008 SP3 (or 2008.03.1327.2 by the version number)- packs tons of fixes and improvements in to both the OpenAccess run-time and design-time experience. Among my favorite improvements is the new support for the LINQ Count method, which now allows you use .Count in your LINQ queries and have it it executed on the database server for optimum performance. For a complete run-down on what's fixed, check out the official release notes. For those of you not using OpenAccess ORM, what are you waiting for? I recently built the entire Telerik TV portal using OpenAccess ORM Forward Mapping, and speaking as a developer, the experience was great. It saved me a ton of time (and code), and made it very easy to build a complex site in my spare time in a matter of days. If you're using LinqToSql today and want something that gives you that same "quick start" experience, but then also has the power to perform when you need to take more control, give OpenAccess a try. With a free version for free databases, what do you have to lose?

Free Telerik Reporting Webinar this Thursday

Mark your calendars. This Thursday, January 29th (not 30th, as I suggested in the latest Telerik Watch Minute) at 11:00 AM EST (4:00 PM in London), Telerik Evangelist Kevin Babcock will be delivering a brand new webinar on Telerik Reporting. This is a developer oriented event- not a marketing event- so there will be code, you will see lots of Visual Studio, and you will learn everything you need to know to get started with Telerik's Reporting solution. This is a 101 session, though, designed for those of you still sitting on the fence about whether or not you should adopt a reporting solution for your projects and showing you the basic benefits of using reporting tools. For those looking for something a little more "201" or "301," stay tuned- more "advanced" sessions will be hosted in the future. If you want to learn more about reporting solutions and Telerik Reporting, register for this free live event now to save your spot. I'll be commenting more very soon on future webinars from Telerik, but in the mean time, you can also save the date for next Thursday (February 5th) if you want to catch a live webinar on Telerik's WPF tools (details to follow). Enjoy the event! Register now for free, live Telerik Reporting developer webinar

Friday, January 23, 2009

Telerik Watch Minute: RadGauge for Silverlight in ASP.NET

Have you ever wanted to enhance your ASP.NET applications with a little "Silverlight richness"? In this Telerik Watch Minute, I'll show you how you can use Telerik's RadGauge for Silverlight in a ASP.NET application. In fact, I'll show you how you can wrap the Silverlight control in an ASP.NET UserControl to make it easy to manipulate the Gauge from your ASP.NET code. There are a few news items in this episode, too, including an important announcement about upcoming Telerik events. Enjoy the episode and enjoy your weekend! Watch now in native HD resolution on Telerik TV (makes it easier to read code in video)

Join Telerik at Houston TechFest, MDC Dallas this weekend

I just finished bundling two releases in one blog post, so I suppose it's not a crime to bundle two event notices, too. Right? Either way, there are a couple of opportunities coming-up where you can join the .NET community and Telerik for some good times and learning, so let me share the details.

First-up, the Houston TechFest, which happens tomorrow, Saturday, January 24th. Originally scheduled for September, the event was rescheduled due to Hurricane Ike, which you may recall hit the Houston area about four months ago. All systems are go for tomorrow, though, and there are no hurricanes on the horizon. So come on down to the University of Houston for some .NET learnin'. I'll be delivering two sessions (one on Silverlight, one on ASPNET AJAX) and staffing a Telerik "micro booth" all day.
Then on Monday, January 26th, for those of you in the Dallas area, come on out to the Dallas MSDN Developer Conference (a.k.a. MDC Dallas). I'll be making the trek back to Dallas to repeat the talk I did at MDC Houston on Silverlight business apps, and many other great speakers from the .NET community will be delivering PDC-based talks, too. The event is just $99, so register this weekend and come out to the Dallas Galleria Westin on Monday.
It'll be a busy weekend, and hopefully I'll see a few of you around these events. If you're there, be sure to stop by my sessions or booth and say 'hi.' For everyone else, watch for some follow-ups next week.

Sitefinity 3.6 Beta, WinForms SP2 released

I don't usually "bundle" news items in to a single post, but since it's Friday and I have a couple of releases to announce, I'll make an exception.

First, early this week Telerik released the second service pack for the Q3 2008 RadControls for WinForms. This SP addresses a number of issues across the entire suite, but you can find some highlights in WinForms Evangelist John Kellar's blog post. If you're using the RadGridView for WinForms, this release does a lot to improve the memory management and resource footprint of that control, so it's probably worth your time to download the latest bits. Full release notes, of course, are available online.
Second, today Telerik released the Sitefinity 3.6 Beta. Sitefinity 3.6 is the next "major" release of Silverlight and it's packing a lot of new and improved functionality. The Sitefinity Team and Sitefinity Evangelist Gabe Sumner have both blogged about the new features, so I encourage you to follow those blogs if you're a Sitefinity developer. For those not willing to follow the links, here are some of my favorite improvements in SF 3.6:
  • All built-in templates are now Embedded Resources (making it much simpler to customize SF control templates and -significantly- reducing the SF file count)
  • New, simplified custom module architecture (backwards compatible)
  • Latest versions of both RadControls for ASP.NET AJAX and Silverlight
  • Support for hierarchal categories (great when tagging related content)
  • "Unbreakable" dynamic links
Even though this release is only a "minor" version tick, it's got enough improvements to warrant major version status. Sitefinity continues to be one of the easiest "CMS" (or, from the developer perspective, "development platforms") for ASP.NET developers to learn and extend since it does not "break" (or modify) ASP.NET the way many other CMS systems do. If you haven't checked it out yet, grab a free copy of the community edition (which you can use for commercial projects) and have fun!

Wednesday, January 21, 2009

We Are Microsoft Charity Wrap-up

I just got back from the We Are Microsoft Charity Challenge Weekend- or WAM Weekend for short- and I'm happy to report it was a huge success! There were almost 20 teams of developers building sites for charities in the Dallas area, and it was great to see everyone work so hard over the weekend to produce some incredible sites. Many of the teams used Telerik's Sitefinity CMS to give their charities even more functionality and to save a ton of development time, and based on the training Gabe Sumner and I did on Saturday, the charities are very impressed! One team also used the Telerik RadControls for Silverlight to add rich gauges to their charity's site. Along the way, Gabe and I sat down with the event's "video bloggers" to talk a bit about the weekend and Telerik's involvement. You can check out the embeded video above or watch the original directly on Facebook. All-in-all, it was a great event for the .NET community that will have a huge impact on the charities that were involved. Hopefully this type of event will spread throughout the .NET community in 2009, giving you the opportunity to use your developer "skills" for a good cause, too.

P.S. As soon as I have a full list of the sites built with Sitefinity, I'll post an update on Telerik Watch so you can see the end results of the weekend's work.

Sunday, January 18, 2009

Telerik Watch Minute: Connecting Reporting to OpenAccess ORM

Telerik has two great products that- when combined- can enable very cool, object-driven reporting. Those products are, of course, Telerik Reporting and Telerik OpenAccess ORM. While the integration between these products is not nearly as "tight" as it's going to be in the future, you can already use these two products together with today's bits and a (very) little bit of code. In this TWM, I show you how to build a simple report that binds directly to an OpenAccess ORM DAL that's been reverse engineered from the AdventureWorks database. This episode is a little longer than nomral (about 12 minutes), but it shows you everything you need to know to get started using these two products together. Enjoy!

Watch "full" HD version on Telerik TV (makes it easier to read code samples)

Saturday, January 17, 2009

Telerik MVC demo app now available

Hopefully you know by now that Telerik's RadControls for ASP.NET AJAX fully support ASP.NET MVC. That's right. You can use the same RadControls that you know and love today in Microsoft's latest incantation of the ASP.NET framework. But since this is such a new feature, and since we know many of you are still trying to wrap your mind around MVC, we've built a full ASP.NET MVC demo application that uses many of the RadControls so you can see how this is all supposed to work. The demo is a simple- and stylish - forums application. It uses 9 of the RadControls, including RadGrid, RadEditor, RadChart, RadTreeView and RadUpload, to build a forum site that has basic thread/post navigation, formatted forum posting, user authentication (with support for custom avatars), and a site activity "Statistics" view. Everything you need to have a fully functional MVC forums app. The source is available for immediate download, so I encourage anyone interested in learning more about MVC or the RadControls in MVC to grab the bites and study the example. Hopefully this will help those of your adopting MVC find ways to use the RadControls in new and creative ways. We'll continue to expand our documentation and support for MVC as adoption continues, so let us know what you think! We want to know your thoughts on MVC and our current support for it. Is MVC starting to "woo" you away from WebForms? View the Telerik MVC Forums demo now

Thursday, January 15, 2009

Join Telerik at WAM Charity Weekend

One of the great things about being at Telerik- and the part of .NET community in general- is the pervasive sprit of charity and the desire to give back to the community at large. As programmers, we may not be able to donate our time to build a house, but we sure are good at building software. The We Are Microsoft (or WAM) Charity Challenge Weekend picks-up on that idea and hosts a 3-day "challenge" where .NET developers join teams to build websites for charities in the Dallas, Texas area. Telerik was a proud sponsor of this event in its inaugural year, and we are again sponsoring this charity event in 2009.

But beyond sponsorship, Telerik is also making the Sitefinity CMS platform freely available to volunteer developers to help jumpstart their charity web sites. The ability for these developers to pick-up, learn, and extend Sitefinity during the 72 hour competition is a true testament to Sitefinity's "natural" fit with an ASP.NET developer's skills. To help developers maximize the platform this year, Sitefinity Evangelist Gabe Sumner and I will be traveling to Dallas to help train both the volunteer developers using Sitefinity and the end users from the charities that will be inheriting the site at the end of the competition.
If you're in the Dallas area this weekend, stop by and see the charitable side of the .NET community. In fact, if you hurry, I'm sure you can still volunteer to help out. Either way, Telerik is proud to sponsor this event and we look forward to seeing charities benefit from what the volunteer developers can do with Sitefinity!

Wednesday, January 14, 2009

RadControls for ASP.NET AJAX SP2 now available

Today Telerik released the second service pack for the Q3 2008 RadControls for ASP.NET AJAX. It's been about a month and a half since SP1, and in that time a lot of great fixes and improvements have been added to the controls. The release notes, as always, have the full run down of what's changed in this release, but here are some especially cool highlights:

  • New! Telerik HTTP Compression Module that works with AJAX and web services
  • New! Code-less support for client-side binding directly to ADO.NET Data Services in RadGrid
  • Top and Bottom pagers now supported with client-side data binding in RadGrid
  • New! Web service validation in RadInputManager (and new Required Validation property for all input controls)
  • New client-side events in many controls, including RadToolTip, RadTreeView, RadGrid, RadWindow, and RadCombobox
  • Tons of fixes for all controls (11+ RadCombobox, 30+ RadEditor, 25+ RadGrid, 15+ RadScheduler)
All service packs are helpful, but this one really has a lot of great enhancements (in addition to the requisite fixes) that should make it worth your time to download and check-out. I'm particularly excited about the enhancements in RadInputManager and the new HTTP compression module. With the new web service validation support and required field property, RadInputManager is quickly becoming the fastest and most efficient way to add form input validation to your ASP.NET project. Check out my post on the Telerik Blogs for a deeper look at how easy form validation is with RadInputManager.
The compression module is also a cool new tool in the RadControls suite that will give you even more power to optimize your AJAX web applications. You can find a first look at this tool on Vladimir Enchev's blog, but I'll be sure to bring you an in-depth look at it's capabilities and performance impacts soon. Until then, enjoy SP2 and stay tuned for more details on Q1 (which is rapidly approaching).
(Quick Note: The RadControls for WinForms service pack is coming early next week, too.)

Friday, January 09, 2009

Telerik Watch Minute: Silverlight RadGridView Beta

The first Telerik Watch Minute of the new year kicks-off with a quick look at the new RadGridView for Silverlight beta that shipped in mid-December. You'll see how you can quickly get started with the RadGridView in a Silverlight project, and you'll get a close look at one of the GridView's more "advanced" features: grouping. I also show you the RadGridView beta and the standard Silverlight DataGrid side-by-side, so you can quickly see how the beta stacks-up to the OfTB (out-of-the-box) grid control. Clearly, what you're seeing today is just a beta, so the final version that ships towards the end of February is going to have many more features (and themes), but I think it's a good early look at what you can expect in about 8 weeks time. Also, a production note: since the new Telerik TV portal is now live, you can now watch this video in its full "native" size (and thus at the best quality possible) by visiting the video on tv.telerik.com. In fact, Telerik Watch Minute has a full "channel" on the new Telerik TV portal, so feel free to catch any old episodes while you're there. Hopefully this will make your Telerik Watch Minute fix even better! Watch this episode of Telerik Watch Minute in HD on Telerik TV

Download Windows 7 public beta today

Did you miss the news? In yesterday's Microsoft CES keynote, Steve Ballmer announced that the first Windows 7 beta will be made publicly available today, January 9th. All you have to do to get your hands on the beta bits is visit Microsoft's Windows 7 website. Now, if you had any doubt that we wouldn't be seeing Windows 7 sooner rather than later in 2009, this should definitely put you on notice. Hopefully Microsoft will do a better job (which all likelihood, they will) than they did with Vista in getting the RTM out the door after Beta 1. As you may recall, it took nearly 18 months for Vista to go from Beta 1 to RTM. Assuming they don't repeat that timeline, we all need to prepare for a Windows 7 world sometime this year. And, if first impressions count, that's not a bad thing. I've had some time to see Windows 7 in action- both at PDC and recently when my brother (who works at Microsoft in Redmond) showed it running on his laptop- and I've got to admit it looks good. It's not "revolutionary," but it's a solid, practical step in the right direction for Windows- similar to the steps Apple has been making for years with OS X. And if the touted improvements in startup, shutdown, and standby time are true, this is definitely an upgrade worth evaluating early. Telerik, clearly, will be working with the Windows 7 betas to ensure all our UI components work with the new OS, and we'll post the news of our tests as the beta period progresses. You can be sure that when the new OS is ready to meet the world, Telerik's components will be ready, too, so you can deliver world class applications. Grab the Windows 7 beta bits now (or as soon as MS enables the download link)

Thursday, January 08, 2009

RadControls for ASP.NET AJAX Learning Guide now availabe in print

One of the new support resources we launched with our Q3 release in November was the brand new RadControls for ASP.NET AJAX Step By Step Learning Guide. The Learning Guide, written by the RadControl and training experts at Falafel, fills almost 800 pages (!) with everything you need to know to be a productive Telerik developer. In fact, there is so much content that we had to split the book in to two parts: the Step by Step Learning Guide (about 600 pages) and the companion ActiveSkill Guide (about 190 pages). The ActiveSkill Guide shows you how to take the knowledge you've gained in the Learning Guide and apply it to build a complete real world application with the RadControls.

Both books are available now for on-demand printing on Lulu.com, but the PDF (as always) is freely available on Telerik.com (along with source code). We make the books available for print for those of you that don't want to burn 800 pages worth of toner. That said, to keep costs down, the Lulu books are in black and white, so if you want hard copies in glorious color, you'll need to print your pages (or tell us you want a full-color Lulu version, and we'll get that set up, too- it'll just cost you about $120).
And while you're browsing the new books on Lulu, don't forget that we also have a Telerik Reporting Learning Guide and Step By Step Guide for the old non-ASP.NET AJAX controls, too. Enjoy the reading!

Wednesday, January 07, 2009

Latest internal RadControl builds now available on Telerik.com

Here's a new feature on Telerik.com that you may find pretty useful. Over the holiday break, Telerik launched a new tool on Telerik.com that enables you to download the latest "internal" RadControl builds anytime you need them. "Why would I need an "internal" build?" you ask. Let me explain. Every day, Telerik receives lots of good feedback from you, our customers. Sometimes you report an important issue that needs to be addressed urgently, and our incredible support guys (up 'til now) usually supply you with a custom "hotfix" build that fixes the problem. Then, during the next service pack release, we roll-up all of these hotfixes (along with some other improvements) and ship an "official release." The problem with this approach, though, is that you may have a problem that somebody else has already reported and had fixed in a hotfix build. Wouldn't it be great if there was a place you could download "out of band" hotfix builds of the RadControls that contain all the hotfixes that have been applied since the last "official" release and instantly fix your problem? Now you can. The "Latest Internal Builds" tool puts the latest internal build of the RadControls at your finger tips any time you need to fix a problem in-between official releases. There are a few important notes about this tool to keep in mind, though:

  • These are out of band builds, which means they don't go through the full Telerik QA process. They are plenty stable to use for your active development, but they are not recommended for production environments (unless you're willing to accept the risk of using a build that's not fully QA'd).
  • These are not "beta" builds. These are regular continuous integration builds from our internal "FIXES" code branch. That means they only contain hotfixes for features in the last official release. They do not contain new features, and they are not a vehicle for previewing our work for future Qs.
  • These builds will not be updated daily, but they will be updated regularly. Only the latest build will be available online, so when you visit this tool and to download bits, you're always getting the most up-to-date, patched version of the RadControls that exists.
  • Only the RadControls for ASP.NET AJAX are available through this tool now, but all RadControls and Telerik developer component wills be available here very soon. I'll update you when the other component suites are added.
We never like to see bugs in our official releases, but we recognize in a complex software world, sometimes bugs are discovered. Hopefully this tool will make the process of recovering from those errors as painless as possible and put you back on the road to developing great software with the RadControls!

Tuesday, January 06, 2009

New TelerikTV video portal live!

I'm very excited to bring you this news. After much hard work and planning, we have finally launched the brand new Telerik video portal, dubbed Telerik TV. The new Telerik TV portal has been designed to bring you the best video experience possible on the web, and it's been built from the ground-up using the RadControls for ASP.NET AJAX and Telerik OpenAccess ORM. Among the most important features of the new video portal:

  • Big, easy-to-view videos
  • Ajax-enabled video commenting
  • Super flexible RSS support (make any search an RSS feed)
  • Easy video browsing by product type
  • Descriptive video URLs that are easy to bookmark and share
  • Video "channels" for shows like Telerik Watch Minute and RadTips
We think you're really going to enjoy this new system for viewing videos at Telerik. Our goal is to make this your "one stop shop" for all video from Telerik so that it is very easy to discover video support resources. The site also stands to demonstrate the power and productivity of the RadControls and OpenAccess products- I coded the entire site from scratch in less than 3 weeks (that's part-time development, it probably could be done in a week with full-time development). This is another prime "real world example" of how the tools from Telerik help you achieve outstanding results in very little time. We're far from done, too. Many of our older videos need to be updated to look "great" at the native "big video" size for the site (and we're actively working on that). We have plans to further improve the UX of the site. And, of course, we have tons of new video content in the pipes that will be regularly added to the site. We want your feedback, too! Let us know how we can improve the site and we'll work hard to make this the best video portal around. For now, though, enjoy the new site and have fun exploring the video content at Telerik! Visit the new Telerik TV now

Monday, January 05, 2009

New Microsoft MVP at Telerik

It is with great pleasure that I announce that I have been awarded the Microsoft MVP Award for 2009! I don't particularly care to "toot" my own horn, but I would like to thank everyone that helped me achieve this goal. The Microsoft MVP program is probably among the most respected "community MVP" programs in the software world, and I am honored to join the ranks. For those unaware, the Microsoft MVP Award is granted annually and it serves to recognize those people that go above and beyond serving the Microsoft community. It doesn't necessarily recognize the most talented developers in the world (though many great developers are often MVPs)- it is devoted to recognizing technical leadership and community involvement. I've been technically awarded as a "C# MVP," but that doesn't mean I can't relate you VBers out there. Last year's survey (run on this blog) should be proof enough of that. What is does mean is that I will continue working hard to serve the .NET community and make it as easy as possible for people to use .NET to write software. In any event, it's a great way to kick-off 2009 and it's further proof that Telerik is dedicated to being a leader in the .NET community. Happy New Year to everyone and here's to a great 2009!

Saturday, December 20, 2008

Telerik Watch Minute: RadDocking for Silverlight

Just in time for the holidays, I've got a brand new Telerik Watch Minute for your viewing pleasure. In this episode, I spend about 5 minutes introducing you to the new RadDocking for Silverlight CTP. RadDocking is the just introduced layout control from Telerik (available now on Telerik.com) that enables you to build very interactive "pane-based" UIs without writing any "code" (just some XAML markup). I'll show you how to go from a brand new Silverlight application to running an app with the RadDocking for Silverlight control in this video, so it's a great primer for anyone getting ready to start Silverlight development with the RadControls. Enjoy the video and happy holidays!

Friday, December 19, 2008

ASP.NET MVC RC1 coming in January

So by now, you've probably heard of this thing called "ASP.NET MVC." A little more than a year ago I first mentioned it on this blog, and then about 6 months ago I introduced you to MVC Preview 3. Now we have official word from "The Gu" himself that the MVC release candidate will be shipping in 3 - 6 weeks time. When it does ship, we should be seeing bits that are feature complete with no known bugs, and pending a short "reality check" period, the final bits should be shipping shortly there after. There are a number of new (significant) things coming in the RC that weren't available in the Beta. Scott has (of course) detailed them in more detail than anyone else can, so for the "skimmers" out there, here's the Reader's Digest version:

  • Views (i.e. ASPX files) will now be created by default with no code behind file. This is designed to reinforce the MVC separation of concerns and reduce "file clutter."
  • You'll be able to access your strongly-typed model in Views via a new "Model" property (as in, Model.CustomerId) in addition to the old ViewData property (ViewData.Model.CustomerId).
  • HtmlHelper and AjaxHelper methods can now be "model aware," enabling powerful strongly-type, IntelliSense-assisted Helper syntax. The OTB (out of the box) helpers will NOT use this functionality in V1, though.
  • One of the coolest new features: MVC in Visual Studio will now support "auto scaffolding." In short, you'll be able to use wizards to automatically generate Views designed to view, edit, list, and create data. The wizards will interrogate your model and automatically add the necessary inputs and validation to your Views, too! Pretty cool time saver.
There's more, and if you're interested you should definitely read Scott's post. In case you missed it, Telerik is already supporting ASP.NET MVC (as of Q3), and you can be sure that we'll make sure our controls continue to work with the ASP.NET MVC RC. It's been a long time in the making, and it's definitely not a tech that is for everybody, but for the fans, it'll be here soon! In the mean time, what do you think of MVC now that it's (almost) fully baked? Is it enough to make you leave WebForms?

New SPs available for Telerik Silverlight and WPF controls

Listen-up all you XAML developers. There are two new service packs available from Telerik this week that are just for you. First, the RadControls for Silverlight suite has received its second service pack (making this Q3 2008 SP2, for the record) and a special "futures" build with some previews of controls coming in Q1 2009. The service pack is your "standard" bug-fix SP with the addition of some improvements to the Silverlight "Vista" theme and a brand new "Office Black" theme. The "futures" build includes two controls: RadDocking for Silverlight CTP and RadGridView for Silverlight Beta. When installing the latest bits, you should use the SP2 installer OR the Futures installer. You cannot install both. The SP2 release is just a subset of the Futures release (sans the new controls), so for most, installing the "Futures" build probably makes the most sense. For WPF, this week brings the Q3 2008 Service Pack 1. The WPF SP has got a little more happening than the Silverlight SP2, and the bulk of the fixes can be found in the RadScheduler for WPF. There you'll find improvements in the drag/drop experience, the templating support, and even a new demo showing you how to use XML data with the Scheduler. Other controls getting some attention in this SP are the RadGridView, RadCarousel, and RadChart for WPF. All controls, like Silverlight, also received the new Office Black theme, so now that theme can be used with any Silverlight or WPF RadControl. There's tons to talk about with these releases- especially with the new Silverlight Docking and GridView controls- so stay tuned for more detailed posts focusing on those controls. Until then, check out the release notes and download the SP bits today!

Friday, December 12, 2008

In Case You Missed It: Part VII

Has it really been since August that I last brought you an ICYMI update? If you haven't been following the Telerik Blogs in the mean time, you've missed a lot. The Telerik Blogs are really active now with many of the guys and gals on the RadControl product teams regularly posting very helpful and insightful technical blog posts. In fact, the blogs are so active nowadays that it can be difficult to keep-up with all of the information flowing across the lines! Fortunately, we've got a new blog layout coming soon and some new features that should make it easier to track the content relevant to your job. Until that goes live, here are some great posts from just the last few months that you should check out:

And that's just the tip of the iceburg...or tip of the great mountain of content as it may be on the Telerik Blogs. Remember that I post most of my technical posts on the Telerik Blogs (and not here), so be sure to add the Telerik Blogs to your feed readers and enjoy some great content during your daily blog reading!

Google Chrome is official, Today not April 1st

Some things just baffle the mind. Like how Google's brand new Chrome web browser can already be graduating from "beta" status to "official" version 1 status when Gmail has not managed to achieve the same feat during its 4 YEAR "beta" period. But Gmail still being in beta is not news; Chrome earning it's wings, is. Today Google announced- and released- the first "official" version of Chrome, boasting in a blog post from Sundar Pichai (VP Product Management) that in the last 100 days Chrome has garnered some 10 million active users from all 7 continents. Today's move underscores how aggresively Google is moving in the browser space, and anyone doubting Google's desire to become a big player in the browser world should take note.

I, for one, have been a Chrome fan since day one. The browser is far, far from perfect, but it's getting a lot of things right. Most importantly, it's "cold start" time is unbeatable. It is a reminder of how slow Firefox and IE take to get going and it raises the bar for how a modern Internet browser should perform.
Telerik began unofficially supporting Chrome during its early beta phase, and Telerik was one of the first vendors to provide full Chrome support for its ASP.NET AJAX controls. Now that the browser is official, Telerik will continue to improve its support for Chrome. In fact, Chrome is already an "officially" supported browser, so if you have users or customers actively using Chrome, you're covered if you're using the RadControls for ASP.NET AJAX. And a quick search will verify that Telerik is currently the only major UI vendor for .NET that is offering support for Chrome!

Thursday, December 11, 2008

FREE products from Telerik (as in FREE, not trials)

If there is one word that everyone seems to love, it is probably Telerik. If there are two, the second would be FREE. I'm happy to announce that today Telerik is bringing those two words together and making some of its products 100% FREE! Some of these products have been free for a while, but we've done a poor job of making sure you know where to get them. Some products, like the RadFormDecorator for ASP.NET AJAX, we're making free for the first time today. So, here's the free stuff:

  • Telerik OpenAccess ORM Express - This is a 100% free version of Telerik's new OpenAccess ORM product. This is not a trial. The only limit of OA Express is that it only works with free databases (like MS SqlServer Express, Oracle Express, MySql, and Firebird). Other than that, all features are enabled and 100% free to use in any of your projects.
  • Sitefinity Community Edition - This is a 100% free version of Telerik's full-featured CMS/web development platform. This is also not a trial and it is not just for personal/non-commercial sites. You can use Sitefinity CE for any web project! And the only things you lose with CE (vs. Standard Edition) are version control, workflow, multi-lingual site support, and permissions management (plus a "Powered By Sitefinity" logo is rendered on your site).
  • RadEditor Lite for MOSS- Through a partnership with Microsoft, Telerik offers a 100% free "lite" version of the RadEditor for ASP.NET for anyone to use with SharePoint. If you are doing SharePoint development and you want a more full-featured editor that actually works cross-browser, what are you waiting for? Download RadEditor Lite for free today!
  • RadFormDecorator for ASP.NET AJAX- Just released today, the RadFormDecorator from the RadControls for ASP.NET AJAX is now 100% free. If you're not using the RadControls and you want a fast, free way to style all of your form elements, you can now use Telerik's RadFormDecorator. Plus, we're including 14 skins with the free control and free trials of all the other RadControls for ASP.NET AJAX!
You can learn more about each of these free products (and any products we make free in the future) by visiting our new "Free Products" page. There you'll also find direct links to download these bits that you can start using them right away. Now, of course, the free products do not come with dedicated support from Telerik, but you do have access to all of Telerik's help resources, like the (very) active forums, the product documentation, and the online demos. We hope you enjoy the early holiday gifts! Share the news with your friends and stay tuned for even more free stuff in 2009.

Tuesday, December 09, 2008

MSDN DevCon Houston Wrap-up (update)

So, I didn't have time to post one of my friendly "Join Me at xxxx" posts before today's MDC Houston event, but hopefully my reminder last month was enough for those of you that wanted to attend. As I type, MDC Houston is rapidly coming to a close, and all-in-all, I think it was a good start for Microsoft's fledgling community event. I don't have "official" numbers, but I think there were somewhere between 300 and 400 people in attendance for today's "mini-PDC." I'll post some pictures when I get to a stronger Internet connection. Check out pictures on Flickr.

My session, "Building Business Applications with Silverlight," went very well (I think...people in attendance can correct me if I'm lying). The session I did was originally presented by Jamie Cool, a Microsoft PM, at PDC. It was definitely a tough act to follow, but fortunately the Silverlight "futures" bits (code named "Alexandria") are fun to show-off and are really very impressive. I hope to have download links for both the demos and slides on my blog very soon (just as soon as I can get clearance from MS). Stay tuned.
Thanks again to everyone that stopped by the Telerik "micro booth" today and for those of you that attended my session. I hope you were able to learn something about Telerik, Silverlight, or both. And with this event in the rear view mirror, that about ends the Fall Speaking Tour. Enjoy your time with family this holiday season and stay tuned for our Winter and Spring events schedule soon!

Friday, December 05, 2008

Real Lessons from Real End Users

As many of you know, before joining Telerik, I was a customer (and a MVP). I met Telerik while developing a hosted web application (or SaaS, if you will) for managing career fairs, and I picked Telerik's tools for my UI development since they were (and still are) the easiest to use on the market. When I joined Telerik, the application lived on, and from time to time I like to visit with my customers and participate in end user training sessions. I did just that this evening with one of our bigger customers, and to my surprise I was reminded of two very important "end user rules"- two rules I think we as developers all forget too often:

  1. Rule 1: Training and Re-Training is critical- Whenever you develop an application that has "features," innevatibly some of them get overlooked or forgotten. While talking with "real end users" tonight, I asked them to describe some of the problems they've faced running career fairs in the last 6 months. At least half of the problems they described were already addressed by features in the software system that were either A) overlooked, or B) misunderstood. Now, I understand that some features get burried and I could have guessed some of the features they'd miss. But some of the features seemed obvious to me. "You mean you didn't notice the big button that says "Solve My Problem" when you logged-in?" I thought. As developers, we tend to overlook the "obvious," especially in systems we build ourselves. It doesn't come natrually to us that users might not be aware a feature exists, especially if we think the feature is very cool. Simple "reality checks" with your "real end users" (or REUs going forward) can save you support time and the users lots of manual work (because they will finish their task, they just won't use your "helpful" feature).
  2. Rule 2: Just because you don't get complaints, doesn't mean it's not broken - Later in the training tonight, while still asking users to list their problems from the past 6 months, one user said, "Oh yeah, and I get these error messages all of the time." What? We had never received any angry emails from this user. "You have?" I asked. "Yes," she replied, "I just figured I was doing something wrong." In the developer community, I think it's really easy to forget this fact about REUs. If they hit an error in your application, they are very likely to think it's their fault and not report the problem (often out of fear of sounding dumb). As developers, this concept is foreign since we are accustomed to firing-off bug report emails whenever we hit any problems (real or percieved) in the applications we use. REUs are different. This rule highlights the importance of having good, uncluttered error reports that you review proactively for problems and the value of occassionaly asking your users what problems they're having. Not only will that improve your customer service reputation, it will help you fix problems before they start costing you business.
And while these rules are derrived from application development, I think they are also true for the RadControls (though Rule 2 probably doesn't apply as strongly to you helpful developers). Since our product teams see the controls everyday, and since I've worked with them for so long, things to us often seem "obvious." Of course RadGrid can bind to web services! Of course you can use the RadEditor image editing classes outside of the Editor! Of course RadCombobox works when JavaScript is disabled! Obvious to me. New to you? As we approach 2009, I want to make sure everyone knows about all of the features in the RadControls that are designed to make your developer life as easy as 1-2-3. Unfortunately, I can't gather you all in a room and get your feedback, but I'd love to hear it! What have you had trouble doing with the RadControls in the last 6 months? Send an email to todd.anglin@[the company I work for].com and help me make the misunderstood or overlooked features of the RadControls obvious! Maybe I'll post a follow-up, "Real Lessons from Real Developers"...

Thursday, December 04, 2008

Telerik Watch Minute: Back from Vegas with News

Wow! It has been a long time since I've managed to just bring you some news announcements from Telerik. Hopefully you've enjoyed the updates from the last couple months on the road- from DevReach in Bulgaria, PDC in LA, and most recently DevConnections in Las Vegas. To help close-out the Fall Travel, I've compiled a short video montage of some time in Vegas to open this Telerik Watch Minute. For more "helpful" Vegas video, don't miss the interviews I did with Miroslav from the Telerik Silverlight Team and Lini from the Telerik ASP.NET Team. Also in this video, I cover a few highilghts from the last month, inlcuding Telerik's big Q3 2008 release, the introduction of a new Learning Guide, and the availability of our RadGridView for Silverlight CTP (and soon to be beta). Enjoy!