Showing posts with label Silverlight. Show all posts
Showing posts with label Silverlight. Show all posts

Sunday, March 22, 2009

Silverlight 3 a tipping point, Mac development available

Nearly two years ago I asked Where are the Silverlight developer tools for Mac?. Well we have the answer, there is a plugin for Eclipse called eclipes4SL which allows Mac developers to write Silverlight applications.

Inflection Point
I am not vouching for these tools, I have installed them, but I don't know enough about the specifics of Silverlight (yet...) to make a claim either way, but the world has changed. With development tools in any form on the Mac, Silverlight as a long term cross-platform solution just became real.

Silverlight 3
I don't know if the Mac dev tools were out before Silverlight 3 was announced on Wed. March 18 at MIX09, but I found out about them through Tim Heuer's guide to Silverlight 3 features. Silverlight 3 addresses some more of my concerns for the environment. Native H.264 video/ AAC audio is included. Silverlight 3 applications can now run outside the browser, probably to compete with Adobe Air.

Evaluation Time
I recently started thinking about using Silverlight for a redesign of one of the day jobs primary .NET apps. The Silverlight 3 announcements, and I haven't even begun to process the actual development enhancements, make evaluating Silverlight an urgent day job task. The mental calculus also got a lot easier between Adobe Air and Silverlight with the alarming resource usage of a couple popular Adobe Air apps, Twhirl and TweetDeck, documented in this tweet and this one.

Monday, April 21, 2008

Where is the Silverlight nag install controversy?

Silverlight install prompt
(click for full screen install image)

After following the Safari 3.1 on Windows installation controversy here, here. and here, I can't help but wonder why anyone that has to go to Microsoft.com on a regular basis hasn't cried out in agony at the unavoidable prompt to install Silverlight. Here's how this is a horrendous user experience:

It is unavoidable. Think Emperor Palpatine's voice from Return of the Jedi. No matter where on Microsoft's site you go to, MSDN, Mactopia, Sysinternals, you are going to get prompted to install Silverlight.

You can't ignore it. No matter how many times you click the X on the prompt, go back to the Microsoft site later, you are going to get prompted again. Over and over and over again.

It's a roadblock to whatever you are trying to do. Instead of the prompt being unobtrusive and just happens to show to anyone without Silverlight installed in a corner somewhere, no, it is a modal prompt for Microsoft.com. click here to see the full "experience"

Update
Ed Bott posted a comment on this post which included a link to a post of his own. His comment seemed like he was trying to help, but confusing because as I clearly show in the screenshot above, there is no "No Thanks" next to the X. I went to his post, where I was greeted with the unfriendly title Generating fake outrage over Silverlight. Clearly, Ed thought I was trying to counter the posts about the bad Safari on Windows install prompt experience (which again I think is bad), which is not the case. I thought it strange that no one, either Windows or Mac focused, had said anything about the poor user experience I was seeing with Silverlight install prompts on *.microsoft.com (the star is very important) with all the talk of Safari on Windows floating around. In Ed's post, he provides one piece of invaluable information, the screenshot of Firefox with the Silverlight install prompt cookie name, to solving this tech mystery. I could have done without the condescension (Side note: of course I have heard of cookies Ed, but it shouldn't have to be my job to figure out the *.microsoft.com cookie strategy to not be prompted to install Silverlight), but a tip of the hat to Ed for at least providing the screenshot. This is what is going on:

Ed is absolutely right that if you go to www.microsoft.com, you see these prompts (click for larger versions):

Internet Explorer 7Firefox 2.0.0.14Safari 3.1.1

When you click on No Thanks (X) on any of these, a cookie is put on your machine that expires in 1 month (click each image for larger version):

Internet Explorer 7Firefox 2.0.0.14Safari 3.1.1

How am I seeing a continual prompt to install Silverlight then? You have to understand how I have been using the microsoft site. I hadn't gone directly to www.microsoft.com until yesterday. I only go directly to other dedicated hosts, these are the two I have been using most, and I was testing with yesterday:


If you visit either of these sites in Internet Explorer only without the www.microsoft.com cookie, you get the original prompt I show at the top of this post (Firefox and Safari do not offer this prompt even without the cookie). If you click the X on this prompt, no cookie is ever set to record your choice of not wanting Silverlight. Here is the state of my IE cookies before going to MSDN, after MSDN loads but before hitting X on the Silverlight prompt, and after hitting X on the Silverlight prompt (click for larger images):

Internet Explorer Cookies Before Going to MSDN
Internet Explorer Cookies After Going to MSDN, but before clicking X on the Silverlight install prompt
Internet Explorer Cookies After Going to MSDN, and after clicking X on the Silverlight install prompt. Notice no change (other than my slightly different cropping of the window)

There is also some kind of session timeout involved in seeing the prompt in IE. If you haven't been to either of the above sites I list in some time, then you will get the prompt to install, and you can get them to display back to back. I have been seeing this for well over a month. Ed posted another comment saying that Silverlight devs/support techs know about this and it's a rare bug. That said, if you have the cookie from www.microsoft.com in your browser, you won't see the prompt on sub-sites, well at least for a month, so unless on the other hosts this gets fixed/changed or the cookie expires, you can use that as a workaround

