# Monday, April 06, 2009

Asynchronous UI in WPF and Silverlight (and Windows Forms too)

In a few hours I will be giving a new presentation to the Atlanta MS Professionals User Group. The topic for tonight is Asynchronous UI.

I will be talking about a number of common development patterns, along with discussion of the benefits and tradeoffs of each, and demos of the more mainstream approaches. I will also be covering a very simple and elegant solution that meets most async requirements – Jeffrey Richter’s AsyncEnumerator.

In advance of tonight’s presentation, I am posting my slides and code early. You can download them from this link. They may also become available as a download for members of the MSPros user group after the session.

Also, as a raffle prize, I am donating a one-year subscription to MSDN Premium with Visual Studio 2008 Team Suite Edition. If you were to buy it from Amazon, this subscription would cost over $10,000, so be sure to show up tonight if for nothing else than to win.

Monday, April 06, 2009 4:42:57 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 

# Wednesday, February 27, 2008

Heading to MIX this year

This year I will be heading to MIX in Vegas along with thousands of other UX enthusiasts. I have always had a deep interest in all things related to User Experience, and for the past couple years have wished I could attend a MIX event, and finally this year I get to go!

blings_9_25_d[1]

What will I be doing at MIX? Well I will certainly be soaking up any and all information related to Silverlight and WPF. I will also stick my head into some of the designer-oriented sessions. It's a good thing to see how the other half lives. In between sessions I am hoping to meet all kinds of people who are also passionate about UX. And of course this is Vegas, so I am sure I will lose a few dollars in a casino at some point and drink more booze than is healthy.

Joining me will be a number of Wintellectuals including Steve Porter, Sergio Loscialo, Rik Robinson, Sara Faatz, and Todd Fine. I know of a number of other local Atlanta folks will be making the trip as well: Sean Gerety, Doug Turnure, and Shawn Wildermuth to name a few. Are you going too? If so, let me know and we can get together for a cup of coffee or a beer.

.NET | Events | General | Silverlight | WPF
Wednesday, February 27, 2008 9:11:59 PM (Eastern Standard Time, UTC-05:00) #  Disclaimer | Comments [1] | 

# Thursday, October 18, 2007

Expression Design Service Pack 1

While it probably will not get as much attention as a Visual Studio or Windows Service Pack release, the Expression Team blog announced that there is an SP now available for Expression Design that solves some very nagging issues with the RTM version of the product. These problems mostly impacted those of us using Design and Blend with Silverlight, most were a nuisance and had workarounds, but this update really improves the "flow" of creating a Silverlight or WPF UI.

Some of the "big" fixes from my perspective:

  • Gradient Midpoints are now exported (glass fanatics across the globe rejoiced). This was one of my pet peeves with gradients - you could use Midpoints to create truly spectacular glass and glow effects in Design - but they would end up more along the lines of "craptacular" when exported to XAML. The workaround wasn't 100% equivalent, and was fairly annoying (convert midpoints to new gradient stops before exporting).
  • Exporting to XAML will now emit the correct (forward) slash character in image paths for Silverlight exports. This was an annoying problem when Silverlight 1.0 was sent to RTM and no longer supported the backslash.
  • Text exported as TextBlocks instead of Paths. Thatsa verra niiice!

One thing that hasn't been addressed that still bugs me is how the exporter handles layers: Each layer becomes a canvas stacked, each stacked on top of the other. This isn't inherently troublesome, except that the canvases all start at 0,0 and fill the workspace... which basically means that only the topmost canvas will recieve mouse events by default. It would be better if the exported canvases were only as large as they needed to be, and positioned accordingly.

Then again, I guess I could always file a bug/suggestion report that would be more likely to be seen by the Expression Team...

.NET | General | Silverlight | WPF
Thursday, October 18, 2007 7:23:12 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 

# Wednesday, October 17, 2007

Win a free pass to Devscovery 2008!

John Robbins, the wizard of debugging, is looking for suggestions for the Devscovery 2008 Keynotes. To encourage submissions, he is offering a FREE conference pass to the person with the best idea. Full price for such a pass is $900, which is a bargain in itself, but FREE is even BETTER!

