Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Thursday, January 31, 2008

Feedback on HTML 5: Bury it!

W3C drafted new resolutions working draft for HTML 5, which may (I repeat "may") be available as a standard in couple of years, even if W3C convince all legacy browsers to be compatible to new drafted standards,  I for one don't see HTML 5 to be ever be accepted within developer community, I am actually surprised that W3C even bother drafting a new standards for HTML, there are not many developers who use HTML as their basic language, HTML is only used to render web pages at Client, no matter how far they stretch it HTML will still perform short with user interface,  scripting or managed code.

I am basing my judgement in accordance to the new and emerging technologies such as Silverlight, Flash, AIR, SVG, XUL, Java FX. HTML was thing of the past HTML was usable when Internet was accessed with a 56K dial up modem by the masses, that is just about a decade ago, we are still using HTML due to lack of proper browser standards but with new technologies especially Silverlight that is not going to last long.

Suggestion to W3C: Its about time we bury HTML deep where it actually belong and move ahead instead of going backwards.

Tuesday, January 22, 2008

Silverlight doesn't require .NET to run

In my previous post I have discussed about why Silverlight development in not traditional, and I talked about the biggest issue user and developers have with Mouse Button, I have made a list and I am trying to point and clarify all the misconceptions about Silverlight that are associate with traditional web development, where developers just expect thing to be like they were in ASP.NET or HTML.

When I first started with Silverlight I was a bit frustrated because nothing seem to work as it was meant to be I was expecting .NET libraries, resources and just about anything that I knew about traditional web development, the first day I started with Silverlight 1.1, I saw "Hello World" example and then decided to replace that text with a random number, I have used Cryptography quite a lot earlier and I like to use PRNG random number instead of Random, and so I wanted to import/include System.Security.Cryptography and I failed, I tried again and failed I tried System.Data failed, I tried System.Speech failed, this was too much for me and frustrated I gave up. Silverlight altogether.

And had it not been for a boring weekend few months later and that moment of curiosity of why I can't import those libraries in my Silverlight application, I would never have bothered with Silverlight. I think there are many developers out there who try what I did and who gave up the way I did, and the only reason is Silverlight is untraditional.

So what exactly am I bragging about? And what is so untraditional about Silverlight that I got wrong ? Why Microsoft restricted access to them libraries? Why was my misconception? Or did Microsoft really restricted libraries? The answer is simple and the impact is big.

Silverlight doesn't require .NET framework at Client/Server.

Huh? What? But Silverlight require .NET 3.5 isn't? Yes, of course it does! Is it confusing? Ok lets first talk about Silverlight Plug-in, do you know that "Silverlight is cross-platform"? And Silverlight plugin (1.0, 1.1, 2.0) is/will be in few MBs, So do you expect to installed all the framework in that few MBs? Or do you propose to install .NET framework on Mac/Linux? And do you also know that you can host Silverlight application on Linux servers (without .NET framework), just by setting MIME types for XAML?

So we don't need .NET framework on Client or Server?

That's what I said, didn't I?

But we need .NET framework 3.5 for Silverlight!

Yes, you need .NET framework 3.5 for Silverlight applications but not to host or render them in browsers, you need the framework to compile the Silverlight application. You need .NET Framework at compile time and not runtime.

So what does it mean to Silverlight applications? And what actually happen?

Silverlight when complied creates a DLL (Dynamic Link Library) which includes all embedded resources (if any) along with the complied managed code, Silverlight compiler uses .NET Framework 3.5  to compile this library, when a Silverlight application is initiated with Silverlight plug-in installed, the plug-in tell the browser to go and download the DLL or the downloader object and interprets the DLL to the browser to render or perform tasks.

So it means Silverlight can only include that libraries that Silverlight plug-in (running at the client) can interpret?

Yes and it is the reason you can't include any library reference in Silverlight.

Coming back to the examples for libraries that I have given earlier System.Security.Cryptography, System.Data and System.Speech. Since database is always present on the server, there is no point in using System.Data in Silverlight ever, Silverlight works in a browser sandbox and can't access generic hardware so System.Speech is out of question, but System.Security, well there is something that we can expect to use in Silverlight but can't because of choice, again System.Security uses .NET framework so the plug-in should be able to interpret it by itself, and if it is implemented then the plug-in size might increase by another 1MB, so the plug-in size will increase with every library they include, and while Microsoft is struggling with adoption of Silverlight, consider to include these libraries.

So what libraries will be included in Silverlight 2.0? And how big the plug-in will get?

That is Microsoft to answer, not me. And I am glad I don't have to make that decision to balance plugin size.

