For the last two years, I have been working almost exclusively with Free Software. The last time I decided to have a looksee at the proprietary software, it was a MIND event which focused solely on Microsoft software. I was distinctly underwhelmed during the event because the speakers seemed to carry a strong anti Open Source agenda (which was an unfortunate irony as we later saw a speaker using Python extensively in his application). In any case, I thought it was high time to see the technology Microsoft has been developing recently. So, when I saw Jeff Ooi writing about a blogger's meet showcasing Microsoft software, I thought I'd register and see what the software giant was up to.
Sembang Tech Ed 2007 was held yesterday (Sunday) at Bangkok Jazz Bar in Chulan Square. I arrived on time but apparently there was a lack of parking, so a further 20 minutes was spent hunting for parking. No matter, I arrived slightly late with high expectations and discovered that the event was starting late anyway.
Oliver Scheer (Microsoft Developer Evangelist Germany)
started off by speaking about Microsoft Silverlight. Well, actually he started off by saying "I can code, I can develop" in an Arnold Schwarzenegger voice to emphasize his developer skillz. It was bizarre enough that I had a good chuckle over that. Anyway, he went on to give a demo of a Silverlight application which can be used to book airline tickets. This demo has been online for quite some time to highlight Silverlight purty-ness, so I wasn't really impressed (on a sidenote, this very same demo was again used in the TechEd 2007 keynote today morning). Is there any other impressive application of Silverlight that Microsoft can demo besides this one?
Oliver spoke about building a media player using Microsoft Expression. Essentially, he built a "self-contained" player for a specific video by using existing controls available in Microsoft Expressions. He mentioned that this player works on FireFox but gave no details as to the licensing of the plugin. I later spoke to him and he mentioned that this plugin only works on Microsoft Windows and Mac OS X, so those on other platforms (including open source platforms)- you guys are out of luck at this point in time. Well, you can dance under some Moonlight and make sacrifices to a Novell demi-god to officially support other platforms, but at this point in time at least, you're (fortunately or otherwise) out of luck.
Oliver made a specific reference to the fact that Silverlight only supports the Windows Media Video (WMV) and Windows Media Audio (WMA) codecs. This seemed to be awfully restrictive to me, particularly when one takes into account that WMV and WMA codecs are not officially licensed for use on an Open Source platform and more shockingly, the WMV codec has software patent issues which deny independent implementation by a third party. Microsoft has actually sent a cease-and-decease letter to an open source implementation of WMV, so you can imagine how restrictive the decision is to only support WMV and WMA. Oliver later told me that Silverlight also supports MP3 (which is also patent encumbered) and WAV files (which went out of style with bell bottom pants).
What about other codecs, I inquired? Oliver seemed to be flabbergasted at the thought of somebody using non-officially-sanctioned codecs and flatly stated that "in the interest of keeping the size of the runtime small, only these few codecs are installed". I decided to push my luck and ask him about streaming new codecs to the end user. Oliver told me that this is apparently impossible.
Hmmm. Woop-tee-doo.
Oliver mentioned that 40 languages are supported in Silverlight, mentioning Python and Ruby (presumably through the IronPython and IronRuby execution environments). However, despite interest from the floor on Python/Ruby support, there was no focus on using languages other then Microsoft XAML and Microsoft C#.
Color me cynical, but I've heard more marketing speak from technology
vendors then I care too comment on. A classic problem that we have traditionally seen with the
Microsoft stack is simply that components and frameworks tend to only officially
support other parts of the Microsoft stack and those wishing to use it
on other platforms have to figure out an implementation strategy on
their own. In other words, true interoperatibility works only within the
Microsoft stack: a definition that is oxymoronic in itself.
My impression of Silverlight is that it seems to be a souped up Flash player with a focus on building web applications. That in itself is fine, but as an observer from the floor noted, Flash is signficantly more mature at this point in time and is increasingly being used in the area of rich Internet applications. From that perspective, there is little new groundbreaking technology that Silverlight contributes at this point in time.
Next up, Rohan Thomas, a developer evangelist from Microsoft Malaysia, spoke on Microsoft Popfly. I had difficulty following his presentation because I had no idea what Microsoft Popfly was and only realized towards the end of Rohan's presentation that it is a hosted service by Microsoft to create mashups using Microsoft Silverlight. He showed how Microsoft Popfly supports drag and drop mashup creation and cooly informed us bloggers that the difference between Flash and Silverlight is that Silverlight renders on the client side. Whaaaaat ???
Ok, maybe the free flowing alcohol was getting to presenters too (quite understandable, if I may say so myself). Despite this gaffe, Rohan went on to show how webpages could be created through Popfly, which didn't work out too well because the Save button was hidden lower down in the page and the website didn't have scrollbar. Maybe the developers of Popfly were also enjoying free flowing alcohol in Redmond when designing this application? I didn't see anything particularly special about the webpage creator other then fancy look and feel.
In any case, I was getting mighty bored at this point in time and was contemplating leaving. I mean, mashups are cool and all but it's not exactly the next iPod, is it? Somebody in the audience had the same thought and pointed out that Yahoo Tubes and Google Mashups provide similar tools and asked why Microsoft's version was better. It was a fair comment, in my opinion. I mean, why use Popfly when there are great tools out there already, right? What separates Popfly from the rest?
Rohan answered that Popfly has Team Foundation Server running ("ooooooh"), that it's updated every two weeks ("aaaahhhhhh") and that Team Foundation Server is still in alpha and Popfly users are effectively alpha-testing it ("WTF?!!"). In other words, Rohan is saying that we should be using Popfly over Y! Tubes and Google Mashup only because Microsoft needs to be provided with free feedback on their alpha software? If this was an open source project, I'd have more sympathy to Rohan's answer but considering Popfly is as proprietary and closed as a pyloric sphincter is, I failed to see the reasoning behind Rohan's answer.
Chewy "Chewbacca" Chong (Microsoft Developer Evangelist Singapore) jumped in later and said that Popfly helped fuel much of the development in Y! Tubes and Google Mashups. Whether this is true or not is completely irrelevant. In an open industry, competition drives innovation. Just as Yahoo and Google's mashup tools forced Microsoft to enter this area, Microsoft's subsequent involvement certainly would have helped improve the general state of the mashups. That it inself is an indication of an innovative economy, not a sign of any benevolence on Microsoft's part. More directly to the point, however, is that this is certainly no reason for end users to use Popfly over Y! Tubes. Nobody from Microsoft really did satisfactorily provide an answer to why users should use Popfly over Yahoo's and Google's existing tools.
The second last presentation was by Chewy on Microsoft Home Server. His presentation focused on how easy it was to use Microsoft Home Server to control and backup machines within a home LAN. The technology itself, as Chewy admits, is not new. What Microsoft has done is to put a GUI front end to manage all the systems within the LAN. I think for those who are solely on a Microsoft Windows platform, the technology can possibly prove itself useful (if it works as advertised).
But what about the rest of us? Pffft. There is nonexistent support for non-Microsoft platforms so those on a Mac or Linux or even FreeBSD are out of luck (in my case, that counts as a triple whammy). The second problem I saw was that Chewy kept pimping the software as easy enough for his Mom to use. I'm not sure if his Mom works as a system administrator but from what I say, it's definitely not easy enough for the layperson. A closet geek maybe, but definitely not a layperson. To a real technologist, there was little being offered that could be appreciated because most of the functionality already exist in other forms. So, thanks Chewy, but I'll stick to my shell scripts and Samba mounts for now.
The final presentation was by Zeddy Iskandar (Academic Developer Evangelist, Microsoft Indonesia). Zeddy certainly had something impressive to demo: Microsoft Robotics Studio. Well, it was impressive to me anyways since I'm a true-blue geek with an electronics engineering background. I enjoyed the idea that one could program and build a robot and have it run within a virtual environment with true physics. Very cool, but unfortunately fully proprietary, which means one cannot contribute to its development and have the freedom to extend it where needed. It's strange the Robotics Studio would be proprietary when one would assume that the freedom to adapt the code to one's need would be a killer feature for the product. Hmm, I wonder if Open Source equivalents exist. Btw, Zeddy, if you're reading this - your sample code did not work in stopping the robot because you failed to explicitly include zeroing out movement in your final output.
That was that with the presentations. During the Q&A, a member from the floor asked about possible free tickets to TechEd 2007. A representative from Microsoft Malaysia (whose name I failed to capture) curtly informed those present that Microsoft, as a principle, does not offer complementary tickets to its business partners. Now, this is fair enough, except that its completely untrue. I know for a fact that several complementary tickets were offered for TechEd2007 to some companies. This answer (and the curt tone itself) turned me off quite a bit.
Anyway, there you go. That's what I saw and experienced. Microsoft certainly makes for a great host (food and free flowing beer!) but I had seriously expected more from the technology presented and from the quality of presentations. Perhaps I've been spoiled by Open Source events, where one listens to the actual developers and it is easily possible to get into the thick of things, ie to become a participant instead of a customer.
This is the stark difference I noticed between Open Source
events and Microsoft events. The former is almost always informal,
acceptive and has substantial technical details presented for all and
sundry to learn from (and contribute). The latter seems to be "Hey,
this is the latest version of a Microsoft product which has X,Y,Z
features and sells at RM $$$". In other words, Microsoft events are
geared towards making its audience Microsoft customers (as Chewy starkly admitted: "I've got a convert!") and Open Source events are geared towards making everybody a participant
in improving the software for the common good of all. The long and
short is, if what I saw was the best Microsoft had to offer today, one
could certainly be forgiven for thinking that the greatest innovations
are now coming from outside the land of Redmond.
My second observation is: where are the Microsoft hackers? You know ... the Raymond Chen's of the world. Where are they? I'm quite sure they exist but I've not met a single one, not even at today's at TechED conference.
When I was in FOSDEM this year, we had presentations directly from folk like HD Moore (security), Miguel de Icaza (GNOME, .NET etc), Andrew Morton (Linux kernel hacking), Jeremy Allison (Samba), Keith Packard (X.org) and many more. At AsiaOSS in Kuala Lumpur last year, we had Yukihiro Matsumoto of Ruby fame presenting. At FOSS.in last year, we had Malaysia's very own JayaKumar (who has contributed drivers to the Linux kernel), Rasmus Lerdorf (PHP founder) and many others presenting. I distinctly remember my first international Open Source conference, LinuxConf Australia 2005 where Tridge (of Samba fame) presented. Tridge delved deep into the CIFS technology itself and it was an incredible rush listening to him explain the design decisions made in Samba 4.
So, why are the equivalent Microsoft hackers sequestered away? All we have been meeting are developer evangelists who end up giving the same tired demos we have seen online. Hearing from the real developers themselves really makes all the difference in the world.
Anyway, I'm tired. The night is nigh, and it's a good time to end this extremely long blog post. Upon spending some time grokking the reflection of the glass of amber liquid sitting in front of me now, I believe this blog post probably wins the most number of times the word "mashups" has been written ever in the history of OpenMalaysiaBlog. Urgh., I am indeed feeling sick now.
ps: A note to Chewy: Prime numbers actually start from 2, not 1 :)