The spring Devscovery will be in New York, and the fall Devscovery will be held in Redmond - the winner will get to choose which event they prefer to attend. Having attended the fall Redmond conference this year, I HIGHLY recommend it! Even if I weren't a Wintellect employee, I would still be comfortable claiming that this is hands-down the best way to spend your training time and budget.

To submit a keynote idea, please either comment on John's post here or email your suggestion directly to him. You can submit as many ideas as you like.

.NET | Events | General | Silverlight | WPF
Wednesday, October 17, 2007 10:16:43 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 

# Monday, July 02, 2007

Popper!

Popper! is a simple Silverlight puzzle game. I wrote it as an exercise of my own skill with the platform, but then decided it was a rather fun (at least for a little while...) little game, so I am sharing it with the rest of the developer community. Popper! is written against Silverlight 1.1 alpha, and is mostly in C#, although the initial splash screen is done using unmanaged javaScript (yes, on purpose).

I will be walking through the innards of Popper! at the Atlanta Cutting Edge .NET User Group meeting tonight. So if you will be attending, then come check it out. Or if you just want to kill some time at "work" today... then play with it a little and let me know how it goes (good or bad)...

http://www.mindfusioncorp.com/popper/

I know of one minor bug so far: if you try to click around while a set of bubbles is in the process of "popping", then an error is raised internally, and the game pretty much stops working. I just haven't had the time to get that bug addressed yet.

I intend to post the source for this sometime after this month's meeting. Pretty much that equates to "when I have time to do it".

.NET | Events | General | Silverlight | Web 2.0 | WPF
Monday, July 02, 2007 2:40:42 AM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 

# Wednesday, May 23, 2007

Understanding what it means to "hit the curve"

The past few months I have been diving deeper and deeper into the two main pillars of .NET 3.0 - WPF and WCF. This post by Karsten Januszewski, although a year old, totally resonates even today.

I always laugh a little (on the inside) when I hear "senior" developers claim how all the difficult "real" work is to be found in back-end services and components. They assert that all UI development is easy, and doesn't even require much developer skill. Nothing could be further from the truth, and the new UI framwork (WPF) makes this glaringly obvious.

Basic concepts can be difficult to grasp like the layout system - where controls get to "vote" on their size and position, but it is really up to their container to make the decision. Another one that is hard to get a handle on - control templates and data templates... very powerful indeed, but a completely new approach to build an interface. Or just the whole concept of resources and style resolution. It feels a little bit like CSS... until you realize that nothing really cascades, it only overrides.

Now, don't misinterpret this as a bash towards WPF... I really feel the complexity and learning curve are warranted, and that the platform is above and beyond anything that was available before. But XAML is HARD until you get the swing of it, and don't let anyone try to convince you otherwise.

.NET | WPF
Wednesday, May 23, 2007 1:56:33 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [2] | 

# Monday, April 30, 2007

A storm is brewing

It has been a good while since this industry has had a significant shake-up, where the world as we know it changes almost overnight, and our skills and practices are all made obsolete. We generally seem to have one every few years or so, and according to my calculations, it has been about 7 or 8 years since the last one.

I am sure there were other events, but the first I can recall was the introduction of Object Oriented programming in the 80's. This paradigm shift left multitudes of mainframe COBOL and RPG analysts behind, forever to toil in a world of green on black terminal displays. Then in the early and mid 90's there was an explosion of "client-server" and "N-Tier" applications in the business world. These were all the rage, and again the flock was divided. Many OOP purists were left in the dust, trying to fend off the "younger kids" that embraced the 3GL and 4GL tools of the day. But as luck would have it, only a few years later the terms "client-server" and "N-Tier" took a back seat to the newest technology explosion - the age of the Web. Right or Wrong, everyone wanted to be on the web. Try as they might, the n-tier supporters could not withstand this assault. To this day, there remains a contingent of developers that cling to the world before the web - in the Microsoft kingdom, we call them "Windows Forms Programmers", or perhaps the slightly more dignified "Smart Client Developers". But the significant majority of development work admittedly goes into Web applications.

