My Headlines

Thursday, August 23, 2007

Review: Expression Blend Bible

by Donald Burnett

Microsoft Expression Blend Bible
by Gurdy Leete and Mary Leete


ISBN: 978-0-470-05503-8
Author: Leete, Gurdy
Publisher: John Wiley & Sons
Author: Leete, Mary
Author: Leete, Gurdy
Subject: Internet - Web Site Design
Copyright: 2007
Edition Description:Wiley
Series: Bible
Publication Date: June 2007
Binding: Paperback
Language: English
Pages: 768
Dimensions: 9.18x7.46x1.53 in. 2.34 lbs.
Table of Contents
Chapter 1 Excerpt

Expression Studio has found itself without much coverage book-wise. This is quickly changing ,however, and this book is a wealth of information aimed at people new to Expression Blend. If you are new to design concepts, you will also enjoy this book because not only does it give you the technical background you need to start to create WPF applications (This book covers Expression Blend 1.0) but gives you many great examples of assembling an application. This book covers tool-by-tool all of the capabilities of Expression Blend. It also goes outside the realm of Blend and into Visual Studio for some of the more exotic capabilities of Blend to create things such as XBAP browser application. Exemplary chapters include the one on XML databinding. There is also great coverage on a subject most books and documentation is missing, when it comes to XAML, navigation across a multi-page application using the in-built "navigation" services. This makes tasks such as creating an application that uses menus and hyperlinks very easy to create. Many people consider the documentation Microsoft provides on this functionality lacking basic functionality. This is one book that delivers with great illustrated examples.

I find the book a very easy read and very comprehensive. It covers most of what you need to get started in WPF and XAML. If you are looking for extensive Silverlight coverage I suspect that will happen in a later version of the book as the author gets time to review Expression Blend version 2.

I whole heartedly recommend this book. Buy it today!

Windows Live Explodes

by Don Burnett

Wow it's been a wild week for new technology. Microsoft's Live initiatives is seeing some impressive results.. Let's get to these...

First look at this beautiful web browser, in of course the Apple iPhone... What's really cool about it is it's usability.. Content scrolls and zooms at your fingertips..


"42 Wallaby Way, Sidney.."

No it's not Finding Pixar/Disney's Nemo 2, but Microsoft Live Labs new Mobile web browser for Windows Mobile 5 and Above... DEEPFISH...

The nice thing about Windows Mobile based products is that you can just install new programs and upgrade your Windows Mobile's Installation. Unlike the Apple iPhone which Apple locks you out of installing new applications from third parties. Applications for the iPhone require web browser access at the moment for 3rd party content. Granted some Windows Mobile providers do the same thing, as a matter of security (which very few end users agree with) but the majority of Windows Mobile devices let you install new updates and 3rd party applications.

When the iPhone was released just about everyone agreed it has great web browser with scaling and zooming of web pages. Windows Mobile users felt left behind, until now.

Deepfish enhances existing mobile browsing technologies by displaying content in a view that is closer to the desktop experience. The zoom-able interface and cue map allow you to quickly access the information you care about over the web without ever losing track of where you are. Right now it's still in development, and they have been doing community technology previews, so keep an eye out for the next set of invites to betas if it interests you..

The scaling technology is pretty advanced and amazing. If you have looked at Microsoft's Photosynth you will see a familiar imaging engine, called SeaDragon. It also supports things like dynamic overlays, so you'll see some very exciting things in the future with content integration.. has some exclusive video if you are interested in seeing this cool new technology. Between this and Windows Mobile Live Search, my iPhone interest is beginning to wain. I will say I would think the design of the iPhone is cool, if they just supported more than AT&T as a carrier now and opened it truly up to 3rd party NON-WEB applications..

You say Taffy, I say Tafiti !

One of the coolest interfaces ever... Tafiti means "To Research.." Many other people have blogged about it here, but I am just going to say that this is the coolest interface to a search engine ever. It's done in Silverlight and gives you not only access to searching thru images, RSS feeds and the Web, as well as books and news. If you want to know what the web you work with will look like in the next few years, check out the richness of this application. I bet they have even Google salivating with such a great user experience.