One final point, I have nothing directly against Silverlight (I have concerns about it, but I talked about those last year). I am just trying to keep a development VM clean from unwanted software, to get as close as possible to a known deployment target, and Silverlight is not on the manifest. Obviously, just installing it is the most permanent workaround, and I have had the beta's installed on OS X for a long time. Read my other Silverlight posts

Thursday, March 13, 2008

Amusing anneceote

I'm in a Microsoft Developer Days event in NYC and watching a recap
slide on MIX '08. We got to the point when PowePoint is supposed to
show an example of silverlight's adaptive video steaming, and is just
doesn't work. Presenter blames it on PowerPoint, not confidence
inspiring...

Wednesday, May 02, 2007

Silverlight makes AJAX an endangered species? I don't think so.

Dare Obasanjo aka Carnage4Life says Silverlight: AJAX is now an Endangered Species. Here is what I wrote in the comments:
While Silverlight is certainly an exciting development, Microsoft has s serious credibility problem with cross-platform solutions. They killed IE for the Mac, Windows Media Player for the Mac, Microsoft Messenger for Mac is nowhere near feature parity with Windows Live Messenger, Remote Desktop Connection for Macs still PowerPC only and isn't on par with the version in Vista, Office for Intel Macs has lost VBA (and still hasn't shipped), Virtual PC for Mac is pushing up daisies...am I to seriously believe after this long trail of corpses that if Silverlight "wins" then Microsoft won't choose to kill it too for Mac?

Silverlight looks exciting as a .NET developer because I can transfer those skills to Rich Internet Applications (RIAs). But if I care about cross-platform at all, Silverlight looks high risk. Microsoft's track-record just isn't great. I would think they nearly need to publicly state that Silverlight will be developed cross-browser and cross-platform for, say, 10 years to ease fears that they aren't going to pull the rug out. Or instead of a pledge, port Visual Studio to OS X :-)

Monday, April 30, 2007

Silverlight: Differences between the 1.0 Beta and 1.1 Alpha

This could be big. At Mix 07 Microsoft significantly augmented Silverlight. I watched the keynote, and I was a little confused at first, but here are the important bits from my perspective:
  • Silverlight 1.0 Beta for Mac OS X. Replaces the WPF/E CTP plug-in. Works on OS X 10.4 (though MS reqs don't say so, but Safari version is a giveaway) in Safari 2.0.4 and Firefox 1.5.0.8 + 2.0.x.
  • Silverlight 1.1 Alpha for Mac OS X. Big deal here is that this release includes a subset of the .NET CLR. How much? I haven't found anything that says truly yet. Works on OS X 10.4 (though MS reqs don't say so, but Safari version is a giveaway) in Safari 2.0.4 and Firefox 1.5.0.8 + 2.0.x.
  • Silverlight 1.0 Beta for Windows. Works on Vista and XP SP2 in IE 6, IE 7, Firefox 1.5.0.8, and Firefox 2.0.x
  • Silverlight 1.1 Alpha for Windows. Works on Vista and XP SP2 in IE 6, IE 7, Firefox 1.5.0.8, and Firefox 2.0.x
  • Silverlight 1.0 SDK. Credit to ActiveWin for linking to this. This isn't just for Windows, its for Mac OS X too!! This is not Visual Studio for Mac OS X, but it does start to answer the questions and criticism I and others leveled against MS for not inviting OS X developers to the party. I haven't fully dove in, and you will need to install Chmox to read the documentation since it's in Compressed HTML (CHM, pronounced chum) files. I actually didn't realize this existed, which is really cool.

What in the bits on OS X?
This isn't immediately obvious, but the Silverlight 1.1 Alpha is a superset of Silverlight 1.0 Beta. How do I know? By inspecting the files, installers and the plug-in. When you install Silverlight 1.0 Beta, this is what the installer package looks like immediately before letting it rip:

When the installer is done, this is what /Library/Internet Plug-Ins looks like:

So what's inside? Right-click on on the .plugin and click Show Package Contents. Then go to Contents/MacOS and this is what you see:

Look at the size of agcore and the Date Modified.
Now install Silverlight 1.1 Alpha. The first thing that set off my spidey sense was that the Install button had changed to Upgrade:

What a minute? This actually had me nervous at first, I didn't want to mess up 1.0 Beta by installing the 1.1 Alpha, how come the Silverlight plug-in can't have both versions side-by-side? Take a look at the contents of Silverlight.plugin after 1.1 Alpha is installed:

