Telerik RadControls for Windows Phone: First Look

Telerik has been quick to fill in some of the gaps in Windows Phone development with the new RadControls for Windows Phone.  They made a similar move previously with their support for ASP.NET MVC and, going back even further, jumped in earlier than most control suite developers when Silverlight first came out.  Jumping onto new technologies in this is always a risky proposition – and I am grateful to Telerik for repeatedly doing this.  I truly hope it pays off for them.

While the Windows Phone platform was still in CTP and Beta, the main course for extending the control library was to incorporate open and proprietary projects such as the Silverlight 3 Toolkit, Silverlight 3 SDK, and Silverlight Contrib.  This usually worked but there were always issues with making everything play smoothly. 

As the marketplace rules were released, it also became evident that all controls would have to be compiled against the WP7 runtime, which made things just slightly hairier.  Eventually Microsoft released its own official Silverlight Toolkit for Windows Phone, which provides the most requested UI components: a Pivot Control, Panorama Control and Date and Time Pickers which are consistent with the other native apps built for the phone.

The RadControls for Windows Phone has some overlap with the Silverlight Toolkit for WP7 – no doubt due to fluctuating expectations about what actually would be provided in the Microsoft Toolkit and what would be most useful in a suite.  Duplications include the Date and Time Pickers, Picker, and the Wrap Panel.

The UniformGrid, DockPanel, and Window controls are found in RadControls but not in the Toolkit.  Window is probably one of the most useful of these controls.  It has functionality similar to the ChildWindow control from the Silverlight 3 SDK and allows us to build modal windows – very useful when a MessageBox will not suffice and especially when a phone application requires an initial login – the tales of woe surrounding building an initial login that complies with the Marketplace rules are legendary.  Telerik also continues a tradition of porting nice-to-have WPF functionality to Silverlight.  The standout in their phone suite is the LayoutTransform control which allows us to use Layout Transforms instead of just Render Transforms (for an illustrative example of the difference, see Charles Petzold’s blog entry).

For those having trouble with page transitions, Telerik provides assistance with their implementation of the PhoneApplicationFrame.  There has been a technique going around the internet involving cannibalizing the Silverlight 3 Toolkit and customizing the default PhoneApplicationFrame in order to set all page transitions from one location.  Telerik has simplified the process by providing their own implementation.

The RadControls are still in Beta and I know better than to judge the final work by any issues I find in the preview.  That said, the RadControls for Windows Phone examples seem remarkably and pleasantly performant – especially the page transitions. 

Telerik’s RadControls for Windows Phone are a great addition to the Windows Phone ecosystem.  Telerik is definitely on the right track and their controls provide what any Phone developer would want – an easier way to build interesting and attractive WP7 applications with tools to make development go faster.

How to find a Silverlight Expert

Despite being available for several years now in different forms, Silverlight is still a technology that few developers are experienced in using.  Not many companies have roles for fulltime Silverlight developers, which limits the opportunities for developers to become proficient in using it.

On the other side, when a company has need of a Silverlight developer they want someone with a lot of experience.

This makes finding a Silverlight developer very difficult.  Contrarily, it makes being a Silverlight expert very rewarding.

An additional complexity is that there are different kinds of Silverlight experts.  Some are Line-of-Business Silverlight developers.  They are primarily concerned with questions such as whether to use REST, WCF SOAP services or RIA Services in order to retrieve data.  They compare the advantages and disadvantages of using MEF versus Prism.  They spend their free-time developing better MVVM frameworks and they spend most of their development time with Visual Studio open.

Integrators are a different breed of Silverlight expert.  They spend most of their time in Expression Blend and are concerned with how a Silverlight application looks.  This is often mistakenly referred to as eye-candy.  It is much more than that.  Integrators are proficient at making a compelling experience.  They devote their energies toward timing animations, making applications usable, and drawing the user into the Silverlight experience.  They are practitioners of subtlety and believe that the best user experience is one the user doesn’t even notice. Getting a Silverlight application to talk to a database is important, but if it looks bad no one is going to use it.  Some Integrators, by the way, also spend their free-time developing better MVVM frameworks.