So for the last few generations of the industry, roughly every five to seven years, we experienced a wholesale disruption in the status quo. Things are no longer what we thought they were. Skills become unmarketable. Management becomes confused. Projects get scrapped. We have to retool - retool or else go the way of the Do-Do Bird (extinct).

The only problem is - it has been about eight years now since the last paradigm shift (I do not count .NET as a paradigm shift - it is simply a consolidation and improvement on ideas and methods already in place). It has been eight years, and I fear that we are long overdue. More than that though - I feel that perhaps, just perhaps, the paradigm shift has already begun - and that I can't see it due to my own Myopia. And what if the shift has already passed me by, and I have missed it entirely?

In conclusion, I think the shift is just now underway. I have smelled the crispness in the air that precedes a thunderstorm. I think the industry is about to change again, in a very significant way, and I hope to be a small part of it yet again. But in order to accept and participate in a significant change, a person must adapt to the new way of things. To that end I have begun the arduous task of retooling and rebranding myself. This will not be the first time, nor likely the last. As a as/400 specialist, converted to PC technician, converted to Delphi developer, converted to DBA, converted to Web Developer, and finally to .NET windows/web developer, I can say that I have definately been through this process before, and it does not scare me. What scares me is the thought of not adapting.

Some of the people I know and trust feel that they too have "seen the light". Some have their own theories about where to be when the music stops playing. My good friend Scooter seems to think that Sharepoint is the entire future. I don't necessarily agree with that. I have heard similar theories about the grand direction of things from others as well ("Linux is the future!", "Everything will be AJAX!", "OMGZ It's all going to Pocket PC format!") - most of which I cannot find reason with either. Everyone seems to agree that the winds are changing, only nobody appears to agree on the direction. But I have my own ideas and theories and will once again be betting the next half-decade or longer of my career on that insight. It hasn't let me down in the past - I trust it will not let me down this time either.

.NET | General | Silverlight | Web 2.0 | WPF
Monday, April 30, 2007 4:29:00 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [2] | 

# Monday, April 16, 2007

WPF/E Gets a Name

Soma tells us that WPF/E has finally recieved a more inspiring name. The announcement was made at the National Association of Broadcasters (NAB) conference in Vegas.

What's the new name? Silverlight. They even have a slick logo for it:

You can also see how it stacks up against Flash here.

.NET | Silverlight | Web 2.0 | WPF
Monday, April 16, 2007 3:09:06 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 

# Wednesday, April 04, 2007

Expression tools for MSDN Subscribers and Partners

Today I was on MSDN Subscriber Downloads to pull down an ISO that I needed. First I noticed this in the Partner VLA Keys section:

Then I noticed the new download in the downloads area:

Then I checked my RSS Reader and saw these posts by Somasegar, Walt, Tim, and Forest.

To make a long story short, Expression Web is now available to folks with MSDN Premium subscriptions, and Expression Blend will be available upon release. If you have one of the flavors of VS Team Suite w/ MSDN Premium then you will also have access to the full Expression Suite (I think this includes Expression Design and Expression Media?).

And while it was not reported on any of the above blogs, I assume that Certified and Gold level Microsoft Partners will also be granted a certain number of licenses for internal use - since I currently see it listed in that section.

This is great news for WPF fans. Tool availability is one of the biggest things holding back adoption of Fx 3.5, and this move to make Expression tools available to MSDN subscribers (without jacking up the price ala TFS) will help smooth the transition.

.NET | General | WPF
Wednesday, April 04, 2007 6:45:43 PM (Eastern Daylight Time, UTC-04:00) #  Disclaimer | Comments [0] | 
View Keith Rome's profile on LinkedIn

On this page....

Archives

Navigation

Categories

About

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Sign In

Certification Logo Certification Logo Certification Logo Certification Logo Certification Logo

Powered by: newtelligence dasBlog 2.3.9074.18820