Todd Anglin from our team posted a great blog entry yesterday. In it, he provides some interesting examination and commentary on Microsoft’s vision of the web, the birth of XAML technologies and the evolution of MS’s view on what the development experience for the web should be.
Some of Todd’s main points are that
- We should not be terribly surprised by Microsoft’s swings in direction.
- The swings are driven by competitive pressure.
- HTML5+JS+CSS3 is a viable application development stack.
- You need good tooling for that (and he makes a gentle Kendo plug).
The blog also received a number of interesting comments that made me think Todd was being misunderstood, and Telerik’s strategy was unclear. It seemed as though you felt we were promoting HTML5 as the panacea for everything and we were dropping the ball on XAML by favoring one technology over the other. In fact, I had been thinking a lot over the past few weeks about posting something on this topic, and the comments made it clear that I owe you some more explanation of Telerik’s plans (unlike Microsoft, I want you to know what we’re thinking, why it is such, and what we are doing before BUILD:) ).
Let’s start with the key thing you need to know so that it doesn’t get lost in the clutter:
"WE UNDERSTAND THAT YOUR goal is to deliver results for your business and use the technology that makes most sense for your objectives.
THEREFORE, OUR GOAL IS TO provide you with the best tools for any type of work that you might be doing."
It is as simple as that, and we have never stopped working towards that end. Our job, as an infrastructure company, is to provide you with versatility for the changing technology landscape. We cannot afford to make bets – the HTML5 vs. SL/WPF debate is not our war. We don’t care who wins or what technology you ultimately decide to use. Our objective is to provide you with the best tools for whatever choice you make. If we had the bandwidth and had a business model around it, we would be doing dev tools and components for PHP, Java, RoR, etc. We don’t care about platform providers – we care only about making your life easier and more manageable and helping you get the tooling you need to get the job done.
It is true that we are working on some amazing HTML5 tooling in the form of Kendo. That is not a shift in strategy for us – in fact, it is a representation of the strategy we have always had. We have always been one of the pioneers in the web space and you should continue to expect us to be on the forefront there. That said, if you take a look at the release notes for our Q2 2011 release, as well as our Roadmap for Silverlight, you will see that we have made and continue to make SUBSTANTIAL investments in the technology:
What's coming for Q3:
- Beta of new charting control
- PDF Viewer
- Entity Framework DataSource
- TreeMap and PivotMap official release
- New LOB CRM integration demo
- RichTextBox will provide support for Mail Merge, Styles and Columns
We all love Silverlight and WPF but sometimes it is not enough regardless of how good it is. I’ll use one of our products as an example – TeamPulse. As some of you may know, TeamPulse is Telerik’s project management tool for agile software development. It does a great job in helping teams collaborate better and deliver results consistently. The tool is built with Silverlight. Why Silverlight in the first place? Because SL is a great platform for RIA applications. We could’ve done it in HTML but it would’ve taken us much more time to deliver the same feature set. TeamPulse is a tool that a normal team of software developers would use at work where they have a laptop/desktop machine. They are running Windows or Mac and they have browsers capable of running SL so the plugin is not a problem for them. Customers I’ve spoken with generally care more about the capabilities in the product and the workflows that it supports. From an encapsulated point of view, SL is just fine for them. But there’s a problem…. Many teams want to provide their boss or client an easy way to track progress on key stuff using their iOS device. They also want the community to be able to vote on features in a UserVoice-like style while they are in the subway traveling to work and going through the daily news on their phone/pad. The problem with that is that you can’t run TeamPulse on an iOS device. It’s no longer a problem when they take a seat behind the office machine, but you make the app unavailable to them while they are in a meeting, in the park, etc. and they only have their phone/pad. For many customers, that is a problem as they want to have readily available access to everything of importance to them.
There aren’t many solutions to the above problem:
- We make an HTML-based subset of features that you want people to run on devices that don’t support SL
- We ignore the guys that want to run any part of TeamPulse on a phone
- We keep our fingers crossed that Steve Jobs will wake up one day and tell everyone at Apple to embrace plugins and add support for Silverlight.
Let’s face it, 3 is unlikely to happen and 2 does not make a lot of sense – people won’t be buying our product if they cannot effectively deliver the needed information to outside stakeholders. So, we are left with Option 1 – build some of the TeamPulse functionality in HTML5. We do not see a need to re-write the SL app that you are running on your office machine but we do want to complement it with a few HTML-based features so that what you need is actually available on all the devices you typically use.
At Telerik, we hold the view that modern developers will have to take a hybrid approach and build some applications (or parts of them) using HTML5+JS (the so-called “reach” apps/features”) and some with more rich, device-specific, technology such as our XAML tools, ObjectiveC, Java ME, etc. This is clearly the direction that Windows 8 is taking, enabling you to build applications with HTML5+JS or .NET/XAML. As the modern application platform evolves, so do we at Telerik.
It’s my belief that we should not confuse a technology decision – made based on the needs of the business – with a political decision. It’s hard to argue that writing an Enterprise-grade application in C#/XAML is a better experience compared to writing the same application with JS/HTML5. The problem is that Microsoft does not live in a world of its own – it has competition and it needs to react. There are many people out there that need mixed scenarios (like the one I described above for TeamPulse) and they need a better HTML5 story to cover some requirements that you cannot cover today with Silverlight. Having said that, I fully expect comments saying ‘everything is possible in JS/HTML5.’ And I will agree in advance – yes, everything is possible, but everything also has a cost. An average SL dev can create some really advanced applications in a short amount of time. An average web developer can’t – either the person has to be skilled or the time will be longer. For Microsoft, it would’ve been best if there was only one OS, one language to program in, one IDE. But it can’t happen. And it’s not because of Google – everything changed because of Apple.
Every so often I hear that people think we are trying to brainwash our customers and that we’re something like a ‘propaganda machine’ for Redmond. The ugly truth is that we’ve got bitten by the confused Microsoft messaging and silence as much as or more than most. We would’ve liked more guidance from Microsoft on where things are going and why. It definitely would’ve been nice. But, and it is a big BUT, they don’t owe us anything. They are not our parents that have to take care of us – we need to find our own ways to deal with challenges. Microsoft is battling huge challenges and they cannot think about every ISV and company under the sun. If we don’t like what they offer, if we don’t see cost and productivity gains using their products and technologies, if we feel grossly mistreated, if we feel there are better business opportunities then both we and our customers are free to explore the greener pastures. I for one believe that the Microsoft ecosystem is a great place to be and that after BUILD we will have something of, as one colleague said, “a true renaissance” for most developers.
So what’s the take-away from this long blog post?
- Have no fear :) Telerik will provide you with the best tooling for web app, XAML and mobile development.
- Don’t be scared about shifts in technology. There are changes that affect everyone but it’s not as dramatic as the media, and some interested parties, like it to be.
- Get ready for “hybrid applications” that will use many different presentation technologies and will connect through services to a single server-side technology that will probably live somewhere in the cloud.