If you are fortunate, you will find a Silverlight developer who does LOB work as well as Integration.  But you have to know what kind of SL developer you are looking for.

The best place to find a Silverlight expert – besides at Microsoft headquarters in Redmond – is probably Microsoft’s MVP site.  The MVP program is sponsored by Microsoft and recognizes accomplished developers in a variety of specializations.  One of the specializations is Silverlight.  There are currently 52 Silverlight MVPs worldwide.  There are an additional 30 Blend MVPs.

In addition to Blend and Silverlight MVPs, you will find that many Phone, ASP.NET and especially Client App Dev MVPs are also now working in Silverlight fulltime but haven’t shifted their designation.  This is quite a large pool of Silverlight experts to work with and at least a few should be in your region.

And then there are the creme-de-la-creme Silverlight Experts.  Some are independent and some work for companies or consultancies.  They are mostly known by word-of-mouth and no two lists of who are the best Silverlight experts are going to be quite the same.  At the risk of missing a few, here is a non-exhaustive and unordered list of people I consider to be Silverlight gurus:

Shawn Wildermuth, Jeff Prosise, Corey Schuman, Jeff Paries, Rick Barraza, Robby Ingebretson, Erik Mork, Bill Reiss, Justin Angel, Jonas Follesoe, Laurent Bugnion, Adam Kinney, Page Brooks.

I know I’ve forgotten someone important and I apologize in advance.

Among consultancies that specialize in Silverlight work, the three I know the most about are Pixel Lab, Vertigo and Wintellect.

Pixel Lab is simply the all-star team for Silverlight and Windows Phone development with Robby Ingebretson, Kevin Moore and Adam Kinney all working there.

Vertigo is well known for doing high-profile, beautiful Silverlight sites.  They also have a very close relationship with Microsoft.

Wintellect is another boutique consultancy that happens to specialize in Silverlight back-end work.  They are headed up by Jeffrey Richter, Jeff Prosise and John Robbins and tend to hire only the best.

If you are looking for Silverlight training rather than Silverlight development, both Shawn Wildermuth and Erik Mork are excellent trainers who cover the Silverlight field.

How to become a Silverlight Expert

steven

I am a Silverlight Expert (And So Can You!).

You may have come across this con before.  You find a short ad in a magazine or a newspaper or a flyer that offers you a secret recipe for making lots and lots of money from your home.  All you have to do is send in $10.

A friend of a friend of a friend of mine actually did this.  The secret recipe is that you create an ad in a magazine or a newspaper or a flyer offering a secret recipe for making lots and lots of money and all people have to do is send you $10.

If you google (or google on Bing) for a Silverlight Expert you are likely to come across this blog entry by Caleb Jenkins: 5 Steps to becoming a Silverlight Expert in which Caleb pretty much explains the secret recipe.  You write a blog post with the words “Silverlight” and “Expert” in it and, wham, bam, there you go.  Instantaneous SEO success.  Put Silverlight Expert in your meta tags (go ahead and check mine now, if you like; I’ll wait) and there you go.  More SEO magic.  Link anchors to other sites that score high for this particular set of keywords is also very effective.

In addition to Caleb, a Silverlight Expert search on the web will likely bring up Erik Mork, Corey Schuman and Shawn Wildermuth.  For the record, they all really are Silverlight experts just as Caleb really is.  Erik and Corey are recognized by Microsoft as Silverlight MVPs and Caleb is an ASP.NET MVP.  Shawn has been an institution in the MVP program for a decade.

Besides saying you are a Silverlight expert, you can also, of course, pay to be a Silverlight expert.  A google search today will lead with three paid spots for Northridge Interactive, Implicit Web and Axmor.  Are they Silverlight experts?  I don’t really know.  All I can say is that paying to be recognized as Silverlight experts doesn’t mean you are not Silverlight experts.

You may have come across this joke before:

Socrates: “To be is to do."

Sartre: "To do is to be."

Sinatra: "Do Be Do Be Do."