Talk about file explosion. The immediate most interesting thing is that agcore is the same size and has the same Date Modified with 1.1 Alpha installed as with 1.0 Beta (to bad there is no version info on these files). Ah hah, agcore is the same in both 1.0 Beta and 1.1 Alpha, thus 1.1 Alpha appears to be a superset and you can install it without fear of breaking code that uses 1.0 after you install 1.1. In fact, I think you can install 1.1 Alpha and just skip 1.0. The other clue to this is the info windows if you extract the plug-ins from the installer packages and Get Info on both:
Notice the version is the same, 0.8.5 (side rant: why isn't this at least 1.0.0? Oversight or more weird Microsoft versioning?). I kind of hope that MS preserves multiple version of Silverlight.plugin to avoid code conflicts, like the full .NET runtime does with major version releases. The packaged format of the plugin on OS X doesn't really support that right now, but no reason that I know of that couldn't be the case. It seems that's partially the beauty of the .plugin bundle on OS X, you can put just about anything you want in there, but my understanding of how files are loaded and referenced inside a bundle is pretty limited, so I could easily be glossing over a much more complicated problem. One more thing of interest, inside the plug-in is another bundle, CoreCLR.bundle, which has the following contents:

All and all, I am very excited about the possibilities. I am not ready to proclaim that Microsoft has changed the game as Robert McLaws has, but they certainly look like stronger competition to Flash/FLEX/Apollo than before today. I also can't believe that McLaws is correct and that the .NET CLR subset in Silverlight 1.1 Alpha is a stepping stone to MS having the complete .NET Framework running on Macs and PCs. I'll believe it when I see it.

Wednesday, April 25, 2007

Where does Apple stand on Rich Internet Applications?

Ryan Stewart @ ZDNet.com asks because Steve Borsch is wondering, who was pleased when Ryan Stewart originally asked the question and later followed up with predications for the Rich Internet Applications (RIAs) space. Confused yet? Here's the gist of all 4 posts.

Apple is great at application experiences, has Quicktime on 50 million (take # of iPods sold and divide by randomly picked divisor) Mac+PCs, and Adobe and Microsoft are already in the game, when is Apple going to drop the hammer and make Quicktime a ubiquitous cross OS runtime for RIAs?

An interesting theory, but that's all it is. If you believe the desktop is dead and that Apple is "skating to where the puck is going, not where it's been", then it seems Apple has to get into the RIA game. Could Eric Schmidt, Google's CEO, joined Apple's board for related reasons? That is just as much idle speculation, which is great fun, but doesn't give us any answers. Unless a cross OS runtime is one of he Leopard "Top Secret" features, there is near zero evidence that Apple is going to play in this space at all. If that were true, I for one would be shocked. But let's look at what we know is coming in Leopard:
  • Core Animation. Click on the link, watch the demo, and imagine fluid easy to develop animation being added to all of OS X and applications. Sweet right, but this is going to differentiate OS X from Windows and Linux, with RIAs nascent right now, no way Apple gives away the new crown jewel to knife Leopard in the back...yet
  • Xcode 3.0. No sign of a declarative user interface generation tool, its drag-n-drop and binary nib files for the foreseeable future.
  • Objective-C 2.0. The most complete and serious overhall to the Cocoa runtime and Objective-C language since, well possibly it's inception. Objective-C and more importantly the Cocoa runtime has been cross OS before, so its tempting, but this combination is another key differentiator that makes OS X apps what they are.

Looking at that list of developer technologies, it seems like Apple is doubling down on OS X desktop apps. With OS X inside Apple TV, iPhone, and eventually iPod, where do they have time to put together an RIA platform?

Follow the Money
Why does it make sense for Adobe and Microsoft to develop and give away a cross OS runtime? Because they have tools, lots of them, for you to buy to build stuff for their respective run-times, and they will be competing nearly head-on now, from design through development. How does Apple make money? The same way it always has, selling hardware. Software is a necessity to move hardware, which is why Apple develops an increasing number of applications itself, keep their hardware different from everything else. Xcode is free with every Mac and free to download if you simply register as a developer with Apple, no money involved. Adobe and previously Macromedia have been Mac OS supporters (in all its forms) for a long time. Apple moving to compete directly against Adobe in a total war seems nearly out of the question. The Intel version of Creative Suite 3 is going to move a lot of Macs (witness the cross promotion), and it doesn't hurt that at least some are finding the OS X version a better performer than the same version of the product running on Windows.

Monday, April 23, 2007

Where are the Silverlight developer tools for Mac? Also, new Bubblemark tests.

The Furrygoat Experience says Silverlight: No Mac Love? Wait, Silverlight (I actually like this name, but given the first name, how could it not be better) WPF/E runs on the Mac, what's this person talking about? He's talking about no Mac developer love, no development tools, no documentation, and no HD VC-1 encoding (required for Silverlight, hello, get H.264 in there) tools are being offered by Microsoft, and in some cases for no good reason (at least through the documentation bone).

I downloaded Silverlight, the runtime formerly known as WPF/E, back in Feb when it was first released, and I too was disappointed that on the Mac all you got was the runtime, but then I didn't think much more about it because this is Microsoft and it is exactly the sort of thing you expect.

Speaking of Silverlight, bubblemark.com has a new 3D demo. This is in addition to all the other 2D tests I had run back in Feb, which compare Silveright to Flash/Flex. There are now some Apollo apps to run as well. The 3D Silverlight demo on my MacBook Pro was getting 9 fps, that's not a typo, and Safari is using about 105% of my two cores. The Apollo 2D demo was getting 93 fps using 60% of my two cores. I didn't shutdown anything to run my tests, including Parallels.