As promised, the second episode of Telerik TV is now live! In episode two, Carl Franklin sits down with Shane Redlick from Consilium Solutions Corporation to take a look at a web-based sales team management application called (quite simply) Simple Sales Tracking. The site was built using Telerik's RadControls extensively- everything from RadChart to RadEditor- and it's another great example of how Telerik's controls are being used in the real world. Once you're done watching this episode of Telerik TV, you can even take the Simple Sales Tracking app for a test drive yourself via the freely available online demo.
On a production side note, the Silverlight Media Player currently hosting the online episodes is not (yet) compatible with Silverlight 2 beta 2. If you have that version of the plug-in installed, you'll need to download the WMV for now. We're working on updating the site with the latest version of the player, so soon the order of the universe will be restored.
Enjoy the new episode and look for another soon. Also, don't forget that your app could be featured on Telerik TV. If you're interested, click the "Submit My App" button on the Telerik TV website.
Friday, June 13, 2008
Telerik TV Episode 2 live, Shane Redlick guest
Posted by
Todd Anglin
at
6/13/2008 01:00:00 PM
0
comments
Labels: RadControls , Telerik TV , Webcast
New! Related Content
Wednesday, May 28, 2008
Optimization Tips: Using HTTP Compression
I know it has been a few weeks since the last installment in this series, and with TechEd on the horizon it'll probably be a couple 'til the next, but as long as there is some time in between let's explore another area of performance optimization with the RadControls for ASP.NET AJAX. This week, we're going to take a look at HTTP compression and how this simple technique can deliver a valuable performance boost to your website.
What is HTTP compression?
Since the turn of the century, almost all browsers have supported compressed content via the "content-encoding" (or "transfer-encoding") specs defined in HTML 1.1. When a browser requests a page from a server, it always tells the server if and what kind of content encoding it can handle. This information is communicated in the "accept-encoding" request header. If the server is configured correctly, it can respond to this header value and automatically compress (think Zip) the HTTP content before sending it to the browser. When the content arrives, the browser decompresses the content and renders the page.
The overall goal of HTTP compression is to reduce the number of bytes that must be transmitted over the tubes between your server and the user's machine. Since transmission time is often the slowest bottleneck in loading a page, and since bandwidth directly relates to your costs as a site operator, reducing the bytes you transmit to the user can save you money and improve your site's performance.
How do I use it with ASP.NET?
There are a number of ways to use HTTP compression with ASP.NET. If you have full access to your server, IIS 6 provides some basic compression support. Compression of static content is turned-on by default in IIS 6, but you'll need to take extra steps to enable compression of dynamic content. If you're already in a Windows Server 2008 environment, IIS 7 provides great HTTP compression support, enabling you to define which files get compressed based on their MIME type in your configuration files. Still, to use IIS' compression support, you need to have complete access to your server (specifically IIS), and to get great support in IIS you need to be running Windows Server 2008. (NOTE: For a good overview of compression features in IIS 7, see this blog post on the IIS blogs.)
Fortunately, there are alternatives for developers that want to deploy HTTP compression support with their applications (or for those devs that don't have access to IIS, such as in shared hosting environments). Several open source projects and commercial products exist on the interwebs that provide HttpModules to compress your content based on configuration rules. Once such commercial tool that I've used successfully in the past is ASPAccelerator.NET. By simply adding a HttpModule reference to my web.config and deploying a single assembly in my bin folder, I can instantly begin compressing my HTTP content (served by IIS6 or 7) based on an intelligent set of rules.
For today's tests, that is the approach that will be used to compress our test site. And since we're interested in seeing how HTTP compression helps "real world" site performance, we're going to be doing our testing a little differently this week than we have in the past.
Help Desk demo testing with Gomez
Have you heard of Gomez? If you work for a large, Fortune 500 company chances are you are using their services to actively monitor and measure your company's web performance. Gomez is one of the largest providers of website performance measurement and tracking, and as such, they have some of the best tools available for measuring a site's performance.
What you may not know is that Gomez provides a free "instant site test" that you can use to take one-off measurements of your site's performance as seen by one of Gomez's 12,000 test computers. The free service allows you to supply a URL and select a test city (L.A., New York, Chicago, Beijing, or London), and then Gomez generates a detailed report showing you how responsive your site is. This is a great (free) way to see the real world effects of latency and bandwidth on your site, which makes it a perfect way to measure the effects of HTTP compression on our test site.
And to conduct today's tests, we'll be setting-down our fun InterWebs demo in favor of using the slightly bulkier Telerik Help Desk demo. This demo displays a fair amount of data pulled from a SQL Server 2005 database, and it uses many RadControls, such as RadGrid, RadTreeView, RadMenu, RadCombobox, RadSplitter, RadAjax, and RadCalendar. RadWindow and RadEditor are their, too, but they won't have an impact on today's tests of the primary Help Desk landing page.
How will the tests be run?
To conduct today's tests, we'll start applying the techniques we covered in parts 1 and 2 of this series to the Help Desk demo, collecting 5 Gomez test results from their Chicago test server (the demo today will be hosted on a DiscountASP server in California). All tests will be run as if on empty browser cache (thanks to Gomez) and the average of the 5 tests will be reported. Once we've layered-on our previous performance improving techniques, we'll enable HTTP compression with ASPAccelerator and see what kind performance benefit it provides.
Make sense? Then let's run our tests and analyze the results.
The test results
With the tests run and the averages collected, let's take a look at the effect our different performance improving techniques had on our live test site:While the absolute numbers here aren't great, they're also not important. This is a completely unoptimized application running on shared hosting with very little server resources, communicating from California to Chicago. What are important are the trends, and the they reveal some very interesting facts:
- If you didn't believe the impact of leaving complication debug = true from part two of this series, believe it now. Simply setting debug to false reduced the time it took for our page to load by almost 30% (7 seconds)! ALWAYS set debug to false in production.
- The same advice is true for the RadManagers (RadStyleSheetManager and RadScriptManager). By simply adding these to my page (and doing nothing else), I further reduce page load time by over 50%. Combined with the first step, 60 seconds of work has shaved almost 70% of the loading time off of my page.
- Finally, adding the HTTP compression shaves another 30% off my page load time, producing a page that takes almost 80% less time to load than the original version! And I haven't changed any code.
Just as important as page load time in today's tests is measuring how much HTTP compression saves me on total bandwidth. If there is anything in this largely free marketplace we call the Internet that increases our costs as our sites become more popular it's bandwidth (and the servers required to fill it, of course). So if HTTP compression- in combination with our other performance improving techniques- can reduce the bandwidth we consume to send the same pages to our users, we'll directly impact our bottom line. Let's see how bandwidth varied over each stage of our test:

- With no "treatments" applied, we sent over 1 MB of data to our user's browser on the first visit! That's a lot of data.
- Setting debug to false reduced our bandwidth usage by about 15%, and adding the RadManagers only slightly lowered bytes sent from there.
- When we added the HTTP compression, though, we reduced the number of bytes sent over the wire by over 75%! That's a huge bandwidth savings that should directly translate into higher throughput on on our servers and improved page response times.
Gotchas
As with all performance tips, you do have to be smart in your application. While HTTP compression is generally a very efficient operation that doesn't significantly task the CPU, you should be careful on high volume sites. The extra CPU cycles required to perform the compression could make site performance worse than it would with compressed traffic. In most low- to medium-volume scenarios, though, you can compress without concern. In the coming weeks, I'll highlight a hardware solution that can solve the woes of compression on high-volume sites (in addition to providing a number of other helpful performance boosters). If you want to explore the tool on your own in the mean time, visit the Strangeloop AppScaler website.
You also need to be careful with HTTP compression and Ajax. Some HTTP compression tools do not play nice with Ajax requests, breaking callback functionality on the page. ASPAccellerator provides support for the ASP.NET AJAX framework, but not all tools may be as helpful. Choose wisely.
Optimization Tip Summary
What have you learned today? Quite simply this:
Hopefully these tests help you understand and visualize the benefit HTTP compression can play in squeezing every bit of performance out of your site. In the coming weeks, I'll try to do some comparison tests of different HTTP compression methods- IIS 6/7, port80, ASPAccelerator, open source- to give you more guidance if you're trying choose a compression provider. Until then, compress away and do your part to help reduce the bits clogging the Internet's tubes!
Posted by
Todd Anglin
at
5/28/2008 08:54:00 PM
10
comments
Labels: ASP.NET AJAX , Gomez , HTTP Compression , Optimization Tips , RadControls
New! Related Content
Thursday, February 07, 2008
Skinnable Form Controls available from Telerik
Have you ever built a web application with all of Telerik's beautifully skinned controls only to cringe at that basic button in your application? Or, have you built an application with a distinctly Vista look-and-feel only to have it destroyed by your basic form element styling on Windows XP and OS X? Today is your lucky day because today (well, yesterday) Telerik introduced skinnable form controls. Now you can extend that beautiful site skin to all of your page's elements - including buttons, checkboxes, and radiobuttons.
The skinnable form controls are available as a Code Library project on Telerik's website, so you can download the bits today. At this stage, the controls are very basic. They have a few built-in skins- Mac, Vista, XP, Classic- and no built-in support for external skins (yet). The goal at this point is to gauge the interest in these controls and get some feedback from you so we know if the controls should become first class citizens in the RadControls for ASP.NET suite.
So if you want this project to be enhanced and escape from Telerik Labs, go play with the skinned controls today and then give us some feedback! (Please.)
Posted by
Todd Anglin
at
2/07/2008 08:40:00 AM
3
comments
Labels: Code Library , RadControls
New! Related Content
Wednesday, September 05, 2007
WinForms Q2 2007 beta released
Today is a busy day for announcements. Hot on the heals of the official release of RadControls for Silverlight 1.0, Telerik is pleased to present the beta of the RadControls for WinForms Q2 2007. Out almost 3 weeks ahead of the official September 17th release, this beta should allow plenty of time for you to submit your feedback and suggestions for improvement.
As was the case with the WinForms SP2 release a couple of months ago, Q2 2007 will focus mainly on improving the performance of the RadControls. Since their introduction, performance has been the number one issue with WinForms developers and thus our number one priority. Our devs have worked hard on improving that situation and I think you'll be very pleased with what you find in Q2.
Even though performance was the main focus of Q2, there are some new controls for you to play with. RadChart for WinForms received a major update in this release and a brand new control- RadCalendar- has been added to the suite. RadCalendar delivers the same rich "WPF-like" visuals that you've come to expect from Telerik's WinForm controls and an API that is similar to the ASP.NET version. If you're using the rigid standard WinForms calendar control, you definitely need to check out RadCalendar for WinForms.
Help us make Q2 a great release by downloading the beta today and letting us know what you think.
Posted by
Todd Anglin
at
9/05/2007 11:13:00 AM
0
comments
Labels: Betas , RadControls , WinForms
New! Related Content
RadControls for Silverlight 1.0 released
Mere hours after the official unveiling of Silverlight 1.0 from Microsoft, Telerik has released the official version of its community supported RadControls for Silverlight 1.0. This release makes Telerik the first component vendor to deliver official support for the freshman Silverlight 1.0 release and highlights our commitment to this new framework.
As we've discussed before, the Silverlight 1.0 controls from Telerik address the lack of basic controls in 1.0, adding buttons, media controls, labels, and the infamous spinning cube to the mix. These controls are free for all RadControl subscription holders and will be supported primarily through the forums (read the license agreement: "no dedicated support is offered for this product"). Telerik's work on the Silverlight 1.1 framework will be much more extensive and will be licensed separately from existing products. Watch for some early previews of the 1.1 controls later this year. I've already seen some of the controls in action and they are looking very good!
If you are a RadControls subscription holder and today's Silverlight release inspired you to create, jump over to Telerik.com, download your free Siliverlight 1.0 controls, and get started.
Posted by
Todd Anglin
at
9/05/2007 09:27:00 AM
0
comments
Labels: RadControls , Silverlight , telerik
New! Related Content