I first came across it in a 1985 Luc Besson film called Subway starring Christopher Lambert (of Highlander fame).  It exemplifies, trivializes and then revitalizes an ancient philosophical debate between the man of action and the man of words about what is the best life – that is, a debate between the politician and the philosopher/scientist.

For the politician, words and public speaking are a form of doing – it has a goal, to convince the polis on a course of action.  For the philosopher, action is a form of being.  What we do reveals the sort of person we are – and so we must choose our actions carefully.  Socrates drinks the hemlock because that is the sort of man he is.

Only in modern times have we thrown up a third option for the best life – a life achieved through marketing.  We should give a nod to the German transcendentalists for laying the groundwork for this third way, since they developed and expanded on the concept of “appearing.”

In the world of marketing, “to appear” to be something is “to be” it.  The world is nothing more than a representation, after all — a collective agreement on what we value and what we believe.  Both the speeches of Pericles and the final moments of Socrates in the Apology can now be seen as great marketing moments that were memorable as well as influential.  If we could only go back in time and get a product placement in there somehow.

In a virtual world dominated by marketing, the secret recipe to success seems to be a recognition that “to say” is “to do”.  If you don’t believe me, just check Wikipedia.

If you want to “really” be a Silverlight expert, however, then there just are no shortcuts.  You’ll have to just do it*.

[* “Just do it” was coined by marketing guru Dan Wieden for an extremely successful Nike campaign and is probably copyrighted. According to the film Art & Copy it was inspired by the last words of a death row inmate as he was waiting to be executed.]

Your First Windows Phone Development Book

WinPhone_v3_18432D37

Shortly after the announcement at MIX that the Windows Phone Developer Tools were available for download, a free e-book by Charles Petzold on developing for Windows Phone showed up on the Internet.  You can download it from his site here.  It includes six chapters from the book and, from what I’ve read so far, is great.  The XPS I downloaded is 156 pages – so it is quite a bit more than a tease.

The book begins in Petzold’s characteristically off-center and brilliant style:

“This is a short draft preview of a much longer ebook that will be completed and published later this year. That later edition will be brilliantly conceived, exquisitely structured, elegantly written, delightfully witty, and refreshingly free of bugs, but this draft preview is none of that. It is very obviously a work-in-progress that was created under an impossible timeframe while targeting quickly evolving software.”

Windows Phone Developer Tools and Silverlight 4 Released

jackpot

Scott Guthrie announced at the MIX10 keynote this morning that the Developer Tools for Wndows Phone Series 7 are now available for download.  You can get the tools here at http://developer.windowsphone.com/windows-phone-7-series/.

Silverlight 4 for the Visual Studio 2010 RC and the Expression Blend Beta are also now available here on www.silverlight.net.

Mr. Guthrie (AKA ‘The Gu’) also announced that Blend 4 will be a free upgrade for licensed owners of Blend 3, which is fantastic news.

The final release for all of these will occur in a month – one assumes it will coincide with the Visual Studio 2010 release on April 12.

Bridging the Silverlight Code – Design Gap

rainbow-bridge

Several friends and associates have been sending me links to Blend resources since my last post on the Silverlight Code – Design Gap.  I would like to thank a few in particular: Corey Schuman, Adam Kinney and Amos Kabaki.

ShineDraw: Amos told me about a site called ShineDraw that has a Flash vs Silverlight Gallery demonstrating how the same effect can be accomplished in Flash and in Silverlight.  Best of all, the examples are downloadable.

Project Rosetta: Both Corey and Adam clued me in to the recent reboot of Project Rosetta.  Project Rosetta is quickly adding content to be the first stop for designers to learn to work with Blend and Silverlight.  There is a rich getting started guide, a guide that helps designers map Flash concepts to Silverlight concepts, and many, many tutorials including an essential introduction on importing Photoshop files into Blend.

Expression Community: Not everyone knows about the forum for Expression Blend developers. It is set up along the same lines as the ASP.NET and Silverlight.NET forums with – clearly – a Blend bent.  There is also an associated gallery for those looking for a bit of inspiration.

If you are aware of additional Blend and Silverlight resources for designers, dear reader, please add them to the comments.

