Monday, March 21, 2011

Telerik Controls - A perfect example of how not to do things!

As you might have known already from my previous post, in one of my projects we use Telerik Controls extensively for showing various GUI controls.

I personally *hate* using Telerik controls.  Lot of people have asked me, why I hate them, hence for the benefit of the community, I have decided to document the reasons of my hatred for Telerik controls.

Telerik has provided a lot of controls that could be used in variety of situations.  They have provided lots of demos for various controls that they provide.  Looking at just the demo, anyone will be impressed with these controls and would want to give them a shot.  But, once you start using them, you will realize how badly they have been architected.

Oh! by the way, tell me one thing.

What are demo websites meant for?

I would say, to showcase the power of the product/tool.  Demo websites make the first impression about any product/tool.  Its extremely important to get this right.  But, for me, Telerik has failed in making a solid impression.

The Telerik controls demo website does not working in Firefox 64 bit!  

My hatred starts here.  More and more machines are getting 64 bit OS pre-installed on them.  Companies and People are moving towards 64 bit platform.  If entire Telerik demo website not working on Firefox 64 bit, its a shame if not anything else.

I am going to bitch about some of the basic Telerik controls, because I believe, if you can't get the basics right, you cant get it right at all!


Lets talk about the most basic Telerik control, the RadTextBox.  You might feel, surely there is nothing wrong with the text box right!  But unfortunately, Telerik has got the most basic control wrong.

The asp.net code to use the RadTextBox in your page looks like

Nothing fancy here right? Yes, I would agree. The asp.net code does not look too bad. Lets look at the generated HTML for a moment.

What? Where did the "span" and two extra "input" tags come from?

Yep, believe it or not. One RadTextBox gets rendered as a span and three input tags!

Why would any one decide to render one Text box as using three input tags!

Whats the problem with rendering one TextBox as three input tags?

Well, none of your traditional JavaScript would work!

For e.g. lets say, you were using jQuery for your JavaScript manipulation (BTW, jQuery is an excellent JavaScript framework.  I recommend it for every web based project!  Great work guys!), the code to update the value of the text field to "Hello World" should look like

But unfortunately, the above code does not work. Since Telerik uses 3 input tags to render one text box the above JavaScript code does not set the value of the text field!

Instead, Telerik provides JavaScript wrappers for their controls.  In this case to update the value of the first name text box we have to use the following JavaScript.

Update: $find function is part of the Telerik JavaScript.  $find is part of the "MicrosoftAjax.js".  Thanks bugventure for pointing me to the right direction.

This effectively means none of the awesome jQuery api can be used with any of the Telerik Controls.

Yes, you read it right.  I will say it again, JQuery api would not work as expected with Telerik Controls. 

Imagine, how you will show/hide, enable/disable the text box. What about adding/removing a class from the text box. These are just a few examples of what you will not be able to do using jQuery because of Telerik controls.  Believe me, without jQuery, JavaScript manipulation is going to be tough!

Now you understand my frustration?

Lets look at one more control and I promise we will be done after that.

RadComboBox:

This one is my favorite control, I just love bitching about this control.  I am amazed at how badly they have messed this up.

The asp.net code to use the RadComboBox in your asp.net page would look like

The above RadComboBox is suppose to show users a list of countries. Notice that, we have not attached any special behavior to it.

Before looking at the generated HTML, do you want to take a guess at how should it look like?

10 Bucks if you get this right!

But, I can guarantee that,  the generated html looks nothing like you would have thought

Usually for us "the mortal developers", Combo Box is rendered via the "select" tag.  We use CSS to style it.

But, Telerik had different plans for the Combo Box.  May be, Telerik thought,

"Oh! that is too simple, lets make peoples lives complicated". 

Telerik uses a complex tree of "div's, ul, li, table, tr, td, a, input and an hidden input", for something that could have been easily achieved using a simple "select" tag, some JavaScript and some CSS!


Telerik, did you forget the KISS principle?

I am simply speechless!  What can I say, its a disaster.  Needless to say that, the traditional JavaScript does not work with Telerik RadComboBox.

This is just developer side of the problem.
  • What about automated functional tests?  
  • What about the QA's who take so much effort to write functional tests using selenium and other tools?
Tools like selenium rely heavily on use of traditional JavaScript, because of this functional tests written using these tools do not work well with Telerik Control.

For e.g. looking at the html generated for a simple combo box, imagine what will the code look like to select a country from the drop down.  Its just terrible.

One last thing and I will stop.

Lets say, if you wanted to do something when client side onblur event occurs for a RadTextBox and RadComboBox.  This is how you will have to do it.

The above code shows how we attached an client side onblur event with RadTextBox. Lets see how we have to attach the client side onblur event for the RadComboBox

Did you notice the inconsistency between two Telerik controls themselves?

I can only say, surely there are better ways of doing things!


Telerik, if you are reading this, you better pull up your socks and start doing some major rearchitecting!

I think that is enough bitching for a post.

Ah, almost forgot, if you are still interested in using Telerik Controls in your project, you need to pay for it, They are not free!