Microsoft pushes Silverlight Plug-in

From today, IT Administrators can bunch install Silverlight plug-in (1.0 of course), on all Windows machines on the network using Windows Server Update Services (WSUS). The plug-in is available from Microsoft Update, for more info check the Microsoft Update Team Blog.

The plug-in however is Optional (perhaps for  the legal battles with other browsers) and is available as "feature pack", and will require accepting EULA.

But within two weeks, February 12 to be precise, Microsoft will push the plug-in with automatic updates program, from the Microsoft Download Centre, and the install will be again Optional but Windows Genuine Advantage (WGA) free. This is made available with the Internet Explorer 7.0 update as WGA free, for more information check knowledge base

Wednesday, January 16, 2008

Future of XBAP

Back at Mix'07 when I first heard about XBAP I thought it could prove very handy in coming years and I was expecting to see many applications in coming months build on XBAP, but the last time I had a healthy discussion about XBAP developers was in Nov'07, well that was about 2 months ago, as it happens I had that discussion just before we heard about Silverlight 2.0, so why is no one interested in XBAP anymore?

XBAP only came to existence because Silverlight (at the time 1.1 Alpha)  didn't provide the basic user controls, binding options, and many restrictions on Silverlight usage with assets and/or web services, Silverlight applications mostly lack the infrastructure to use .NET framework so the only option was XBAP.

XBAP was simple and neat idea build on WPF but when it come to universality, it lacked cross platform compatibility over Mac/Linux. But when Silverlight 2.0 was announced with user controls, binding, grids and to lift many restrictions like cross domain calls, and providing support for web services methods like SOAP/REST, the idea of developing XBAP applications just began to fade away.

So with Silverlight 2.0 Beta 1 to be released in next 6 weeks what is the future of XBAP? Its not a simple question and personally I am a bit optimist and would love to say good byes to XBAP but ever since Mix 07 Microsoft has disappointed me again and again with Silverlight, I am hoping the Mix 08 will change all that, but I am sure that after a few months after Silverlight 2.0 is released developers might again start to talk about XBAP but this time for some other features that Silverlight might lack mostly with 3D or networking supports like sockets or VOIP.

After Mix08 and Silverlight 2.0 Beta 1 is released I'll try to post the features that Silverlight 2.0 lacks and in what situations would XBAP could be used, if at all. Please stay tuned.

Sunday, January 6, 2008

Silverlight News at CES 2008

Bill Gates presented his last keynote at CES 2008 today at Las Vegas, and since Microsoft have announced many products at CES in the last few years including XBOX 360 and Microsoft Vista I was hoping against hope that we might get few announcements for Silverlight.

But disappointedly no, I had asked Scott Guthrie earlier this week about the Silverlight 2.0 tutorials he had promised back in Nov 2007, he seems to be excited about it and said that he might start it in next couple of weeks. It got my hopes up that we  might see early release the Beta before Mix 08 (which was very unlikely).

Anyway, there were actually no major announcements from Microsoft just a preview of what we might expect at Mix '08 later in March. But Microsoft have announced NBC's plan to host video coverage for Beijing Olympics starting 08-08-2008, and NBC will be using Microsoft Silverlight for the video coverage.

This is not such a big news but by August, the user adoptability of Silverlight will be much higher and Microsoft will be pushing to release Silverlight 2.0 Final by then.

 

Wednesday, December 26, 2007

Silverlight 2.0 - Unicode and Full Font Support

In Silverlight 1.1 Alpha Microsoft included only English Language support  for text and there are only 9 fonts available, 8 normal text fonts and a symbol font without any Unicode support.

Additional font support is available as downloader objects, the font not specified by default in Silverlight applications should be downloaded in cache along with other assets.

The reason for this is that Silverlight 1.1 Alpha applications run in a sandbox within a browser, the font directory is a systems directory and the security restrictions restricts the access of the system directory to the application. Microsoft could have included more fonts for the Silverlight plug-in but to reduce the size of Silverlight plug-in, it was restricted to total of 9 fonts.

However, because of this reason, there is no Unicode support for other languages, if a desired Unicode is required the font should be downloaded as downloader object into the project solution. For complex scripts like Chinese, Japanese, Arabic or Hindi the font size could be anywhere between 6 MB to 12 MB, resulting in the client required to download the font again, where it normally is already available at client's system directory.

Microsoft,  although not officially commented to do "something about it" in Silverlight 2.0 beta, as far as I am concerned it is an entirely essential to include the support. But how Microsoft is going to allow access over cross platform to a system directory from a sandbox,  is yet to be seen, this could easily end up catastrophic and could leak security flaws.