The Silverlight Code – Design Gap

.NET developers tend to love Silverlight because it gives them the ability to write cool applications using programming idioms they are familiar with.  Everything about it screams out cool.  Furthermore, .NET developers do not need to learn Flash to get Flash-like effects.  They can drop into the XAML (good ol’ XML) in Visual Studio and start typing away with Intellisense standing by to help.

Expression Blend is a little trickier.  It is a different idiom and .NET coders have a hard time using it.  All the same, it is not completely alien.  A .NET developer can still drop into the XAML if he wants to, and it is possible to mentally translate between the drag-and-drop designer and the XAML that is produced to the objects one assumes are being generated at runtime.  The bits that are foreign are assumed to be there for designers.

Yet designers have not embraced Expression Blend and finding out why is essential to building an effective Silverlight development story.

Allison Richter recently joined the Silverlight Atlanta User Group.  In her introduction to the group she mentioned that she is a designer who is mastering Silverlight but finding the experience frustrating.  When I asked her about this she did more than simply offer a quick reply.  She wrote an enlightening essay on her website 2foldesign explaining the gap between designers and Silverlight coders.  You can read the entire essay here (the speaker she refers to near the bottom is Roger Peters, a lead Silverlight developer for IQ Interactive):

Reasons why designers may not be seeking a change to Silverlight could be that code is not necessarily their passion. Code is what allows them to place their design into a workable format. Kind of like when I paint, I may need to know how to stretch a canvas onto a frame so I can paint, but I do not love doing so. So code is a necessity, but not a passion. Most developers I know love to code. They love new code, new solutions. They would just as easily go home and work on the computer all night after coding all day for enjoyment. Designers want to pursue what they enjoy: design. Painting, drawing, logos, ID, branding. I know personally I’ll lay out $20 per mag for things like a new Image FX without a second thought to see what other people are doing. Yet I may not go out and research a new code language with as much zeal.

On the question of frustration, there are many many areas so I will name a few.

Blend/Silverlight creates a dependency. True, most applications will need a developer to work in concert with the designer to create a dynamic amazing product. I also recognize that Flash does not have the capabilities that Silverlight has. However first off when using Blend and Silverlight I had to be set up. This is off-putting to many designers. We want something we can do ourselves. Adobe has it’s products packaged up nicely and all we have to do is load. My developer had to help sift through the right files, work with dlls, set up my environment etc. I have all of my Expression software loaded, my Visual Studio hooked up, the toolkit downloaded etc. If I had started out on my own as a designer I would have already been lost. When I create with Flash, it’s one product in which I already know how to create everything I need to create, then drop what is published into my HTML and CSS …

My expectations before I started with Blend and XAML was that Silverlight would be like Flash. The Blend software itself is very unlike Flash in many ways. I would relate it more to ASP.NET than I would to Flash. The toolkit, the way you code in the XAML, the types of containers that you apply. These seem to be very much like ASP.NET …

The toolkit controls are difficult to edit. I will go and watch as many videos as I can before trying to create what I want. For example, I need to create an accordion. Yes, there is a tool for that. Yes, you can learn how to edit it. Most of the videos don’t explain all the parts of the XAML, they assume that you will just use the properties area in Blend. Then they jump to the code behind and start doing things that I would need my developer to do. So then I come to a grinding halt …

[Terminology] is misleading. From a designer standpoint things like border mean a tiny thin line. You learn to put colored borders on all your divs/spans … to see what you are doing in CSS. So now I’m created entire blocks of items within a border? A border has a background? It’s not familiar to a designer. This makes the comparison between what we know already and what the new code is maddening …

There is no one to ask. Most of the places I have worked after college, I am the only designer. Other designers do not want to work with new technologies. The old ones cater to the right side of the brain, so to speak. They know how to use these programs, and time is money. The forums, information, videos seem mostly to be for developers. As the speaker from last night said, there is no elusive Blend designer with a background in Flash – good luck finding one. You guys [coders] can pool your resources together and talk about what to do and how you got there, but there is not a large resource of people for me to ask.

