Love it or hate it (as those seem to be the only two options), the iPhone is here and there are already over a million people using it to surf the "real Internet" in their pockets. And if there is anything I love more than ASP.NET and the RadControls, it's gadgets. So naturally I had to replace my "so last season" BlackBerry 8300 with an 8GB iPhone soon after it came out (which, for those that care, I love and fully recommend).
One thing Steve Jobs and Apple stressed during the marketing blitz leading up to the iPhone's release is that the phone would use Safari to browse the web. Since Telerik's RadControls are supported in Safari, I was very eager to give them a try on the phone to see how well they'd perform on the mobile platform. I had done similar tests on my BlackBerry- both with the BlackBerry Browser and the Opera Mini browser- and the results were miserable.
In short, the RadControls perform admirably on the iPhone. Their performance is not perfect, and some controls work better than others, but compared to other mobile platforms the iPhone is a leap ahead. In this series, I'll look at each RadControl on the iPhone and let you know if it's usable, semi-usable, or unusable. Each installment will also be fully supported by a picture gallery that I'll post and narrate with comments.
In part one we'll look at six RadControls: RadAjax, RadCalendar, RadChart, RadCombobox, RadDock, and RadEditor.
- RadAjax: Usable
RadAjax is completely usable on the iPhone. Since this is more of a communications component than a UI component, there are no photos to directly demonstrate this in the gallery, but it definitely works without a hitch. You can safely use RadAjaxPanels, RadAjaxManagers, and AjaxLoadingPanels in applications that are accessed by the iPhone or in applications that are specifically designed for the iPhone's interface.
This is one of more exciting results since Ajax-based development is the only way to put custom "applications" on the iPhone (for now). There have already been some very compelling Ajax apps created for the iPhone, such as JiveTalk for iPhone, but Telerik's framework can help you create your own Ajax apps for the device in no time at all.
- RadCalendar: Usable
This result slightly surprised me since the RadCalendar component takes advantage of some complex CSS, DHTML, and JS to make its magic happen. It seemed to be no problem for the iPhone, though, as I was able to use the DatePicker and the fast year/month change functions of RadCalendar without issue. The only caveat (as is true for most complex controls/sites on the iPhone at this stage) is that this control can crash the mobile Safari browser. It didn't happen to me during this test, but it has happened in the past. In general, the Safari browser on the iPhone it much more fragile than its big brother and still has some stability issues to work out.
- RadChart: Usable
This result should come as no surprise. Most of RadChart's work is done on the server where the chart image is produced. Once you reach the browser, there is very little work that needs to be done to display a chart. As such, RadChart has no problem on the iPhone and can be used freely.
- RadCombobox: Semi-usable
Here is a RadControl that you probably don't want to use if you're targeting the iPhone's browser. In a clear case of 'the iPhone Safari is not real Safari', you'll discover that many of the advanced features of RadCombobox do not work well. In fact, even simple things like displaying scroll bars when lists of options are longer than the drop down size present obstacles on the iPhone. Add to that the iPhone's unique handling of normal drop down lists, which use a fancy zooming technique to make it easy to select a drop down option, and RadCombobox clearly becomes a poor choice for drop downs on the device. If you have RadComboboxes in an application that may be accessed by iPhones, you will want to use a .browser file to feed the phone a different version of your page.
- RadDock: Semi-usable
You may be surprised to discover that RadDock works relatively well on the iPhone. All docks seem to render without a problem and you can easily close, minimize, and expand docks on the screen. What you can't do (and this is no small issue) is drag or move DockingPanels on the screen. In fact, you'll discover that you can't drag and move any objects on the iPhone as the phone interprets these motions as trying to move the screen (the common method for navigating the device). So if you can tolerate not being able to move or reorder DockingPanels on the mobile version of your application, then you can use RadDock without concern. If you need drag and drop functionality, don't expect to find it anywhere on the iPhone.
- RadEditor: Unusable
Before I explain why RadEditor is unusable on the iPhone, let me start by sharing a few features that are usable. On the iPhone, the Editor and its toolbars render correctly and all Editor content renders correctly, too. You can even use the toolbar buttons and invoke the many Editor features without error (including the RadEditor file managers). What you can't do is edit the content of the Editor (thus my rating). No matter what you do, clicking in the Editor's content area does not bring up the iPhone's keyboard thus enabling you to edit the content. If you can't perform the "edit" function of a control named "RadEditor", I consider that unusable.
If you're using RadEditor as a read-only control, then have no fear. Your applications will still work fine in their read-only context. It's only when you try to use the RadEditor to edit content that the short comings become apparent.
Check out the full gallery of photos that show the RadControls in action on an iPhone. I'll cover another batch of RadControls later this week and then we'll finish-up the series early next week. Until then, get busy developing applications for the "overwhelmingly happy" iPhone users using Telerik's RadControls.