68 comments:

  1. "$find function is part of the Telerik JavaScript"

    WTF?? Get your facts straight...

    http://msdn.microsoft.com/en-us/library/bb397522.aspx

    ReplyDelete
  2. This does not seem an objective opinion to me, Deep - you are quite prejudiced from your personal point of view. Telerik might have some imperfections here and there, but they are dedicated to constantly polish their AJAX controls and improvements can be seen with each release. I am saying that from the position of a customer who is with the company from a couple of years now, and believe me, I evaluated all major vendors in the web area! Advanced features require more complex rendering, that is they probably made this decision for their inputs. And after all, can you point one framework who has follows unified naming conventions 100%? Even MS has discrepancies, but I can say one thing for sure - if you channel your feedback personally to Telerik they will surely take it very seriously and do what it takes to make all of us happy developers.

    ReplyDelete
  3. bugventure,

    Thanks for pointing that out. I have updated the post.

    Comment #2,

    I really want to agree with you, but unfortunately I cannot.

    We are not talking about any "Advanced features" here. We are talking about two of the most basic controls RadTextBox and RadComboBox.

    I fail to understand what is so complex about rendering a Country drop down? Why does Telerik need a complex tree of div's, ul, li, table, tr, td, a, input and an hidden input to render a Country drop down?

    Notice that i have not associated any special behavior with the drop down.

    I am sure Telerik could have done a better job at simplifying things.

    Moreover, the post only talks about simple controls, when it comes to more complex controls, the page size and view state goes for a toss.

    I have seen pages with a Telerik grid on them which are bigger than a couple of MB's

    About the other question "Can you point one framework who has follows unified naming conventions 100%?"

    Try jQuery - http://jquery.com/

    It provides lots of plug-ins to show every UI widget that you can think of. It works with all modern browsers even with Firefox 64 bit. Its free and open-source

    ReplyDelete
  4. Get a life man. Telerik Silverlight components are one of the best looking and usable components out there. We use them all the time (and i am not telerik associated) and they deliver (look and speed of development).

    ReplyDelete
  5. Hello,

    Did you not read the post? Its about Telerik Asp.net controls http://www.telerik.com/products/aspnet-ajax.aspx and not about Telerik Silverlight components.

    Personally I have not used Telerik Silverlight components hence, cannot comment on them.

    But I have used Telerik asp.net controls and I definitely feel things could be made much more simpler!

    ReplyDelete
  6. @Deep- Sorry to hear you've had trouble with the Telerik tools. Hopefully I can help provide some perspective.

    1) 64-bit Browsers
    This is an interesting issue. While 64-bit browsers are emerging, few people install them because they are not compatible with most of today's plug-ins. And AFAIK know, only IE9 is shipping an official 64-bit browser, and even that browser defaults to the 32-bit version (http://www.zdnet.com/blog/networking/installing-32-bit-ie-9-on-64-bit-windows/802). Either way, the Telerik RadControls for ASP.NET AJAX work fine in IE9 x64, and as other browsers officially ship 64-bit support, we'll test and support those versions, too.

    2) HTML Output
    Here I think there is a basic misunderstanding. If all you want is a textbox, write the HTML. :) A rich ASP.NET server control is designed to simplify more advanced scenarios, such as having more control over the styling of textboxes and drop down lists. With HTML today, there is no consistent way to do this with CSS + a single input tag. More "advanced" HTML is required to provide the full cross-browser support.

    In any case, we strive for the "minimal" HTML needed to support these advanced features, and as much as possible render symantic, accessible markup. I would challenge you to replicate some of the features that the RadControls provide with simpler HTML. We're always open to improving if there is a better way!

    You may also be interested in checking-out our MVC tools, which are lighter than the WebForms rendering for various reasons: http://demos.telerik.com/aspnet-mvc

    3) JavaScript Programming
    We love client-side programming. We provide a complete and rich API for doing client-side programming with the RadControls. True, you cannot directly access HTML objects, but this is again due to the complex nature of the features we're supporting. You can use jQuery, though, you just need to use the API to access to the right client-side object model of the control.

    If you want more direct jQuery access to the controls, I'd suggest again that you check-out our MVC tools (which are entirely jQuery based).

    4) Testing
    We take automated testing of AJAX UI very seriously. We used Selenium internally for years to successfully test the AJAX controls. Today we build and ship our own advanced automated UI testing tool, Test Studio, which makes this process even easier for QAs. I think there are few controls for AJAX that are easier to test than the RadControls paired with Test Studio.

    Hopefully this helps clarify a few misunderstandings. I can appreciate that you have your own preferences, and WebForms is not for everyone. But when it comes to rich UI for ASP.NET AJAX, the RadControls tend to be the best. I'd be happy to discuss more: anglin@telerik.com.

    ReplyDelete
  7. i appreciate the authors opinion for his simple question. What are demo websites meant for?

    There are not enough bitching on the internet from seasoned developers on this level. I am not on this level. Frankly I cannot even get teleriks sitefinity going since i need to integrate it on an existing server that was on .net 4.0 but had to be been downgraded to .net 3.5 which was not the original licence i purchased. I also did not realize at the time that the licence was only for 5 consecutive users at a time which is about useless for us since most users (teachers) log in and do updates at the same time of day.

    i do not feel like their support is that great. Since when it comes to hosting, their licenses versions, sitefinity versions, Web hosting .net version compatibilites are at best confusing if not otherwise. sitefinity (4.0 does not run on .net 4.0 ) And their pocket expensive host discountasp is absolutely no help when it comes to sitefinty. Helping with that is beyond their scope of service.

    I am proud or our teams custom developments we have done more for this school in a year than others have done in 10 years. I will look at jqueary as an alternative as a result of this post.

    junior developer who loves what you put on the side of this blog. I want that. How much does that cost?

    ReplyDelete
  8. @Todd

    Good that you noticed the blog and glad to see your reply.

    Before I write anything, let me make one thing clear, I have no intentions to offend you or anyone else at Telerik. I have only given my honest feedback.

    Here are my answers to your comments:

    1. 64-bit Browsers
    I will have to disagree with you on this. Software moves faster than we think it will. Today's scenario will change even before we realize. May be, there are not enough plug-ins available today for 64 bit browsers, but surely people are moving towards them and my guess is the transition will be faster than anticipated.

    Have a look at this URL http://www.w3schools.com/browsers/browsers_stats.asp. Back in *Jan 2008* no one thought that Firefox will have greater market share than IE but today reality is that Firefox is the *most used web browser*. In fact even Chrome has taken over IE.

    Moreover, I don't understand, how does 64 bit or 32 bit matter to Telerik controls. As far as I understand, the interaction between the browser and server is done via HTTP GET/POST and via Ajax/JavaScript. So if one writes good JavaScript and renders proper HTML, the site should work on all browsers without a hitch!

    Have a look at this screen shot https://spikes-gitshah.googlecode.com/hg/download/login_page.png. Its the screen shot of our login screen. It merely has two text boxes and one button to submit users input. I think you have to agree that, a page cannot be simpler than this. This page does not work on Firefox 64 bit. No matter how I try to click (using the mouse, using the keyboard, pressing enter in one of the text fields) the "Login" button it will not submit the page!

    2) HTML Output & 3) JavaScript Programming
    You are correct here, If all I want is a text box I should write HTML. However when there are other Telerik controls on the page the styles of a normal drop down or a text box does not match with other controls. Because of this we have to use Telerik controls.

    I have been a big fan of the *KISS principle*. Hence, if I do not want any advanced feature for a drop down (which is the case in the example taken in the post) then controls should be smart enough to render only the minimal HTML. What I do not understand is for implementing a simple Select functionality why do we need such complex HTML?

    I will give you an example, have a look at the screen shot here https://spikes-gitshah.googlecode.com/hg/download/ie_cpu_100_states_dropdown.png The "Change Billing Address" is a RadWindow (which is rendered as iframe!). It has simple Telerik controls like RadTextBox and RadComboBox for Country and State/Province. I am sure you would agree its a pretty simple page right?

    On this page, when I select the country "USA" and then when I open the states drop down, the application hangs! This happens on *IE8*! To give you the proof notice the CPU usage of iexplore.exe on the Task Manager in the screen shot its 96% and it stays there. The CPU usage stays at around 99% and never comes down. The browser process has to be killed to get the machine to respond. This is reproducible consistently on IE8.

    The problem was, the Telerik JavaScript tries to do some sort of an animation to show the drop down and when the height of the RadWindow is smaller than the drop down contents the issue appears. I wasted 3 hours to figure out what was the problem and what as the solution. I think you would agree issues like this are not fun to work on. I definitely have better things to do then fixing such issues.

    Using jQuery with RadComboBox or a RadMaskedTextBox is a total mismatch. I am sure you know this. Its certainly takes time to figure out as to which input control holds the selected value and how do we change that.

    ReplyDelete
  9. 4) Testing
    Why should we *buy (pay for)* another tool to do automation testing from Telerik?

    Selenium and other such open source frameworks have proven their worth over the years! We have used selenium in lots of projects (java, .net and ruby on rails projects) and have never faced a issue. But with Telerik Controls, simple things like, typing a value in a RadMaskedTextBox is a challenge. When we used Selenium IDE to record and playback a script, it fails miserably because of multiple input tags rendered.

    Finally, this post *in no way highlights all* the problems we faced so far with Telerik controls. There are problems with view state and page getting heavy which I have not even touched. Complex Telerik components have other complex problems which are not described here.

    ReplyDelete
  10. @webmonkeymon,

    I am a fan of free software! Hence, the ribbons that I put on the side of my blog cost nothing to you!

    Its an HTML5 feature (canvas) with some JavaScript added to it.

    Save the any of my blog pages on your machine, the JavaScript and the code can be easily extracted from it.

    Thanks

    Deep Shah

    ReplyDelete
  11. As a tester, I have to agree with the Author. Creating simple Automation tests on telerik pages is a pain. The combobox control is a royal mess. At one time, we had to select intermediate values in the combobox just to traverse down to a bottom value, because selecting it directly would not work due to rendering issues (IE 8). #FAIL

    We would like to use our existing Automation framework, but with telerik we have to make a lot of changes in our driver scripts thats work well with everything else. Buying telerik's automation tool so that we can satisfactorily test telerik's controls defeats this purpose. This reminds me of Infragistics controls who made a fortune by selling QTP and Rational plugins.

    ReplyDelete
  12. @Deep-

    I see we may have to agree to disagree on a few points, so let me simply provide some follow-up items for future readers of this thread so there is minimal confusion:

    1) 64-bit Browsers (reprise)
    Telerik fully supports all officially released versions of the major browsers, including 64-bit versions. The version you've referenced here, Firefox x64, is still experimental and unsupported by Mozilla. The JavaScript and DOM engines, on which the Telerik tools rely, are thus incomplete for x64 at this stage. When the browsers are ready (or even closer to Beta), Telerik will be first to offer full support.

    2) HTML and JavaScript
    If you do not need the full functionality of the rich controls like RadComboBox, don't miss the simpler RadFormDecorator. This tool allows you to simply apply Telerik skins to "standard" HTML form input controls. http://demos.telerik.com/aspnet-ajax/formdecorator/examples/overview/defaultcs.aspx

    This does add extra HTML. That is a basic requirement for styling elements like the HTML select. Browsers do not provide direct styling options for these elements, so providing theming requires some special HTML/CSS. There simply is no other option if you want to style these elements.

    If you have a specific integration issue, we'd love to help. Be sure to log such issues in our Support Ticket system so we can provide our industry leading support.

    3) Testing (reprise)
    You can still use tools like Selenium with Telerik tools, but as you've observed, a few manual steps are required. Selenium is "ignorant" to rich web UI. This is not a Telerik-specific challenge and something you'd face using any rich web UI tools.

    We provide Test Studio as a more advanced tool, designed for QAs looking to test modern web applications more efficiently than can be achieved with something like Selenium. It's not a requirement, but many QA shops are adopting Test Studio and realizing great ROI and improved test quality.

    http://www.telerik.com/automated-testing-tools

    --

    No vendor is perfect. We are simply people trying to make tools to save other people time. We think we've done a pretty good job for the web, but where we can make improvements, we're always working hard to do that. Be sure to leverage our official feedback channels (forums, support tickets, etc.) to address any specific challenges you have.

    We appreciate your passion for community and hope that we can help you in the future.

    -Todd

    ReplyDelete
  13. Coding is an art. Not everyone is an Artist!

    You said it yourself. I actually came across this blog via google. As a business owner (financial software developments), I always feel sad to see people posting disgruntled messages on the internet such as you have Deep, without what seems proper research into the matter. Instead of contacting Telerik and discussing the questions with them, you post a somewhat scathing review with asking relevant questions first. I'm always of the opinion, that you can only moan about something, if you can do it better yourself.


    I have no relation to Telerik, was simply just searching for reviews on them. (We are however interested in their fantastic support for Right to Left (RTL). Infragistics which we currently use doesn't support it and has no plans too. So here we are, a software company being contacted by foreign regions, with massive potential, and now we have to rewrite everything. That's 3 years of coding... So I must say congrats to Telerik for several things, such as their gearing to globalization. That's a company with a business mind, and I commend Telerik for that because you hardly ever see a component company having business brains.

    However, I do commend people for posting their experiences with products. People don't do it often enough.

    Deep, what can you recommend as a high performance grid, that supports RTL for .Net? (C#).

    Regards,
    EJS

    ReplyDelete
  14. Hello EJS,

    I think, it will not be correct on your part to say that, I have posted this message without doing proper research. Whatever I have mentioned in the blog are facts!

    You can see its not just me, others have also faced similar problems. May be Telerik products worked for you, this does not mean that they will work for everyone.

    The pains that I have mentioned in the post, only a developer can understand them.

    For the benefit of other, we have successfully convinced our client to move to asp.net MVC3 and JQuery. We are no longer using Telerik controls.

    We have rewritten most of the pages that were using WebForms with Telerik controls. We have rewritten pages using MVC3 [http://www.asp.net/mvc/mvc3], JQuery [http://jquery.com/], JQuery [http://jqueryui.com/] and JQGrid [http://www.trirand.com/blog/jqgrid/jqgrid.html]

    The new pages are approximately 3-4 times faster than the old once because of numerous reasons.

    EJS, I dont know your exact requirements but checkout the JQGrid. We are using that extensively in our app and we are pretty happy with its performance, its look and feel and everything else. Over and above it its free!

    Thanks & Regards

    Deep Shah

    ReplyDelete
    Replies
    1. "EJS, I dont know your exact requirements but checkout the JQGrid."

      We're just wrapping up a project where we used JQGrid and it was a complete nightmare for us.

      The documentation is terrible, and getting it to do relatively simple things (e.g. attaching event handlers and piggybacking extra data when sending a request) at best involved digging through tons of online forums, experimentation, and being nearly hopelessly dependent on one Stack Overflow user named "Oleg".

      We are *dreaming* of getting back to use Telerik controls. JQGrid was an absolute abomination.

      Delete
  15. I agree with Deep with certain points. I've used Telerik for nearly 3 years. My current company only uses Telerik controls. I would say, that we its an easy to use with various UI features that suits our client. Having said this, recently we did some stress testing on our pages and found that the session failed for certain multiple users(20). This happen in UI Page loading and initialising part. We've optimised the UI execution time by using various options provided by Telerik but still we are not able to reduced the CPU usage of our server to less 90% for say 20 users. And it would have been really helpful if telerik had technical call support system(which they don't have). We've to wait for 24 hours to get help from Telerik and have even ended spending more hours when we've critical project delivery at hand.

    ReplyDelete
  16. I have to agree with the author. We are currently using Telerik controls and as a QA tester using Selenium IDE and Selenium Server I am having the hardest time getting masked fields and drop-down selectors to choose the right options.

    The masked fields (SSNs, Phone Numbers, ZIP Codes, etc.) are especially a challenge. I have searched for solutions and found none. What we are doing right now is putting in a 'pause' and then manually filling out these fields. As you can see it is NOT fully automated how we would like it, but it works.

    The DEVs love the controls, everyone in QA hates them. Go figure!!!

    ReplyDelete
  17. Your statement of "how badly they have been architected" make me think you are not grown enough to write an article on Telerik controls. What you are looking for is basic html controls with some style applied. You dont need Telerik for that. Telerik is for enterprise applications where the preference is for better UI and UX. I have used their mvc controls, and it saved me time from writing a lot of client code to make controls work.

    ReplyDelete
  18. I agree with Deep. We have used telerik extensively on client side and we have had nothing but issues. I believe if you user telerik sparingly in your application only where it provides a functionality normal ASP.NET out-of-the-box control does not provide, it can be lived with. But designing whole website using telerik controls is plain suicide. It costs endless money and time, you can never get it perfect and you ll encounter bugs that you can spends hours trying to diagnose without a satisfactory answer.
    Thanks for the research and blog Deep. Appreciate it..

    ReplyDelete
  19. Hello Varghese,

    Looks like you didnt read the post very well, I am highlighting problems with Telerik Asp.NET web forms controls not MVC controls.

    Thanks

    Deep Shah

    ReplyDelete
  20. Hello All,

    I have developing with telerik Silverlight, but i have found some problems there implementation. They suggest me to use next versions then i switched to next version but this problem removed good new problems bigger than old one are now produced and i am suffering with my project why i paid them for this product that looks nice but have some major architecture flaws.

    Its because of their complexity
    so telerik - - - - - - - -

    ReplyDelete
  21. This comment has been removed by the author.

    ReplyDelete
  22. I Have started and finished many projects on Silverlight and asp.net using Telerik controls and i must say there are no other controls that can perfom better than Telerik controls. I can point out some few sites done using Telerik, but because of security reasons i cant. They are working perfect. Telerik controls are the Best, i think that Infragisticts or DevExpress are not even close to the quality provided by telerik.

    ReplyDelete
  23. Thanks guys for showing "respect" to the author instead of kindly guiding him if he is wrong. I personally agree with some of his concerns and disagree with some. But, Bravo! I say to author for his post and even replies to some cocky comments.

    Telerik controls are for enterprise apps who demand attractive UI in lesser efforts, they are cool and support team is helpful too. But here's one simple case...

    If you ever used Telerik RadGrid then notice what happens when there are scrollbars and static headers enabled. You'll see a white chip at the top-right corner, "No man's land". Telerik's workaround is to apply background style that matches Telerik's skin. Another thing is the amount of requests made by your Telerik'fied page with the Fiddler.

    That is so RAD!

    ReplyDelete
  24. I have been working with Telerik for pretty some time now. What I have noticed is , although they give a great UI look , they render a lot of unwanted code on the HTML end.

    Also it fails miserably when used with Selenium IDE.

    So i have to say , I agree with the author.

    ReplyDelete
  25. What are the alternatives if you develop such control? Can you give example and compare with Telerik to give more idea?

    ReplyDelete
  26. Great Post! I am working on a project right now with telerik controls and it has massively increased the development time of the project. It has also bloated our page sizes which you've demonstrated. Things which are instant with jquery take 1 second in telerik like hiding and showing a div, for example.

    Personally, though, my favorite telerik architecture decision is "NeedsDataSource". Have fun figuring out when this fires. Here's a hint, right before you try to do anything meaningful with the existing state of the grid.

    I have a simple rule. If you have to use ItemDataBound
    you're better off not using a control. All of this stuff is old technology that has been replaced by jQuery or other ajax frameworks.

    ReplyDelete
  27. Agree 100%. Telerik controls are an abomination. They generate crap for markup and RadComboBox doesn't work in IE9. We paid $1000 for this garbage! Don't anyone else do the same!

    ReplyDelete
  28. Hello There,

    I have not tried other ASP.NET Web Forms Controls hence cannot comment on those.

    But we have moved to MVC3 and since then there is no looking back. We are quite happy with how its designed. We are using MVC3 with jquery intensively.

    ReplyDelete
  29. I think it's hard to understand what Deep is talking about without having made transition from ASP.NET with all its complexities to another platform (Rails, Grails, you name it). The thing is, Telerik is following ASP.NET best practice which is about putting an elephant in a China shop. I was working quite extensively in ASP.NET and now I moved to Grails/Groovy/JQuery/JSON and guess what - things just work. You don't have to keep in mind that a control put extra code and alter ids and name on the client side. The programming model is so much better it makes me wonder what kept so long in ASP.NET world. And Todd, you say I should use Telerik only if I need complex controls. Well, I don't. Never. On the bright side, Telerik has its own KendoUI implemented on top of JQuery and even though it's still in beta, it seems to get things right.

    ReplyDelete
  30. Drop-down box? Yes, standard ASP control is much cleaner, not doubt. But say you need to do it so user can type a value into it and use auto-complete and you want to use images for each value and do other "cool" stuff with it without wasting your whole life :) I am not even talking about HTML editor - we used several before we decided cough out some $$ for Telerik - never looked back.

    ReplyDelete
  31. Hi Deep Shah, am shiv
    In our office we are moving from Win forms to Web.Am new to web. We are into Retail domain,we need to do more validations and calculations for such applications.

    From your experience Can u plz tell me?
    1. Does Telerik help me in server side coding also, is just help me in client side?
    2. Can i have datagidview using Telerik in which i want to save,edit and delete the data. Some cells are read only, and some are multi select whose values filled based on selection of combo present in same row. And also can i handle Key Eneter, key press,mouse leave, text change events?
    3. Can i have any controls to get pop up window more than 3 levels. Let say in sales 1.Sales Form on that 2.Sales details window 3.on that item search window 3.edit item window [ It look silly but customer needs] & one window result to be passed to previous one,
    4. Is there any special feature in Telerik which am not able to do using AJAX except new controls ?
    -Thanks

    ReplyDelete
  32. We are using winforms Telerik controls and I've never seen bigger crap. It's garbage.

    ReplyDelete
    Replies
    1. Totally agree with this. You loose a lot of time figuring out how it works (it doesn't) as you expect it. And about upgrading, that's a total crap. You download the new update, and everything what worked to that point will be destroyed. Event simple eventhandlers are renamed, and not to mention controls, also removing of existing functionality. Also there are simple case scenario bugs, where even a selectedvalue change for a dropdownlist does not work. These controls are good for children in kindergarten.

      Delete
  33. I have had a love hate relationship with Component one for years because of poor support and poorer documentaiton. Recently I was working on a project which required me to use Telerik rad controls for a heavy client side javascript ui, and let me say The telerik support is just as bad; arrogant and cocky and there documention although plentiful, is inconsistant, incoherant and incomplete.

    ReplyDelete
  34. Telerik marketing is too good that I don't realize I brought a bad tools to my company.. I got complain from my developer. You should try others tools before choosing one.

    ReplyDelete
  35. $telerik.$
    This is handler to get access to JQuery.

    ReplyDelete
  36. I 100000000% & plus agree with you...!

    ReplyDelete
  37. It would be interesting to know your opinion about ASP.net Awesome Controls (www.aspnetawesome.com)

    ReplyDelete
  38. Been using *ALL* of the Telerik components for ~1 year now.

    Can't convince myself to like them. No matter how hard I try there's always something off-putting about each control. Whether it's simple counter-intuitive from a functionality standpoint, or a *literal* crime against web standards (a simple navigation list item DOESN'T need 30 nested tags, shame on you.); or the bloated, complicated, and generally useless documentation.

    I just can't get over the feeling that it's not worth the hassle, and DEFINITELY not worth the exorbitant amounts they charge when you compare price/performance.

    Using Telerik components remind me of using apple products, they're fine and fun and shiny. But once you want to do something that is outside of it's pre-programmed experience, you will have to fight for every scrap of progress. Because it's not so much a tool as it is "for tools".

    However, just like apple, what they offer is good if you're only looking for a (very) barebones, "feel-good", quick-fix product. Once you want to offer actual, custom-fit, "this is what we want" solutions...

    look elsewhere

    ReplyDelete
  39. Hello,
    I've used telerik Controls in a couple of different projects now, and in some cases they really make things simple. They also lend themselves to the ministrations of the graphics guys to change the look and feel of things like textboxes.

    My biggest complaint is lack of example source code on how to do things on their website: For example, the radPager built in with a RadGrid has different modes than the stand-alone radPager control. The guy in charge didn't like any of hte modes available on the grid, and wanted a combination of two of them. It took a massive amount of digging, speculation, trial and error to get all the internal components to show correctly on the pager, as there was very little source code available from Telerik showing HOW to integrate these elements completely. To create my own template, I needed the source code and couldn't find it anywhere. I don't remember how I managed to hack it all together, now, but I did, although it took about 2 weeks for something that should have taken 15 minutes.

    ReplyDelete
  40. I worked on the RadComboBox for enable/disable in sharepoint webpart, it goes good for me after eating my some hours.
    So i want to share this...

    var combo = $find('<%=RadComboBox1.ClientID %>');
    For Enable
    combo.enable();
    For Disable
    combo.disable();

    Thanks,
    Sumeet Singhal

    ReplyDelete
  41. Hi Deep
    I am working on a .net application which uses Telerik controls using QTP 10, but I am facing difficulty as QTP is not recognizing Telerik controls properly. Is there any plug Ins to use in order to capture the telerik controls in QTP like the below ones
    Telerik r.a.d. tab controls
    Telerik Grids.
    I want to create custom add-in in visual studio.net . I need the sample code for the same
    I would appreciate if you can help in this regards.

    Thanks & Regards,
    Mrutyunjay

    ReplyDelete
  42. open source fragments breaks and falls apart its only a matter of time

    ReplyDelete
  43. I have taken two textbox in that wtite onblur events .The problem is when executing the first textbox's onblur event also second textbox's onblur event executed can u give any suggestion...Bellow is my code......
    ...script.....
    DataExistOrNot()
    {}
    PageMethods.DataExist(slipno,OnSuccess, OnFailure);
    ....script.....



    servercode:[WebMethod]
    public static bool DataExist(int slipno)
    {
    //int AvailableTickets = 5;
    //return (NoOfTickets > AvailableTickets);

    string sno = slipno.ToString();
    int i = Common.isValidID("MATERIALRECEIPT", "receiptno",sno);
    //(Request.QueryString["tblname"], Request.QueryString["docno"], Request.QueryString["value"]);

    if (i > 0)
    return true;
    else
    return false;

    }

    ReplyDelete
  44. I know I should not post comments while being angry, but I'm just sick of debugging telerik web pages!

    Using them just out of the box is gonna make everybody say "wow". Really fast implementation of good looking pages full of features no one really needs but everybody is impressed by.

    But when you reach the point, and I'm sure everybody using those controls over some years will reach that point, that no one can explain some strange behaviour of those over-complex gadgets, the first impression will fast switch to WTF...

    Actually I'm searching for some bug making about every 50th click in a datagrid not fire the associated event. No fun.

    And, as mentioned somewhere above, the main strategy at telerik seems to be: "If you've got problems, buy the next version. You will have to upgrade everything you have coded so far, because downwards compatibility is not for us, but one or two bugs will surly be fixed. Of course we added lots of new bugs, but you will earn telerik points reporting them and with telerik points the next version you have to buy will become cheaper!"

    ReplyDelete
  45. There There,

    "open source fragments breaks and falls apart its only a matter of time"

    Really? I mean really? Do you really mean it?

    Some of the best libraries that we (and the modern world) have used are opensource. JQuery, NHibernate, Spring.NET, MVC3 etc. World has been successfully using them and so far they have not fallen apart!

    ReplyDelete
  46. hello deep,
    nice blog
    i want how to get location wise timezone using jquery
    may i get ???

    ReplyDelete
  47. let's make one thing clear...

    No telerik control has ever, nor will ever, "lend themselves to the ministrations of the graphics guys to change the look and feel of things like textboxes."

    If you replace "ministrations" with "suicide" or maybe even, "the worst possible experience... ever..." Then you'll start to get the real picture.


    Totally agree with everything in your post, HATE telerik controls for these and so many other reasons. I've actually looked for other jobs because my current company uses them... Love where I work, but I hate using the crap Telerik spews out onto the developing community.

    ReplyDelete
  48. Wow! I see telerik marketing people pimping out telerik and aCCUSING author for simple thing..As a developer working on "ENTERPRISE App", I am facing so much trouble, I agree with author , These controls are HELL / Nightmare for a developer.

    ReplyDelete
  49. How about the RadGrid?!?
    Try fighting the bass-ackward event order when you want to implement custom sorting and filtering. A filter or or sort change first triggers not a filter or sort event, but the OnNeedData event, meaning that the control will load two or three times, including database round-trips, first getting data (unchanged!), and then applying the filter and/or sort, and getting data again!

    And sorting in the grid just does not work reliably. In some cases, the grid will "sort of" apply your sort, seeming to sort in ranges -- e.g., 41-60, then 1-40, and then 61-100 ?!?

    ReplyDelete
  50. Working with Teleriks control is as fun as pulling out my teeth. We all can agree there controls are beautiful and pleasing to the eye but they just got it wrong. How their controls are rendered in the browser is just too complex for simple html controls.

    ... first rule of development "Keep it simple".

    ReplyDelete
  51. "KISS" baby! Yea!

    keep it stupidly simple, lmao

    oh, btw Teleriks sucks!

    ReplyDelete
  52. I am a newbie who has dreams of putting out an app of my own.I don't have the developer chops like you. But, I heard about the jQuery controls from infragistics, and wondered whether it too suffers from the same issues like you found with Telerik?

    http://samples.infragistics.com/jquery/combo-box

    ReplyDelete
  53. Hi Deep,

    I have done some research on dropdown list controls, I see "select" could not be styled as they are rendered as windows controls, browsers have very limited facility to style them. thats why a long tree of controls (div,ul,td, etc) were used to mimic a dropdown. constancy is first thing in look n feel, no framework has provided an implementation of dropdown with rich styling functionality so they are using way around. However I would agree with you on the point that testing, getter setters for such rendered controls would pain in A*s.

    ReplyDelete
  54. Hi Deep, can you tell me is there any framework thats really good

    ReplyDelete
  55. Not sure if most of the comments here are from Telerik's competitors! I've worked with numerous suites and I prefer Telerik any day. Ultimately it depends on what you want the components for. If all I want is a simple select box, I wouldn't use a Telerik component there. Simple.

    They are constantly improving, and their support is great. For those of who who posted issues here, why haven't you tried their support system? This reminds me of a colleague who hated a certain company as he couldn't get any support... using a pirated copy!

    And just for the record, I suggest you try both DevExpress and Telerik trials yourselves. You'll see the difference.

    And Deep, still no official Firefox 64bit, or Chrome for that matter. ;)

    ReplyDelete
  56. We are using Telerik since 3 years building quite a large SaaS solution. Telerik is real good if you know what of it you need to avoid. So some investment and frustration is needed to get them working real fine. Telerik has some really "strange" controls that should not be there.

    For example, we quickly dropped the grid's built in row editing features - it gets you into big hassle quickly (and you likely end up rebuilding editing). We never use any data source controls for data binding (ok, this is the crap coming from Microsoft). We use other controls in some cases such as for file management.

    In our solution, there are the classic management pages where performance is not key and Telerik just helps us getting results in the shortest possible time. I do not see what is that wrong with them. It keeps code small and allows the average developer to produce results.

    Then there are pages where interactivity is key, post-backs are to be avoided whenever possible. Here we use plain jQuery, svc or web services. We still use Telerik controls (tooltips, rad windows, input controls) but interact with jQuery on client side only.

    The key pain is asp.net and not Telerik. We are going to transition new developments to MVC or (pseudo-MVC in asp.net), maybe still using Telerik client side or moving to Kendo which looks real good (but not yet ready for prime time).

    I honestly believe that Telerik does a really good job. Even support made a good impression. The problems arise from the asp.net model which loves postbacks and viewstate and does not care much about performance.

    Bad that MVC in .Net was in its beginning only 5 years ago. Today I'd have gone for that + Telerik MVC or Kendo.

    No black or white.

    Stephan

    ReplyDelete
  57. I have to agree with Deep, and thank you for writing this! My two biggest complaints about Telerik is their terrible support and documentation.

    The documentation is inconsistant, confusing, and insufficient (and yet there's so much of it too! All useless) as someone already mentioned. The demos are a joke, they typically handle simple cases only and I've rarely found them to actually be helpful in real life scenarios.

    As for their support, when you ask a question it's usually one of two responses, a) here's a link to a lame demo that doesn't address the complexity of what you're trying to do or b) Please send us a runnable project. Yeah sure, I'll zip up our whole application, data, proprietary code and all. I have lots of time on my hands, it's on it's way.

    I agree we shouldn't post when we're angry, but Telerik tools have been such a pain to work with - the truth needs to get out there that these tools are not what Telerik's marketing makes them out to be.

    ReplyDelete
  58. I totally agree with your views of Telerik. I work on a LARGE enterprise asp.net project. It's been nothing but headaches and if I had it my way I would rid the project of this and use asp.net controls...

    ReplyDelete
  59. I would agree with the comments on here that the article is less than unbiased. There seems to clearly be a bit of an axe to grind. It is worth noting that the intent of the telerik controls is to avoid as much javascript as possible and nobody should ever even be looking at the client side script which is, even with regular asp.net web pages, a bit of an unreadable zoo.

    Their controls are quite easy to use, though usually specific enough that trying to modify them to any old purpose might be a big problem. Yes, in those cases, they are not the tools for you.

    Their documentation is actually very good, though the organization on the actual web page and trying to find those answers on their web page can be painful...on the other hand I have found the answer to 90% of my needs by simply googling the exact question I want to ask, and the answer is usually a couple of clicks away.

    As for their support, they do tend to suggest the examples that you have already looked at, but if you get the paid support they put a lot of effort into helping you, and are usually fairly prompt. Their product is not perfect, but for the uses they are inteded for the product is very good, and easy to use, and their customer service is amongst the best I have seen for any product.

    (Website organization needs some work.)

    ReplyDelete
  60. I have never worked with more shit controls and service than Telerik's. Their documentation is complete bollocks, their controls lack simple functionality and it takes for-fucking-ever to get something to work the way you intend it to.

    Got a simple program with some simple queries and DataSource controls? Okay, maybe Telerik will work for you. Deviate from the norm, and Telerik is complete shit.

    ReplyDelete
    Replies
    1. I think the problem here are the shitty developers such as yourself, not the controls :) I had no problem using the controls for complex database calls and any other functionality that was needed, and my pages are very fast. The documentation was sufficient enough to figure out how to use everything and any weird behavior was able to be solved by simply googling the issue..

      I think you just have bad programming practice, just like the majority of other developers lol.

      Delete
  61. Good luck trying to get pureley jquery mvc applications working in secure environments where most clientside code is turned off. People who knock telerik don't have a clue how to code and go back to their old vices.

    ReplyDelete
  62. I need one sample example along with DB table how to use the Telerik radchart control. I googled but i cant understand how to use it. Can any one help me in this regard. I am new to telerik controls.

    Thanks in advance.
    muralikrishna attherate gmail

    ReplyDelete
  63. You are kidding right? You were not able to work with MVC and JQuery?

    I like to inform the other readers that, once we moved on and redesigned the application using MVC and JQuery, the time to market reduced quite a bit. All the parts of the system felt really snappy. The client was really happy

    ReplyDelete
  64. I know this is an old post, but I can relate to your sentiment. I am actually struggling with a simple width issue with the RadTextBox. As you pointed out, the span tag wrapper outside of the input tag is overriding my set width using control's property "Text" in uppercase.

    My verdict is this; If you are going to spend so much time learning the controls, as they are quite vast, spend that time learning the CSS, jQuery, you will not bang your head on simple things like width.

    ReplyDelete

Have some Fun!