I have a few things to cover on this post. I want to start with Silverlight 5 but stay tuned for some information about how you can learn more and ask direct questions about the Sterling database.
Silverlight 5 Beta is Here
The Silverlight Team just officially announced that the Silverlight 5 beta will be available next week at MIX 2011. This is an exciting milestone because the new version will close many gaps. I provided my own detailed analysis when the version was first announced (From Silver to Gold in One Release). The recent announcement, however, came with a deeper message that is evident in its title, "Standards-based web, plugins, and Silverlight."
Already reactions are visible on Twitter and in various blog posts. For now, I think we need to take the post at face value and look at the key points discussed, essentially:
- Silverlight is king for plug-in based experiences
- Silverlight with XNA are the building blocks for the Windows Phone 7 platform
- HTML 5 is a solution for "many scenarios"
I think this is great news. I read into this that as an open standard, HTML 5 will grow in reach. The community certainly wants that to happen, and for good reason. There are more devices in play than ever before now that the smart phone market is growing and the playing field isn't just computers and laptops, but includes mobile devices and even gaming consoles. So why not embrace a technology that reaches across platforms and experiences? I think Silverlight developers would be insane not to at least pay attention to HTML 5 and learn what is there in order to make better decisions in the future about what technologies to use.
Having said that, I still believe that for applications (not web-based experiences) technologies like Silverlight make perfect sense. I also believe that while you will see more HTML 5 based platforms, that the native technologies for iOS, RIM, Windows Phone 7, etc. will still play an important role in the high touch, native experience. I don't believe that HTML 5 development kits are going to replace or come close to creating the same experience that an Objective-C, Java, Silverlight, or XNA based application can deliver. It's the same thing we've known in the computer industry for decades: the right tool for the right job.
HTML 5 Tooling
Most developers I know who have worked on multiple platforms are fans of the tooling that Microsoft provides. For any shortcomings, there are plenty of benefits. It's exciting to see part of the message focused on HTML 5 tools. I anticipate we'll hear announcements and perhaps even see previews at MIX of tools to make it easier to build HTML 5 applications. I hope this is received by the Silverlight community as an exciting step towards building web-based technologies and doesn't turn into another "oh my, Silverlight is going away" series of defensive rants. I see many projects that would make perfect sense to be created on an HTML-based platform and my biggest complaint for that platform right now is tools. I'm excited to see those tools and to receive more options for building the right solution. I continue to be a Silverlight fan and know there are many projects that only make sense in that type of rich environment, but I also want to be able to have another option for the projects for which it doesn't make sense.
The Death of Silverlight for Cross-Platform
I don't believe Silverlight will die, but I do read from the message that the goal of having Silverlight supported on as many devices and platforms is going away. I could be wrong, but it appears that while it will continue to be a first class citizen in the browser for the desktop and in the Windows Phone (and perhaps in other devices such as XBox if the rumors are true) it is not going to be an active goal of the team to put it in other environments like Android and iOs.
This is disappointing to me because one of the original promises of Silverlight was that ability to write the application once and have it run everywhere. It's a goal that has been pursued time and time again but no one has achieved it in the past 4 decades so why would now be any different? I think the problem is that the barriers to entry in the smartphone market were just too great. Many decisions outside of Microsoft's control prevented the plug-in from making it to certain platforms. That's not an excuse because there are certainly places it could be done (Android, Linux) and is being done through some valiant open source and not-so-open source efforts, but if you can't hit all of the platforms, does it make sense to continue with that agenda or pull back and see what does make sense?
I think the combination of native languages and platforms (Java, XNA, Silverlight, Objective-C) for high touch experiences, and standards-based platforms (HTML 5 and JavaScript) will be key moving forward. I do NOT believe HTML 5 will EVER be the only, de-facto standard. I feel it will grow and more solutions will be based on it, but I don't see the native high-touch experiences going away. In fact, I see the open source community rallying behind tools like MonoTouch and MonoDroid to create a best of breed compromise between writing once but deploying natively with the full suite of platform features.
So What Does it Mean?
I think this means Silverlight developers can stay calm and comfortable in the knowledge that the platform is here to stay. I'm certainly involved in many projects using the technology that I don't see going away — in fact, there are many that just couldn't be written in HTML 5 as it stands today. Windows Phone 7 will continue to gain traction and create an environment for development with Silverlight as well, and with the gaps closed by the version 5 release we'll see more line of business, enterprise applications than ever before.
I do think the Silverlight professional who is focused on providing the best possible solution for their customers will no longer remain versed in only Silverlight, but will branch out and understand and embrace HTML 5. If your customers require a presence on smart phones then growing to understand those native platforms will only help you provide a solution that reaches all of the end user devices and isn't limited to the places where the Silverlight plug-in lives. I know I'll be brushing up on my HTML 5 knowledge and skills and finding the time to investigate solutions for other platforms as well so I can speak intelligently to the best possible solution when a customer asks, "How do we solve this problem?"
The future looks bright and I'm excited to hear the announcements that will come next week.
Sterling Feedback
That leads me to my second point. Next week at MIX I'll be participating in the Open Source Fest on April 11th starting at 6pm PST. I'll be there representing Sterling. Please stop by, let me know your experience and feel free to ask any questions, provide any feedback and share any feature requests you have! I'll also be happy to discuss Jounce. It's a great opportunity to learn more about all of the open source projects available while having direct access to the creators to share how we can make those projects better for you.
In addition, I'll be participating in a Microsoft geekSpeak show on April 20th at 12:00pm PST / 3:00pm EST. You are free to call-in and ask any questions you like, so it will be a highly interactive session. This is the power of the Internet: you can participate from anywhere around the world, so if you are interesting please register and join me there.
Thanks, I appreciate all of you who read and support this blog. Now that I've shared my thoughts on the upcoming Silverlight 5 release and Microsoft's position, what are your thoughts? Share them through the comments below.