Singapore Silverlight User Group – Nov 2011 Meetup

Uditha Sampath Bandara, the first XNA MVP in South East Asia, will be visiting to Singapore this month. We invited him to share his experience in XNA with our group members on 21st of this month.

Here is the detailed agenda.

Title: Windows Phone 7 Game Development.

Date and Time: 21st November, 2011 ( 7 PM to 9 PM )

Speaker: Uditha Bandara. XNA/DirectX MVP.

Profile: Uditha Bandara is specializes in Microsoft XNA Game development for Windows Phone, Xbox 360, PC, and Zune. He is the South East Asia`s First XNA/DirectX MVP (Most Valuable Professional). He had delivered sessions at various events and conferences in Singapore, Hong Kong, Sri Lanka and India. He has published several articles, tutorials, and game demos on his XNA Game Development Blog – http://uditha.wordpress.com/

Location : Microsoft Singapore – 22CF-15

Admission : Free

Silverlight Diagram Editor

One of my MVP friends shared us a pretty awesome demo that his team created as a part of their Silverlight Diagramming Engine SDK new release. That demo application is called “Silverlight Diagram Editor” and you can see it in action from the link below..

Demo Linkhttp://silverdiagram.net/Scripts/SD.Editor.html

There are some sample apps published in codeplex but the source code of this editor is not included for now. Our Mvp friend “Braulio” who is also one of developers of this SDK said that it will be published in codeplex very soon.

Another thing is that you need to download the SDK from this link in order to compile the project because the sample project from codeplex is missing some of assemblies from SDK.

I think it’s really good to see the product or demo application like that during this time especially when we keep on hearing all those news about the death of Silverlight.. Things are more interesting when Microsoft Former Project Manager “Scott Barnes” posted a rant “Why Silverlight was destined to fail and my time as one of its custodians” about Silverlight in his blog. His post was very long post and full of MS inside information.. Unfortunately, he deleted his post so it’s not available for you to read it now. Anyways, I don’t want to give any comment about Silverlight for now.. I just want to share a cool thing that I found with my Silverlight community….

Windows Phone 7.1 (Mango) – Tcp Socket acts differently on emulator and device (HTC Mozard)

It’s just a quick post to share one strange behavior that I found when I was using Socket in Windows Phone 7.1. project.

The issue is that when I run this piece of code on device, I always get “SocketError = Success” all the time. I reported about it to Silverlight team but didn’t hear anything yet. Does anyone have experience this issue with socket?

private void Button_Click(object sender, RoutedEventArgs e)
{
            var socket = new Socket(AddressFamily.InterNetwork,
                SocketType.Stream,
                ProtocolType.Tcp);

            var ipAddress = IPAddress.Parse("192.168.10.37"); //This sample is for showing error.. this ip address doesn't count much.
            var args = new SocketAsyncEventArgs();
            args.RemoteEndPoint = new IPEndPoint(ipAddress, 22222);

            args.Completed += (_, evt) => {
                this.Dispatcher.BeginInvoke(() =>
                {
                    MessageBox.Show(string.Format("Socket Return Msg : {0}", evt.SocketError));
                });
            };
            socket.ConnectAsync(args);
}

Silverlight Firestarter – Future of Silverlight starts now!!!

Hi Guys! I just wanna inform you all about one special event called Silverlight Firestarter from Microsoft. This event is FREE!!  I believe that this event gonna be awesome ! man.. Wait wait wait! why I think it’s gonna be awesome? Well, I have a few reasons…  I normally didn’t blog about the stuffs ( events ) that the whole world knows already.. I’m informing you guys about this because Joha Papa from Microsoft tweeted that some awesome things planned for the Firestarter. If you have not signed up to be there, you really should. http://jpapa.me/slfs10 #slfs10 So, I’m guessing that this event will be something special.. As you all know, we had(have?) a lot of noisy about Silverlight and HTML 5, right? I really hope that this event will help us to clear some of our doubts.

Take a look at the agenda.. It’s very interesting.. The future of Silverlight by Scott Guthrie? Probably, this section might be about what its going to happen in Silverlight world.. “Profiling and Performance Tips” section would be interesting for us as well. You can go and check the official event page in this link http://www.silverlight.net/news/events/firestarter/. Note that there are two options to register for that event. You can either attend it online or at  Microsoft Conference Center/Building 33 (Redmond, US). As I’m currently staying in Singapore, I’m going to attend this event online.. :)

Silverlight Guys, What should we do next?

A couple of months back, my boss went back from Norway and UK. He met with one guy from Google. That guy told my boss that HTML 5 is the future and we should be more focusing on HTML 5 than Silverlight that we are currently using. When my boss back to the office, the first question that he asked me is whether we should move to HTML 5 instead of Silverlight for our next products. To me, this question is NOT something new because I know that it’s just a matter of time. Someone will ask this question sooner or later. I even asked myself a lot of times since long time back. I’m working with Silverlight but I’m also watching HTML 5, CSS 3 and ECMAScript 5 (JS 1.8.5) very closely and I even subscribed to HTML 5 working group mailing list so I guess I know what’s happening in both Silverlight world and HTML 5 world.

Coincidently, what top guys from Microsoft said at PDC 2010 makes a lot of noise in Silverlight community and etc so we got a bit of tiny noisy in our office as well. So, I’m writing this post to share how we can simply answer this kind of question and some of my thoughts about “Silverlight Vs HTML 5″ debate. If you are running a company and having some doubts in investing money on Silvelright for your future products then I hope this post might help you to clear some of your doubts. But of course, I’m not a big guy from any giant company and I have no control over both Silverlight and HTML 5 (and also, any other technology.. :-) ) so I don’t mind if you think this post is crap. :) All I can say here is that I’m just a guy who loves cool technologies so this post is nothing to do with Microsoft or any other company. All are purely based on my personal point of view.

The first thing that I consider is the status of HTML 5. What is the current status of HTML 5? HTML 5 is still under (heavy?) development and it will take a few more times to get the final version.. Let’s forget about when the browser guys will finish the implementation.  The standard recommendation document itself has not been finalized yet. So, when will HTML 5 be finished? I think nobody knows the exact date of HTML 5 release at the time of writing. According to the WHATWG FAQ, they are no longer working specifically on HTML5. Initially, the editor estimated that they’d reach Last Call in October 2009, Candidate Recommendation in the year 2012, and Recommendation in the year 2022 or later but they also said that they are no longer working on it so we don’t really know what it will be finished as well. Let’s take a look at how many browser supports how many percentages of HTML 5′s new features now. (Note that there might be a lot of ways to test those new features in browsers but a simple guy like me uses very simple “Acid for HTML5” website in this comparison. )

  • Google Chrome (version : 7.0.517.41 beta) :  231 and 12 bonus points
  • Safari (on Windows) (version: 5.0.1 (7533.117.8) : 207 and 7 bonus points
  • Opera (version: 10.63) : 153 and 7 bonus points
  • Mozilla Firefox (version: 3.6.10)   : 139 and 4 bonus points
  • Internet Explorer 9 (version:9.0.7930.16406) : 27 and no bonus points

Note: According to the IE Test Center, there are a lot of tests and IE 9 is the top one among other browsers. I’m not really sure about those tests and I don’t know the differences between “Acid for HTML5” and IE Test Center. Please feel free to drop a comment if you know the differences. Thanks.

As you can see, each browser has different scores for HTML5′s new features. Can you guess how long it will take to have all browsers support all new features of HTML 5? Do you remember the time when we were in Ajax world and we did suffer a lot for implementing different tricks for different browsers?

If you look at Silverlight world, we are hitting the version 4 already.  Silverlight works perfectly the same in the following browsers.  So, it will save a lot of times for implementing a lot of hacks for different browsers.

  • IE 6 (SP1. SP2), IE 7, IE 8 and IE 9
  • Firefox 3
  • Safari
  • Google Chrome

But I didn’t say that both Silverlight and HTML 5 are cross-browser thing. Well, we started learning Silverlight because MSDN mentioned that it’s the cross-browser but the truth is that the term “Cross Browser” can be different from person to person. Does “cross browser” means it works in each and every browsers and on each and every platforms?  Trust me, there is no such a thing that works in all browsers on all platforms. So, does it mean all major browsers and major platforms? Well, Microsoft doesn’t support Linux platform officially until now.  So,  Let’s be realistic. how many browsers supports all features of Silverlight and all features of HTML 5? As I mentioned above, there is currently no browser that supports all features of HTML 5 (and nobody knows what the all features of HTML 5 are until WHATWG releases the recommendation. ). For Silverlight, there are four browsers that officially support by Microsoft and all of Silverlight features will work the same on all supported browsers. Do you see the big differences?

What about tools and languages? HTML 5 is everything. It’s just a markup language so you will have to use at least Javascript and CSS in order to develop HTML 5 websites or applications. Sometimes, we may even want to use any server-side script like C# or Java or Php or etc. If you are using Silverlight, you can use the managed code like C#, VB.NET and etc. But one thing for sure is that there is no good or bad thing in choosing languages. Some developers love Javascript and some prefer C#. It’s all about personal preferences. I love both C# and Javascript. But For our company, we already have the applications which are developed in Silverlight. So, converting all applications to HTML 5 with Javascript is a huge thing to do for us and it has no big value for us to do that as well.

As of now, HTML is damn hot because the most of us are assuming that all browser guys will be supporting HTML 5 in all browsers so once we develop one application in HTML 5 then it will be able to run on each and every browsers or platforms. one shot, all bird dies! nice, huh? But wait, does all browsers support HTML 5 now? Nope. I already mentioned the comparison above. Is all browsers going to support HTML 5 very soon? Not likely. I’m pretty sure that it will take some time.. maybe. 1 or 2 years..  4 or 5 years.. or even more..

So, what should we do next?

Well, it’s very obvious that it’s still safe for us to use Silverlight for our products. Did Microsoft’s strategy and focus shift to HTML 5? We don’t know.  Bob Muglia, President of the Server and Tools Division at Microsoft, mentioned that Silverlight is very important and strategic to Microsoft and they will be working hard for next release of Silverlight in his post. But he didn’t mention that the strategic didn’t shift. So, we can also assume that the strategic might has been shifted but will be still investing money on Silverlight.. Nobody knows it is going to be less investment or not. However, I’m very sure that Silverlight still have big future… Silverlight is not just for web after all. We can use it for developing the out-of-browser applications and Windows Phone 7 applications as well.

But of course, as a developer, we can’t totally depend on one technology only. So, it’s better if we should keep our eye open for other interesting things including HTML5/CSS3/JS1.8, Node.js, Google Go and etc as well so we can use it when we need it. :)

What do you think? :)