Most search engines just display content and you have to capture the data yourself. With Tafiti everything is just like working with the physical content. You can pick up content (of any type) and drag and drop content on stacks while labeling it and storing it. The user experience value of this application is phenomenal and should revolutionize how we work with content when we research things on the web. The correlation between the User Interface and what you actually do when you research and organize that research is almost exactly one-to-one.. Another nice feature (but not sure how people will end up using it is a tree view). You can also store and return to individual searches as well as merging them.


This is a UI tour-de-force, and it's only a "demonstration"

Look up in the sky! It's Windows Live SkyDrive!

The competition for online storage of your files is heating up. Microsoft has a new release of Windows SkyDrive for online storage. If you use Windows Live for storage you'll find the great for situations where you want to share files over multiple computers.


SkyDrive is also giving Windows Live Writer an assist! There is a new plug-in that you can download to allow you to link content to your blogs/writing consumers to also access content saved to your SkyDrive folders inside of Windows Live Writer. Yeah file based content embedding finally! It even lets you put it in an iframe, just in case your provider doesn't like you linking up due to server restrictions.


Tuesday, August 21, 2007

Flash Video and H.264

We consumers are seeing some really cool things from competition between Microsoft Silverlight and Adobe Flash. Today the Flash plug-in gets a major upgrade to join Silverlight in supporting HD video over the web. The exciting thing is the plug-in will also support playing other video formats including QuickTime. H.264 is supported by major video companies and is great for video and streaming over the web. Apple also is a big supporter of H.264. This really wasn't a surprise that Flash would add this kind of support; I expected this when Adobe Media Player was announced and it supported such multi-formats.

So where does this leave the competition with Silverlight you might ask? I would consider them dead even for web video, but really the 1.1 Silverlight release still shines ahead because of the .NET runtime that has been refactored into it. The one edge it has is the CLR (Common Language Runtime) which is almost a platform itself. The only way I'd consider that Flash has capabilities, beyond Silverlight, would be if Adobe and Sun were to get together and offer a plug-in that integrated Flash with a Java virtual machine.

Someone said to me today, "Now that Flash has high definition video, no one will even bother with Silverlight, because it has nothing people want, it's just a “want-to-be". My first thought was well," Wrong I don't see it that way. You are completely missing the point of having .NET in the runtime".

The CLR (.NET runtime) gives you things like extensibility and core features you expect from an operating system that arguably aren't present in Flash or Action Script at the moment. It's also language agnostic unlike Java. In a world where the operating system is quickly becoming the network and what framework you are running to provide your users with a set of services are make or break, you will start to see the difference in complexity of applications very soon.
It's possible with a combination of Silverlight and GOA WinForms to move entire windows applications (including enterprise applications) to the platform agnostic Silverlight (yes it runs on Mac and PC and soon Linux). Some of you might remind me that GOA also makes a Flash version, but it's not quite the same because of the CLR/.NET runtime. If you use another RIA platform you don't get that same rich set of APIs and functions that almost make it an operating system out of it.

In my opinion Silverlight's .NET runtime almost qualifies itself as a platform agnostic OS. Because of this, if you are in Flash or Flash with AIR your applications begin to look thin, or you have to resort to browser integrated applications to get the functionality. Both are designed not for the same purposes, so it's like comparing apples to oranges with their individual design sensibilities.

The CLR in Silverlight means things run faster (not like JavaScript based web browser applications), and they are ultimately easier to make SECURE. No one has talked about security in RIA's (Rich Internet Applications) yet that much. But believe me when they become common place, who will be better poised to be secure and offer more OS services type of support.
Don't get me wrong, I am glad Adobe brought Flash video into HD and the world of H.264, we all benefit from that, plus the ability to play other movie formats right from that one plug in. With a 98% of the browsers in the world having Flash installed, this will be a major upgrade in capability for most everyone. But why did they add this now? Why did it take Adobe so long, they have obviously been working on this for some time? Why try to cover playing so many video file formats (beyond H.264)? It's obvious that Silverlight is gaining momentum on Adobe Flash. But the reason isn't probably video, though Adobe needed to do this to stay in the game.
Does the new Flash version make everything that is in Silverlight's core functionality obsolete or negate people doing work in Silverlight? I don't believe so, not at all! I believe because of Silverlight 1.1's CLR we'll see a whole new class of capable Rich Internet Applications that compete successfully with Java and gives the web a framework that's really its own OS. That's something Flash on its own still isn't competing with.

