I’m not trolling here, I really want to know. I’d like to do some simple samples on here comparing Flex and Silverlight but I don’t want to do it bad enough to spend $249 on it. I know there is a free trial, but I’d like to compare apples to apples in this case and use a free environment for both.
Any suggestions?
One of the best places to get some teasers about new functionality coming in Microsoft technologies is Scott Guthrie’s blog. In the unlikely case you aren’t subscribed already, here is what he had to say about Silverlight 3:
Next year we will ship our next major Silverlight release -- Silverlight 3.
Silverlight 3 will include major media enhancements (including H.264 video support), major graphics improvements (including 3D support and GPU hardware acceleration), as well as major application development improvements (including richer data-binding support and additional controls). Note these are just a small sampling of the improvements - we have plenty of additional cool features we are going to keep up our sleeves a little longer. ;-)
And here’s the entire post:
http://weblogs.asp.net/scottgu/archive/2008/11/16/update-on-silverlight-2-and-a-glimpse-of-silverlight-3.aspx
These days for me, the best part of any conference or event is who I get to meet. One of the best places for this are the socials after the event or in the evenings. Joe Healy has announced (you do read his blog don’t you?) that he is holding a raffle for a limited number of spots to a social event after the MDC in Orlando on December 11. Meet the speakers, Microsoft representatives, and influentials.
Details are on Joe’s blog here:
http://www.devfish.net//FullBlogItemView.aspx?BlogID=613
The MSDN Developer Conference (MDC) is coming to a city near you. There are 11 cities hosting an MDC event:
http://www.msdndevcon.com/Pages/start.aspx
The MDC is like a "Best of PDC” event, and will have some great content. I’m honored to be included in the list of presenters for MDC Orlando on December 11. It’s $99 to attend, a lot cheaper than PDC and you don’t have to go all of the way to Los Angeles. Hope to see you there.
Well I don’t know what took them so long, but now you can load Silverlight 2 RTW apps from Silverlight Streaming. Here is my Stack Attack game running there:
http://silverlight.services.live.com/invoke/66997/StackAttack/iframe.html
I’ll update my “dogs” photomosaic DeepZoom soon.
So with the tokens I acquired at PDC to try out the Live Services framework, I was able to create a Mesh-enabled Silverlight application. It still needs some work, such as storing high scores in the Mesh, but you can see Dr. Popper running on the desktop in this screenshot as a Mesh-enabled app:
Pretty cool, and it only took a couple of hours, it only took that long because I was having a brain malfunction and forgot that I needed the tech preview version of Mesh running on my desktop instead of the release version. Pretty exciting stuff. I hope that it doesn’t take too long to open up the tech preview to more people than just those at PDC.
I’ve just returned from PDC and I’m starting to recover, what a huge amount of information in a few days. I also met some great people, from Microsoft and others. With many of the sessions available online, it really has turned the need to go to conferences into more for the social aspects and less for seeing the sessions. I’ll be catching up on sessions I missed that were going at the same time for days.
The most interesting announcement to me was that you will be able to write mesh enabled web applications that run “outside the browser” and can run in an offline mode. These can be written in Silverlight or in other web technologies. You can think of this as similar to Adobe’s AIR platform.
So how does it work? It’s actually pretty clever. I’ll do my best to explain how I think it works bet I may get some of it slightly wrong technically.
When you install the Live Mesh client on your machine, you get the Live Mesh runtime and you also get a process that you can communicate with locally that proxies your Mesh requests to the Live Mesh Server. This is the process that the Mesh enabled application talks to to get the XAP file and any data it needs. This process handles HTTP requests just like the server in the cloud does. By talking to a local server, the application can work without a connection to the internet.
Now for the outside the browser part. It’s technically not outside the browser since the applications run in a process that hosts a browser control which I would guess is the Internet Explorer control on Windows, and would probably be a Webkit based control on Mac.
I have some ideas already about how to use this new technology and I think it will make for some really interesting possibilities. Think of it as social networks for applications.
It may be one of the simpler controls in the new Silverlight Toolkit http://www.codeplex.com/silverlight but it’s one that I have to keep writing myself so I’m happy to see the Viewbox in the Silverlight Toolkit. So what’s a Viewbox? The Viewbox has been available in WPF, and it takes one child element and automatically stretches or scales it to fit the size of the Viewbox.
Consider the following Page.xaml:
<UserControl x:Class="ViewboxSample.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:scp="clr-namespace:Microsoft.Windows.Controls;assembly=Microsoft.Windows.Controls">
<Grid x:Name="LayoutRoot" Background="Black">
<scp:Viewbox Stretch="Uniform">
<Image Source="dog.jpg"/>
</scp:Viewbox>
</Grid>
</UserControl>
The Viewbox is set to Stretch=”Uniform”, so the image is scaled to fit the viewbox, taking as much space as possible while still showing the entire image and preserving the aspect ratio.
This isn’t super interesting since a grid cell can do this. However, the Viewbox has some other options. If you use UniformToFill for Stretch, the aspect ratio is still preserved, but there is no letterboxing. This is sometimes called “Zoom mode” on an HDTV widescreen when displating standard definition content:
<Grid x:Name="LayoutRoot" Background="Black">
<scp:Viewbox Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center">
<Image Source="dog.jpg"/>
</scp:Viewbox>
</Grid>
This gives the following effect:
You can also use Stretch=”Fill”, which fills the entire space but does not preserve the aspect ratio, so things can get stretched.
Now where this gets more interesting is if the child of the Viewbox is a Panel of some kind. Let’s wrap the image in a Grid and add a TextBlock as well.
<Grid x:Name="LayoutRoot" Background="Black">
<scp:Viewbox Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid Width="640" Height="480">
<Image Source="dog.jpg"/>
<TextBlock Text="Our Puppy" Margin="10" HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="30" Foreground="White"/>
</Grid>
</scp:Viewbox>
</Grid>
This produces the following result:
This key point here is to notice that the text scales along with the image. So if you want to scale your entire application to any size, for example to go into full screen mode, you can use the Viewbox to do this easily.
This morning, Microsoft has made the Silverlight Toolkit available. Shawn Burke has posted details here:
http://blogs.msdn.com/sburke/default.aspx
Lots of great new controls and theme capabilities available.
You can download the Toolkit here:
http://www.codeplex.com/Silverlight/Release/ProjectReleases.aspx?ReleaseId=18804
Back in September I said I was going to try to post once a day until PDC:
http://www.bluerosegames.com/SilverlightBrassTacks/post/Taking-up-a-PDC-personal-challenge.aspx
Ok so it's October 17 and this is my 13th post for the month. Things started out pretty well, but have slowed down considerably in the past few days. The reason is that I found out this week that our company is downsizing because of the current economy and so I'm out looking for new opportunities. I forgot how time consuming that could be.
So if you're hurting because of the recent downturn, I wish you the best. Hopefully I'll land on my feet soon and get things back to normal.
I'm speaking at the Tampa .Net Users Group next Wednesday October 22:
http://www.fladotnet.com/Reg.aspx?EventID=316
So here I was, thinking that this is going to work out perfectly. Silverlight 2 was just released, I have over a week to make sure everything runs right on the latest, etc.
Now here we are, a week away, and who would have guessed that the Tampa Bay Rays would be one game away from the World Series? (Well actually I would, wanted to place a bet on the Rays to win the World Series when I was in Vegas before the season started for Mix'08, wife talked me out of it, but anyway...). Guess when Game 1 is, and they'll be playing at home if they make it since the American League won the All Star Game:
http://mlb.mlb.com/mlb/schedule/ps.jsp
Yep, that's right, Wednesday October 22. Go figure. And go Rays! The show must go on but I know we'll have to go for a few soft drinks afterwards and find a TV.
So the Silverlight 2 Release is out there and you can get the tools here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&displaylang=en
The announcement about PathTextBlock isn't really accurate, because it was developed and built against RC0, and I didn't even have to recompile. The sample "just works" at http://www.bluerosegames.com/SilverlightBrassTacks/page/PathTextBlock-Control.aspx
Now I've been told that it's a "good idea" to recompile against the RTW version, but in most cases since there were no breaking changes between RC0 and RTW, you have a good shot at your RC0 apps working as is.
In a return to simplicity, Microsoft has decided to name the next version of Windows "Windows 7". A while back, a Microsoft Evangelist told me there was only one product that kept its codename when it became an actual product. So I guess this makes 2. Any idea what the other one was?
Edit: Silverlight Travel writes: But Wikipedia says "Originally codenamed "Blackcomb" after the Whistler-Blackcomb resort. Renamed to "Vienna" in January 2006 and "Windows 7" in 2007."
Guess I should have done a few more minutes of research
anyway the other product I was going for was Xbox but it looks like according to Wikipedia that was originally briefly called the "DirectX Box" so my info's off for that as well.
Adam Kinney, the PDC Badge Evangelist, had a post about creating your own badges for PDC, and so I decided to create one:
This is inspired by evangelists Joe Healy and Tim Heuer who have said that their daughters love Dr. Popper. I've actually also heard this from other people as well, and it's my daughter's favorite game too, she actually inspired the game because she played a similar game at school.
So if you want this badge, find me at PDC, and there will be a URL on the back with a secret code. If your code is a winner, you will receive a free copy of Hello! Silverlight 2 when it's published in the spring.
So you want to use PathTextBlock but you don't want to worry about font licensing. It's important to note that even the fonts that come standard with Silverlight 2 are not licensed to be encoded and packaged in a XAP file, so you can't just encode Arial and use it with PathTextBlock.
What you can do, however, is go to the Absolute Fonts Archive at http://www.grsites.com/archive/fonts/ and find a font to use. All of the fonts on the Absolute Fonts Archive are "freely distributable", from the Absolute Fonts Archive disclaimer:
Disclaimer: Fonts found on this site were not created by the webmaster. They were obtained from various sources on the internet that labeled them as "freely distributable". If you should discover fonts in this collection which you recognize as copyrighted, please email the webmaster immediately so that they may be removed.
These fonts can also be useful if you want to embed a custom font for TextBlock or TextBox in your Silverlight application. There are about 6800 fonts available so you should be able to find what you need.