Aug 20, 2009

Expression Design – Layer Options

I am very much NOT a designer but, on occasion I play with the Expression Design tool to do simple vector graphics that I can use in WPF applications.

Today I found myself building a simple “add” icon. That looks like this:


When playing around in the layers dialog I found a little hidden setting call “Layer rendering style”


What I found is that this lets you modify the display quality of your objects on a given layer. The three options you have are Path, Wireframe, and Preview. According to MSDN

“Changing the display quality setting does not affect your final output, but can help in navigating your document and selecting paths. For example, if you have very complex paths, a lower display quality can speed up screen redraw on a slower computer”

The linked MSDN page shows examples of the three different display qualities. For example, if I take my Add Icon and change the display quality to wireframe it looks like this


This seems like a handy option to have, especially if you have very complex paths or a ton of different layers. Changing to wireframe could speed up rendering performance and reduce the amount of visual noise on the screen.


Aug 14, 2009

RE: All Programming is web programming?


In a recent post @ Coding Horror, Jeff Atwood explains his views on the future of software development. He makes the claim that “All programming is web programming.”

He has some solid points about the benefits of the web deployment model and the downside of the traditional desktop application. However, he seems to blur the lines on what he calls “web programming.”

In his statement that “all programming will be web programming” he seems to define web programming as anything that has a web front end?

Then, when he talks about crappy web programming and crappy web developers he seems to be talking about JavaScript and html hackers. I agree with him the web front end world is not a fun place to be. The development experience is frustrating and the tooling is kludgy.

However, lets not forget that there is a ton of “back-end” development that is involved in “web development.” With separation patterns like MVP, MVC etcetera the crappy part of web development is abstracted away.

So I think he has a point that more and more applications have a web presence (i.e Web front end, web services) but there is still a fair amount of software development that has to take place to make it work.

When I am writing software I try, as much as possible, not to concern myself with what the front end technology will be. Following patterns like MVP,MVC, MVVM , MVWhateverYouWantToCallIt allows your code to be UI agnostic and removes as much code as possible from the specific UI platform.

At that point, to me, coding is coding. Whether I am writing a “web” system or not, there are still hard problems to solve and challenges to overcome.

With the advent of declarative desktop UI technology like WPF there will undoubtedly be “bad” desktop UI developers just like there are “bad” web UI developers.

Abstracting the hard problems away from the UI mitigates these issues and allows developers to focus on code period.

Aug 5, 2009

Expression Encoder 3 Screen Capture


Expression encoder 3 screen capture is a new product in the expression suite that is aimed at simplifying screen capture and screen cast production.

For anyone who has done screen casts before you have likely used Camtasia. The early versions of Camtasia were a bit confusing and clunky to work with, but they were still the best option out there for quickly putting together screencasts. The most recent version of the Camtasia product has really improved and is a fine product.

I am glad to see Microsoft jump into this area and develop a competing product. If nothing else this will spur competition and really drive the feature set of both products further.

Where Expression Encoder Screen Capture really seems to excel is in Hi definition video capture and in general screen capture performance. From the Expression Encoder blog:

“One of the benefits of our new implementation is that we capture to a light weight intermediate CODEC, developed by Microsoft Research, rather than attempting to capture and encode directly to VC-1 or H.264.  This leaves more of the CPU available for the application you are capturing.”

What I really like about ESC (HA get it.. Encoder Screen Capture… ok enough nerd humor) is the selection model is very smooth. When I want to capture just one window to record it is very easy to isolate that window and then start recording.

The post production workflow is very nice too. Since you have Expression Encoder installed as well you are able to open your captured video directly in Expression Encoder and then you have the full power of the encoding tool to make your video “distribution friendly”

You can see a screen cast that I produced using ESC here.

I think it is a very neat new tool in the Expression Studio 3 release and well worth checking out if you are you need to produce high quality screencasts with a streamlined post processing operation.

Aug 4, 2009

Expression Web 3 Super Preview:

I just started playing with Expression Studio 3 today and have already stumbled upon 2 very cool new tools. The first of which is Expression Web 3 Super Preview.

This new program lets you load a web page in two different browsers at once and compare side by side differences. There are a few very nice compare methods that let you spilt the screens and select specific regions of the screen and easily isolate an area in both browsers.

The best compare style of all though is overlay. This take both pages and layers them on top of each other and adjusts the transparency so you can see the layout differences of both pages. This is hard to explain with showing you so I have created a simple screencast that demonstrates the functionality.

Expression Web 3 Super Preview from Brad Cunningham on Vimeo.

(NOTE: Vimeo downsampled the video when I uploaded :( If you want a higher quality version you can download it from here)

In this screencast I load up my blog in the super preview tool.  The left hand panel will load using Firefox 3.0.12 and the right hand panel will load up using IE6.

Then I switch the highlighting mode to “Lights out mode.” This creates  a shadow box like effect on the page so you can visually isolate aspects of the page. I select something on the left hand side (in Firefox) and you can see the corresponding element in the right hand pane (IE 6). You can see already how the two browsers render spacing differently. You can see in the bottom left corner there is a dialog that shows the width and height of the highlighted element and the Left and Top as well. you can see in the IE panel how it shows the Left and Top in red, indicating a difference from Firefox.

This is an amazingly valuable tool for any web designer IMO.

Now for the crème de la crème. Overlay mode. I can switch the windows so they overlay each other and see all the visual difference at one time, visually, without clicking around or guessing. This is totally awesome. How useful it will be to web developers I don’t really know (I have renounced my former life as a web developer and now, only play one on TV) but man does it look cool!

I will have a follow up post discussing the other cool new tool, Expression Encoder 3 Screen Capture, in the near future


Hard drive clean up

From time to time I find myself cleaning up stale files on my hardrive to conserve space. Yeah space is cheap but I am anal about keeping a clean machine.

This cleanup process is usually two step. First I will go through all my installed programs and uninstall things that I haven’t used in a long time or I no longer need. Being a developer I am constantly installing software and testing out beta products etc.. This results in a long list of random bits of software that often times is only useful for a short period of time then I will never us it again.

Once I uninstall all the unused programs I run TreeSizeFree. I am not even sure how I found this little utility but I have been using it for years with great success. It does a simple scan of your drive and will quickly show you where all your space is being taken up.

In my latest cleanup effort I noticed that a lot of space was being consumed by my TestResults directory that Visual Studio creates for each test run.

Here is a screen cap of just two TestResult directories.


So I went through and cleaned up these folders since I did not need the historical results information any longer.

I also went into Visual Studio and changed the TestRun history to save only the last 5 Test Runs instead of the default of 10 test runs. This keeps the folder bloat down and, for me, is enough history.


Labels: ,