I would tell developers and designers to just remember that Silverlight with the .NET CLR (common language runtime) is not just a platform for cool video and animated graphics, the core services it provides really bridges the gap from calling it just a plug-in, to making it full web platform, one that is language and web browser agnostic for development and platform as well, that we are just starting to see the benefits. Now a Windows platform developer can take his full windows application and implement most if not all functionality in Silverlight and have it run just about anywhere. It is a platform that doesn't care if you are on a Windows or Mac box or what browser you are running.
So, Adobe Flash got better, but is it good enough? I would question how rich an API and how functional you can make an Flash or AIR application, versus Silverlight with the .NET Runtime. I think our next battle the industry will see in the world of RIA's and which platform has the best most complete API's and set of functionality. Sure RIA's are new and not that functional yet, but would you rather go with a full featured framework to build your applications that people already build current platform applications daily? Or one that doesn't let you go as deep as you needed or something that is new and barely scratches the surface. I love the CLR and the extensibility and the fact that it's a real "web platform" not just a framework that just gets you as far as taking you out of the browser.

In this sense I think it will be a battle between Java and Silverlight, not Adobe Flash and Silverlight. If you just even look at the functionality, you should think about what can do with a Java application today versus a Flash application. You will see there is a decent amount of disparity of functionality for core services, just like the situation when comparing Adobe Flash and Microsoft Silverlight.

I was hoping today (instead of just adding HD video) that the Flash runtime was to be totally reworked from top to bottom, improving the runtime, making Action Script just one of the possible languages. I'd like to see the runtime reworked to support multiple languages, a better set of core framework functionality that goes way beyond Action Script. I hope the competition continues because we users are heavily benefiting.

Someone asked me today if I thought Flash with HD Video, would trump Silverlight or stop the defections to Silverlight? Until Adobe gets a framework refactored into with all the services of .Net, or partners with Sun/Java to make Flash and Java one big plug-in, the defections will continue.

Who will win the RIA battle? I can't really honestly guess at this stage.. I think the winner will be whoever gets RIA development to the stages where they are just as capable as an enterprise platform application with all the same available services. Whoever gets there first will no doubt win all the marbles. Right now, I believe personally, Silverlight has the win here because of the .NET runtime (CLR). The heart and soul of Windows development now works everywhere. The way I see it, Silverlight is more a competitor to Java than it is Flash, because it's almost an entirely self contained platform. Its original purpose (still in definition) isn't just cool graphics and video on a web browser. Silverlight is much deeper. I think it's Microsoft's recognition that the OS is no longer on the PC but inside the network and web browser. It's a framework that runs on many platforms and gives you services everywhere.

These of course are just opinions and how I see things. Tell me what you think. Have you worked with both? Am I off the mark? Or missing points?

Technorati tags: Adobe, core OS services, Dot NET, Flash, Flash plug-in, H.264, HD Video for Web, RIA, Rich Internet Application, Silverlight

Monday, August 20, 2007

File Sharing Online with

by Don Burnett


iPhone Support

Wow how great is this? This is a little bit off-topic, but a lot of people who are developing WPF and Silverlight applications, and is a very well liked company for more than a couple of reasons. So can we marry the two? They have won numerous awards for making it easy to store your files online and make them available in workgroup applications. They support accessing your files in a number of unexpected places including mobile devices,, and a number of other web 2.0 type platforms...

Their latest wonder is now connectivity support for the iPhone..

This allows you to access your online file storage at right from your Apple iPhone.. The navigation is pretty simple, like a normal iPhone application. Seems to work flawlessly as well.. It's fast and efficient on the iPhone too.

Microsoft Expression Blend Meets Box (Introduction)

Box.Net provides a very open API for developers. You can access file sharing and Box's services directly from SOAP, XML POST, or REST API's. That means we can use them right from Expression Blend's XML data source giving Blend WPF and Silverlight instant access to online files and sharing. This opens up a whole new realm of functionality to Blend RIA developers..