Technological Similes (e.g., Silverlight is like . . .)

tunnel

A few years ago I posted a list of technological similes on this blog involving the term “Ajax” which I aggregated from a Google Search.  You can read about it here.

It occurred to me that a similar search of similes involving the term “Silverlight” might be equally fruitful, much like throwing a fishing net into a sewer and seeing what comes back.  Voila the results:

Silverlight is like a little baby.”

“Silverlight is like Flash.”

“Silverlight is like Flash … only different.”

“Comparing Flex to Silverlight is like comparing apples and oranges.”

Silverlight is like all choppy and slow which slow down my browser like hell.”

“Silverlight is like ajax and Flex.”

“Silverlight is like a lightweight version of WPF…”

“Silverlight is like a browser add-on that can understand XMAL code.”

"Silverlight is like OS X.”

“At a time like this, finding an article written as recently as Feb 2009, and listing the strengths of Silverlight, is like finding lots and lots of drinking water when thirsty in a desert.”

"Silverlight is like activex all over again – arghhhhh!"

“In the experience world WPF is the Ferrari, Silverlight is like a Lexus, and Ajax is that Nissan Stanza that your sisters boyfriend bought…”

“Microsoft Silverlight is like the proverbial elephant…”

“After playing with the beta for a few weeks, developing a control in Silverlight is like walking through mud.”

“Using Silverturd instead of Silverlight is like using M$ instead of Microsoft and people who do that are looked down upon.”

“Someone memtioned Silverlight is like Java plugin?”

“I read on one blog that programming with Silverlight is like going camping with .NET.”

“Silverlight is like the wild wild west. Everyone code however they want, Every new discovery is like virgin territory…”

“The easy developing tool provided by Silverlight is like candy to lure developers in and cage them…”

“SilverLight is like Flash on Crack.”

Silverlight is like the force. It has a light side and a … uh…… silver side.”

“Silverlight is like an add on. Almost after the fact. I haven’t thought it through…”

A Silverlight CSI Challenge

caruso

One of the peculiar things about Silverlight applications is that, while SL provides the tools to create new and interesting user interface paradigms, most Silverlight apps currently being written look like revamped winforms or web form UIs.

This smells like a missed opportunity.  The problem, of course, is that it is difficult to come up with new ways for people to interface with their computers.  Developers and designers tend to fall back on the metaphors they are familiar with.

If you want to find interesting UIs, you need to look at your TV or the movie theater.  Movies like The Minority Report, while even more confusing than the Philip Dick story it is based on, succeeded mostly on its ability to show us what the future would look like.  Shows like the various CSI franchises succeed in making that future look like it is available today.

At the office, we get a big kick out of recounting the latest weird, impossible software being used on last night’s procedural drama to catch the bad guy.  What we rarely examine, however, is the fact that we can use Silverlight to build apps to look like – if not actually function like – those fictional software programs.  So why don’t we?

If we want to find new metaphors for the UI experience, it makes sense to go to the experts – television designers.  They have already done the hard creative work.  All we, as software developers, need to do is copy them and see what actually succeeds. 

So put on your Horatio sun glasses and build something from CSI, or Bones, or Criminal Minds, or The Minority Report, or any other technologically fictional world and see if you can make it real.  And when you are done, you can peer over your shades and drop a cheesy line like “Looks like his XAML finally got rendered.”

Last Night’s Atlanta Silverlight Meetup

Silverlight Meetup

http://www.meetup.com/The-Atlanta-Silverlight-Meetup-Group/

http://www.silverlightatlanta.net

Following the morning release of a Silverlight 4 beta, Shawn Wildermuth switched gears and spoke for 70 minutes about the new Silverlight 4 features at last night’s Atlanta Silverlight Meetup. He was originally scheduled to speak on Line of Business applications, but based on a show-of-hands decided to give this much more timely presentation.

The cellar of 5 Seasons Brewery was packed for the event and there was standing room only in the back. Because of the NDA, it appears that the Atlanta Silverlight Meetup got to see the first full presentation on Silverlight 4 outside of Redmond and Los Angeles, thanks to Shawn.