My prediction is that Microsoft is going to follow the same path as Silverlight 1.1 Alpha applications that is loading non available fonts as downloader objects, but at the same time they are going to allow Silverlight plug-in to check the systems directory for the availably of the font and if the font is available then make a copy of the font in the working cache directory for easy access, if no Font is found then it can download the font as a downloader object.

This scenario could solve  the problem not just for Unicode support but makes any Open Type (otf) or True Type (ttf) fonts to be available to the user.

I would rate this feature as a must and Microsoft also realised the issue so do expect to see it in Silverlight 2.0 Beta in March 2008.

Apart from that, I would also like to see the Silverlight SDK engine to allow all fonts available at design time, by automatically including the font in the project solution, not as an embedded resource, but as resource asset

Overall, I hope font support in Silverlight 2.0 will get better but how better depends on how serious Microsoft is going to take this issue. So I would rate this font feature expectancy as 5/5

Monday, December 17, 2007

Silverlight - as desktop application.

Silverlight, the Microsoft's weapon in RIA wars, it is the revolutionary technology determined to change the web trend. Microsoft coins the term "for the web" when referring to Silverlight applications,

"Deliver media experiences and rich interactive applications for the Web that incorporate video, animation, interactivity, and stunning user interfaces."

- Microsoft Silverlight

It is clear every since the announcement of Silverlight at MIX'07. Opening the key note at MIX07 Ray Ozzie Chief Software Architect at Microsoft emphases the need for creating web application that provide the power of desktop computing on the Internet, and Silverlight is clearly the best approach.

Microsoft already had the .NET infrastructure in place for ASP.NET applications and Windows Forms and the introduction of .NET 3.0/WinFX (WPF/WCF/WF)  was the final nail in bring the best of the Internet services to the desktop computing.

With Silverlight, Microsoft is clearly targeting the best of desktop experience with Internet services. Many developers have been asking about running Silverlight applications standalone, from a drive or folder,as platform independent desktop application. This however beats the idea of Silverlight,  Silverlight is developed to provide desktop applications on the web. But because of  its architecture, Silverlight can also be run from a local location, (in Silverlight 2.0 can also access any web services). Microsoft have market leadership in desktop platform about 85% - 90%, and its only fair on developers to expect cross platform compatibility for the tools they develop, but Microsoft ignored them - till now.

Microsoft have always had monopoly when it came to platform, they would go out of their way to make sure that Microsoft desktop application are platform dependent (i.e., Windows) but rapid expansion of web applications is making "the web" another platform which is totally independent, and Silverlight is the solution for this scenario and as Ray Ozzie said "Silverlight bring the best of desktop applications and the best of web services - together".  It is be true the other way around.

Microsoft is penetrating deep in Adobe's territory, and Adobe is trying to gets its share from Microsoft's territory with Adobe AIR, Adobe hopes that it would gain a share of the market from Microsoft, I am not being critical of Adobe, I genuinely think Adobe AIR is a brilliant idea, but Adobe had this brain wave at the very wrong time, if you happens to know history being in the right time and right place is very important, you won't disagree with me if you have a look at Java and its history.

Adobe AIR can't compete with WPF applications, but if cross-platform compatibility is concerned, watch out Silverlight 2.0 is coming and Mozilla got a trick up its sleeve to help Silverlight archive it.

Mozilla the makers of FireFox, who already have cross platform browsers, came up with an idea, split web applications out if their browser and run them as desktop. They call it Prism, its a very simple idea provide a software that ideally is a web browser (FireFox), modify registry to save shortcuts on desktop/start menu/quick launch to launch the Prism instance and point to one web page/local html file.

"Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary platform to replace the web. We think the web is a powerful and open platform for this sort of innovation, so our goal is to identify and facilitate the development of enhancements that bring the advantages of desktop apps to the web platform."

Whatever be their intentions for creating Prism, to me it is nail in Adobe's coffin, and Microsoft is going to cash on it big time,  this provides development of one application in Silverlight host it on the web or tweak the same application to install and  run as a desktop application.

This people, is history in the making and I am glad to witness it and be part of it.

Sunday, December 16, 2007

RichTextBox makes Rich RIA

Rich Text Box, probability the one feature that could change the face of Internet applications for good, that would take Silverlight platform to the extreme, both in terms of usability and adoption, this might give Adobe nightmare, and one that every HTML developer looking forward to.

If RichTextBox is made available in Silverlight 2.0, with binding capability with XML, many developers might pay their last respects to HTML and CSS, and server pages (PHP, ASPX, JSP) will be used to generate dynamic XAML instead of HTML. AJAX would be replaced with Silverlight, giving developers easy to manage extensions UI.