First Steps (Please Note most of this is paraphrased in Box.NET's very COMPLETE developer documentation):

You'll need to sign up and obtain a API key, since you'll need to pass in your API key with every API call you make. API authentication provides a secure way for users to authenticate with without having to share their user name or password with you. This provides a consistent, safe experience for users and makes things easier on you (since you don't have to store user credentials).
To obtain an authentication ticket, your application performs these steps:

  • Obtain an authentication ticket by calling the get_ticket API method.
  • Redirect the user to the API authentication page, passing the ticket you obtained from the get_ticket call as a query string parameter
  • The user then authenticates by entering their user name and password on the authentication page
After the user has authenticated, the next step depends on whether you're writing a web application or a client application.
If you're writing a web application, redirects the user to a page called the callback page. This is a page that resides on your site (you should have designated this page when you set up your application). The authentication appends a ticket variable to the end of this URL

For client applications, the user is shown a message instructing them to return to the application after they've authenticated. The application then calls get_auth_token with the ticket parameter to retrieve the authorization token.
At this point, you'll probably either want to show the user the files in their Box or enable them to upload a file to their Box.

To show a complete list of the user's files and folders, use the get_account_tree call. This call retrieves an XML document describing the entire contents of the user's box, including files and folders. You can then databind this to a XAML treeview control in Blend. You could also pass the ID of a folder as a parameter to this call, enabling your application to retrieve a subset of the tree structure.

To upload a file, your application performs an HTTP POST using a URL of the form:<auth_token>/<folder_id>
At the time you upload a file using HTTP POST, you can also specify whether you want the file to be publicly sharable (as described in the Upload and Download reference documentation). You can also share a file after it's been uploaded using the public_share API if you prefer.

It's that simple to work with.

This service was almost made for Blend users and is easy to implement thanks to it's support of XML and REST API's.

To Be Continued...

In an upcoming posting, I will do a walk through of creating a file sharing application using Box.Net using Expression Blend in both WPF and Silverlight that is both accessible online from the Silverlight plug-in and as full Windows WPF platform application.

Saturday, August 18, 2007

Mac Users don't just switch from Windows..

by Don Burnett

I found this amusing post by Nik Cubrilovic of OmniDrive. I have also seen his writing at TechCrunch.. Apparently back in May he made the "SWITCH" but not the way the marketing folks have you programmed to think. His Mac crashed and he couldn't get back the partition, so he made the switch to Windows Vista. This is a comment from his blog...

Nik Cubrilovic:

"I didn’t expect it to be like this, I didn’t want Vista to be this good - I was expecting to boot back into OS X and living happily ever after, but damn, this is one fast, slick and nice operating system. If you are a Mac user try it yourself, install boot camp and Vista and it will feel like you just added another CPU and doubled your RAM - I can’t see any evidence for any of the reports of Vista being slow or power-hungry.

Some surprises I have had since running Vista: the first was when I ran Media Center (which has been updated with a new interface and with new features) it detected the Xbox 360 and the other Media Center on the network - making it easy to stream and share music and video content. Media Center is also a much nicer and richer experience than Frontrow. The default security model is much better than what it was. As somebody who has published over a dozen security vulnerabilities for Windows I can see how the new security initiatives within Microsoft that started 4-5 years ago have really taken hold in every part of the operating system and applications - IE has gone from being a hacked up toy to a serious browser that keeps users safe from themselves. "

Another happy Vista user running on Apple Hardware..

Apple iPhone Applications on your Windows Start Menu! How Cool...

by Donald Burnett

Big thanks to Jeff Sandquist for the tip-off on this one. One of the Microsoft guys has been at it again, you can now place "gadgets" in your Windows Start Menu, it's Called Start++ and it's thanks to one of the ultra-cool Microsoft employees Brandon Paddock. What are you waiting for you can download it right here.

Release 0.7x of Start++ not only lets you put gadgets, but now iPhone Applications, yes you heard that right, iPhone applications. Since Apple decided to keep the iPhone Web 2.0 friendly Brandon found a way to incorporate these right into Start++.. There are more all the time, if you want a big list and want to play with the iphone application manager check out the iPhone Apps manager by Matthew Peach. You will be surprised at how useful this whole thing is.

Here is the Scobelizer again Wiki Immortalized in the START menu..

One of the reasons I think Brandon is ultra-cool is he also thinks about others. He is actually involved in trying to save Aids Oprhans in Uganda.. The license for Start++ is careware and requires a donation: In the license it states:

"The software on this site is made available for free, however I ask that if you find it useful that you make a contribution of any size to Tusubira - the Uganda aid organization I helped start with four UW students last summer. I and 10 other volunteers be visiting Uganda with Tusubira at the end of this summer to work with the Ugandan organization "Save The Aids Orphans" (STAO). All advertising revenue on this site and is currently going to help cover travel expenses for students on the team.

If you choose to donate, your contribution will be used to help our current project, expanding the STAO orphanage in Mafubira, Uganda - or to purchase food for the orphans living there... Tusubira is a registered 501(c)3 non-profit organization, contributions are tax deductible. "

How cool is that, if you don't support his efforts well shame on you. This is a great thing he is doing, and it's a discrete way to save the world one person at a time.

If you are interested in how easy it is to set-up gadgets in Start++ please check out this interface, pretty easy huh?

Friday, August 17, 2007

Silverlight Video Site Supreme

by Don Burnett

I try not to blog about things other people are already mentioning, but Mike Harsh's Blog brought this site to my attention, and it really shows some of the quintessential reasons why Silverlight is winning the battle for the hearts and minds of people doing video related websites.

Enter Media Preview.TV

Let's examine some of the media integration with UI elements to create a great together User Experience, that is very much unlike a website and something you'd see in TV..


Note the large video window. Silverlight supports up to 720p and the audio and video streaming are just flawless. Instead of cluttering the screen with menus they decided to make "pull-out" menus with feature content items..  The interface also allows you to login, in what I can only call a "better than AJAX" login control and customize content.  Once logged in you can customize content and even store content you like in the creative store. Down at the bottom row you have a view of content that you own that you can email to someone or trash. The UI element there works with "Drag-N-Drop". The entire interface, down to the terms of use scrolling legal information is just very well thought out..


This all looks and works the same from any Mac Safari web browser or any Windows web browser. Silverlight now supports Mozilla Firefox as well.

Sunday, August 12, 2007

GOA Winforms Pro Continues to Amaze with Silverlight

by Don Burnett

The nice folks at Netikatech who are doing the product that implements WinForms projects (and WinForms controls) into Silverlight projects are doing a great job of moving forward with the product, in only a few days they have brought together a full WinForms end-to-end application solution. What's really cool about this is it works on the Mac and the PC and now with the Silverlight RC it works great in Firefox Browser environments. The idea of a full database driven WinForms application running cross-platform on the web, is just phenomenal and it shows the power of Silverlight and GOA WinForms Pro. If you are working on projects in an enterprise development and you are thinking about making your applications work in the browser to lower overall deployment costs and give you better ROI, this product is for you.

Here's are some test screens just to show you the "wow" factor and the complexity of the interfacing that is possible. Literally a full fledged interface is available.


The performance is much faster than one would expect from a browser application including anything done with Ajax.. All the WinForms interfacing functionality that you expect is there, and .Net's performance. Of course this looks like an old style Windows application, but that's just fine for corporate and enterprise applications. Developers will appreciate the speed and the UI standards that have been a hallmark in windows enterprise applications for many years, and frankly it makes it an easy port.


Here's an example screen with a modal dialog box enabled (yes the message box windows are draggable).


And here finally is some time scheduling UI, showing some great project management and visualization..


Considering you can take a regular Windows Platform application and port it now to the web as a viable program that works anywhere, this product has more than great potential. As designers we talk about new UI, I can only hope that the final product lets me extend these applications with my own XAML (wait it can! I forgot about the XAMLCanvas control). Even if it doesn't it has great Enterprise potential.

There is also a Flash version to this, but the Flash folks don't seem to be talking about this, as it would be a great boon to their RIA efforts as well. Many people have complained about Rich Internet Applications in Flash and AIR still being a little light in functionality. This product zooms ahead in terms of functionality and bringing REAL applications to life with all the complexities we expect from an application that runs from the OS, not the browser.


I'd like to thank Jean Gab for keeping me up to date with what's going on with this product, it's a mind blower that they could do all of this in such a short amount of time. This makes ports of windows platform applications so easy and to make them cross-platform. You should be checking this out if you are into enterprise development..

Wednesday, August 8, 2007

Silverlight + Astoria= Powerful Web Services and Data Access

by Don Burnett

A lot of people have heard about Astoria by now, it was introduced by Pablo Castro at Mix'07, it's goal is to let you enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is useable over HTTP, and URIs are used to identify the various pieces of information available through the service.

Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.

That is great for Ajax web developers, but for a lot of people looking to do Silverlight development getting data into the Silverlight plug-in hasn't been easy at best and it's been a matter of just message passing over JavaScript.

However this week Silverlight got a new friend in the Astoria Silverlight Client API. It is a new client library that makes it possible to access Astoria data sources from within Silverlight. This gives Silverlight it's first rich data access capability and opens up Silverlight applications to consuming whole new sources of data directly.

This week the folks at MS Live Labs allow us to extend this further by creating our own database and web service online by defining the web service entity model, which you can also do at This is cool because they let you test it out online, but if you must, you can also download the toolkit and play with it from within SQL Server Express and Visual Studio 2008 beta.

It's not much different than using Access or SQL server to define tables and keys, relationships and fields and can be done from the web page after this you are done and you are given back connectivity to the webservice via a URL.. My sample looks like this.. (this is post defining my entity model)..

<?xml version="1.0" encoding="utf-8" ?>
<DataService xml:base="">
<Container uri=".">
<Customers href="Customers" />

It's very easy to create an Astoria data service, the URL requires sign-in to windows live (formerly passport), adding great security as well..

Astoria, although a research product at the moment has much promise, and anyone interested in quickly adapting SQL data base to web services or easily creating new web based data services. Because it works over HTTP is is both efficient and beautiful. The new Silverlight client library gives transparent access to this very cool data service functionality. Microsoft wants you to play with it too. I suggest you go over there and try it. It seems like a great solution for Silverlight. It does require the latest version of Silverlight 1.1 to work with the library.. If you want data access to data services/web services I really recommend you check this out..

Wednesday, August 1, 2007

Rich Internet Applications (Someone gets it!!)

by Don Burnett


Ryan Stewart (Mr Adobe Blogger and RIA Advocate) has a great column on RIA that points to a guy who has a great blog that I didn't know about named Matt Voerman who seems to be a great user experience designer/developer. Note: He's also with Adobe. The column of interest is a series called RIA Motivators which talks about the reasoning for creating RIA applications and talks a lot about the business model and the why's and how's. I suggest everyone read this blog, it says exactly what I have been on the soapbox about for the last few months.

Points I have made before and I agree with:

Quoting Matt Voerman..

  • UX is not just eye-candy to make the application look pretty.
  • Usability Experts and UX Designers are not second class citizens of your devteam.
  • Ensure that your UX team are continually upskilled/ trained/ educated.
  • It’s imperative that not only the devteam, but all key project stake holders, be educated on the importance of UX

There is a great designer in Australia who believes that anyone in the RIA space who is a designer at this time is also a developer and integrator.. I personally don't agree with him on this but, I think it's just a problem with how the UX designer is seen in the developer community. I think we all need to address this and change and give each team member the respect they deserve and recognize their specialized skills for what they are.

Too many developers in the Microsoft world of development still think they are the "Lone Ranger" and have a God complex about development and like to control all aspects of the project instead of letting the project manager share that with other team members. That's why development team managers need to hire and respect the advice of usability experts and UX designers. You will be much more successful as a team and in the end you will have a better project. In the end User-Centric Design with consistency and coherence across the entire project is what matters.,

If you just don't get what I am saying or don't agree with it, then I think you should go out and do a "homework assignment"

Go seek out a UX designer and talk to them about your latest project. See if they have the same sensibilities as you do and are thinking about things the way you are. If they are, congratulations, you still need their advice but you are on your way. If you don't see the same things as being important, then you need to go out and hire this guy, kidnap him, whatever you need to do because they are your best hope for future success. No I am not advocating you break the law here, kidnapping is a little extreme.