The framework for RichTextBox adoption is already in place, developers argue that this type of adoption will restrict the search bolts to search for data inside a Silverlight control, but RSS and ATOM feeds might come to rescue.

RichTextBox is already available in WPF application and the adopted in many applications like New York Times Reader, but its availably in Silverlight is still unknown, officially Microsoft hasn't spoken about this feature, and it isn't included in Silverlight 2.0 roadmap, the probability of seeing RichTextBox in Silverlight 2.0 is slim but the probability of such a feature is still there.

Rating:

FEATURE: 4.9/5

EXPECTANCY: 2/5

Friday, December 14, 2007

Issues - Silverlight 2.0 Backward compatibility with Silverlight 1.1 Applications.

I wonder how many times Microsoft is going to disappoint the developers community or early adopters of Silverlight.

When Microsoft first announced the technology I had mixed feelings about Silverlight, and I went on to even say "Silverlight, Why should I bother?" my problem was with Silverlight 1.1 Alpha, this is what I had to say then.

"The point is, yes, ideally Silverlight is a great concept, and it would revolutionise the way web looks, feels and works and it can even compete with Adobe Flash and put Adobe out of business even if you compromise Microsoft's poor graphic designers .If and only if Microsoft can actually finish what they started...

Don't take me wrong, I am totally happy with the work folks at Microsoft are doing and the concept of Silverlight, I just don't see the point of launching alpha version of a software that have a very long way to go and every one know what is missing. In days to come you will see Silverlight applications here and there, mostly in video streaming and few other games but the total power of Silverlight can only come to surface when Silverlight can support import of vector graphics from other formats, full security features (especially SSL), user controls (the basic controls will do), and finally database objects. "

And after seven months, nothing has changed, so I was right, they wanted MIX'07 to be a success and it pushed them to announce Silverlight 1.1. And they left early adopters waiting in anticipation for months on end then came the announcement by ScoutGu about renaming Silverlight 1.1 to Silverlight 2.0 and Beta version in MIX'08, now don't get me wrong but that is almost a year. Microsoft is never supportive of the developers, they tend to keep big secrets many suspected (including myself) that Silverlight 1.1 might take a long time to develop, but I could never have imagined that you will go to MIX'08 to announce Beta. I think Microsoft should atleast release Silverlight 2.0 Alpha by Christmas, they own these early adaptors something. I was hoping they might release Silverlight 2.0 Alpha December Preview, but it shattered with Mono's Moonlight announcement, the latest Moonlight release (1.2.6) supports Silverlight 1.1 applications, if we were getting December preview of Silverlight 2.0 then Moonlight won't have went to the trouble of release a version to support Silverlight 1.1. So that is it, we can't get to see Silverlight 2.0 till after MIX'08.

If you thought that was enough, the worst was yet to come, Silverlight 2.0's backward compatibility with Silverlight 1.1 applications was nagging me ever since Silverlight 2.0 announcement, when Tim Sneath posted Why Can't I "Go Live" with Silverlight 1.1 Alpha? on his blog and mentioned,

Silverlight 1.1 (now known as 2.0) is not ready for "Go Live" usage at this stage, and the EULA explicitly prohibits deployment in production sites.

I took the opportunity to ask him about Silverlight 2.0 backward compatibility with Silverlight 1.1  I wasn't really expecting Tim to answer as they are always secretive about future releases, but when Tim replied, the answer wasn't to my liking,

Imran, there are substantial breaking changes between the 1.1 alpha and what will become the final 2.0 release - we don't claim to be backward compatible with 1.1 alpha. However, 2.0 _is_ fully backward-compatible with 1.0 applications.

Now that is devastating, not for Microsoft but for the early adopters of the technology, Microsoft still benefited by the buzz and hype surrounding the Flash Vs Silverlight argument which only early adopters made possible, now if Silverlight 2.0 is going to be so different to Silverlight 1.1 to the extend that they can't even be compatible, then the question is what have the early adaptors of Silverlight 1.1 Alpha archived since Silverlight 1.1 was announced?

It was not about poor implementation or planning for Silverlight on Microsoft's part, every one knew what was missing, everyone know what was required, but still Microsoft went on to announce Silverlight 1.1 in MIX'07 just to create the hype in the developer community and provide the exclusive marketing with the developers.

If it was not for the early adopters of Silverlight 1.1, Silverlight 1.0 community won't have been where it is now and now we .NET developers have to start again in March after MIX'08.

I hope history doesn't repeat itself.