Entries Tagged 'WPF' ↓

Feb 6th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, WPF

Here is the latest in my link-listing series.  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.

ASP.NET

  • .NET Debugging Demos Lab: Tess Ferrandez, who is an ASP.NET escalation engineer for Microsoft support and who also posts incredible articles on the art of debugging production ASP.NET applications, has started a new tutorial series that provides a sample "buggy" application and a series of questions/problems you can work through to learn how to debug problem applications in production environments.
  • 4 Alternative View Engines for ASP.NET MVC: The open source MvcContrib project has been adding lots of cool goodness on top of the ASP.NET MVC Framework.  Jeffrey Palermo posts about 4 alternative view rendering engines now in the project that you can use if you don't want to use the default .aspx based view engine.  BTW - I'll be doing a new post on ASP.NET MVC within the next week talking about some of the cool new features coming soon with the next refresh. 

ASP.NET AJAX

  • Boost ASP.NET Performance with Deferred Content Loading: Dave Ward continues his great articles on ASP.NET AJAX.  This article talks about how you can improve the perceived load-time of a page by using an AJAX callback to retrieve HTML content once the page loads on the client.  This approach is similar to the one I wrote about in my tip/trick post here.

Visual Studio

  • Visual Studio 2008 Product Comparison: Several people have sent me email in the past asking for a page that describes the differences between the various Visual Studio 2008 editions (Standard, Professional, Visual Studio Team System, etc).  This link is useful to bookmark if you want to learn more about this.
  • Did you know...You can Shift+ESC to close a tool window: Sara Ford continues her excellent "Did you know..." VS 2008 tips and tricks series.  I confess I didn't know this one.  One productivity tip I always recommend is to really learn the keyboard shortcuts of your development tool environment well - since using them over time can yield significant productivity savings.  Click here to download a VB 2008 key bindings poster, or click here to download the C# 2008 key bindings poster equivalent.  Print them out and put them under your pillow to absorb them while you sleep.

.NET

  • The Power of Yield: Joshua Flanagan has a nice article on one of the coolest, yet underused, feature of C# in .NET 2.0 - which is the yield keyword.  This is a very powerful feature that enables you to efficiently work with IEnumerable scenarios and enable deferred iteration (LINQ leverages this heavily with .NET 3.5).  To master C# even more, I also highly recommend the new C# 3.0 In a Nutshell book (I posted a 5 star review of it on Amazon).

WPF

  • Making VS 2008 Open in XAML Mode By Default: Matthias Shapiro has a nice post that shows how you can configure VS 2008 to by default load WPF files in XAML mode instead of design-mode.  A very useful shortcut if your natural inclination is to work directly with XAML markup.
  • How can I debug WPF bindings? Beatriz Costa from the Microsoft WPF team has a great post that talks about tips/tricks you can use to better identify "what went wrong" when a databinding expression fails with WPF.
  • Programming WPF and Windows Presentation Foundation Unleashed: If you would like to learn WPF (especially now that there is project and designer support for it in VS 2008), I recommend these two books by Chris Sells and Adam Nathan.  Both are excellent resources to use to learn from.

Hope this helps,

Scott

MIX08

MIX is a Microsoft web development conference we hold in Las Vegas each year. 

MIX tends to be a pretty fun event, both because it covers cutting edge content (we used MIX07 to announce our Silverlight plans), and also because it tends to attract a really diverse set of attendees (including both those who use Microsoft technology today, and a large % of attendees who don't).  The conference structure includes a healthy blend of sessions and interactive panels, and the layout and organization is designed to facilitate great conversations.

This year's MIX is being held March 5th-7th in Las Vegas.  Ray Ozzie and I are both giving keynotes the first day of the event, and Steve Ballmer and Guy Kawasaki will be doing a keynote the second day of the event.

The conference (and especially my keynote) is going to cover a lot of new web technology.  Attendees will be able to attend sessions covering:

  • IE 8
  • IIS 7.0
  • ASP.NET (including ASP.NET 3.5, ASP.NET AJAX, ASP.NET MVC, and ASP.NET Dynamic Data) 
  • VS 2008 and Expression Studio
  • WPF
  • Silverlight 2
  • And much more....

Channel 9 recently did an interview with me where I talked about some of these new technologies.  In Part 1 of the interview I talked about IIS7, and in Part 2 of the interview I talked about ASP.NET, WPF and Silverlight 2.

Register Soon Or You'll Miss Your Chance

MIX is held at a smaller venue then some of our larger events like TechEd and PDC.  This gives the conference a more intimate feel (which is fun).  It also means that it sells out each year, and once it is sold out it is really sold out. 

Last year I received about 50 emails from people begging for tickets after it was full, and many people even flew to the event hoping to somehow be let in at the door (only to be unfortunately told they couldn't get in).  Unfortunately because of size constraints (and fire marshal restrictions) once it is sold out there really are no more tickets to be had.  Even my own team members get turned away if they haven't registered in time.

This year's registration is filling up faster than any of the previous MIX conferences.  If you want to attend I highly recommend registering really soon to ensure you can go.  You can learn more about the event and register online here.

Hope to see some of you there - it is going to be fun....

Scott

Great Line-of-Business Controls for WPF

I'm delighted to see that Infragistics have just released their NetAdvantage control set for WPF. It's a huge download: over 100MB, so either the controls are very big, the documentation is extremely verbose, or there are lots of samples included! This control set nicely fills the gaps in the capabilities currently provided by WPF, including a data grid, charting controls and an Office ribbon implementation that looks pixel-perfect to me.

Complex controls like an Office ribbon clearly benefit hugely from XAML. The ability to declaratively create nested collections really makes what would otherwise be a painstaking and error-prone task really easy. In the case of Infragistics' ribbon, you just declare a XamRibbon element that contains a RibbonTabItem that contains a ButtonGroup that contains the constituent buttons. It's almost self-documenting, because it so closely parallels the actual visual structure of the ribbon. Adjusting the visual theme of the ribbon is as easy as any other WPF project - just merge in a new resource dictionary containing the changes you want to make. We've recently released a ribbon ourselves as part of an MFC feature pack for C++ developers, but the difference in complexity ably demonstrates why WPF is such a powerful platform for building heavy-duty UI.

In the interest of fairness, I should also highlight some of the other great controls out there: Xceed have a great (free) data grid, ComponentOne also have a data grid and chart control, along with a bunch of calendaring components, DevComponents also have a very impressive Office ribbon and a Visual Studio-esque docking control, IdentityMine have a 3D carousel as part of their Blendables toolkit, and Actipro have yet another Office ribbon along with a wizard control.

Shamelessly stolen from the Infragistics product manager's blog, here's a screenshot that shows off the kind of application you can build very quickly with this control set:WPF Application

Flotzam: Mashing up the Web

A panopticon at the Presidio Modelo, Cuba. Courtesy of Wikipedia.Have you seen Flotzam? It's a fun mash-up that Karsten and Tim put together that aggregates a bunch of different data sources: Twitter, Facebook, Flickr, Digg, YouTube and indeed any general RSS feed. You can install it either as an application or a screen saver, and it's a nice way to see what's going on out there on the "tubes". Karsten has coined the term panopticon to describe it (from the Greek, meaning all seeing); to me, this feels like it has the potential to form the first step of a project to build the ultimate, pluggable, modular social networking client.

Being a WPF application, Flotzam can be easily restyled. From the enter/exit transitions for new items to the overall visual look and feel of the Flotzam interface, you can do almost anything you want just by tweaking the XAML mark-up. And with MIX08 selling out quickly (hope you've registered), the team thought it would be fun to put together a little contest that gives you the chance to experiment with WPF by creating your own custom themes. We'll use the best entries at MIX, both on the keynote screens and on all the PCs around the show; Karsten hopes that walking around the show will be like visiting some kind of art installation with all these different skins appearing.

Entering the contest is easy: everything you need to know can be found on the visitmix site. We've even got screencasts available to show you exactly how to use Blend to do the customization. Let your inner artist out - show us what you're capable of!

We’ve Released the News Reader SDK!

Many of you have seen the New York Times reader application - it was featured as part of the portfolio I've been building up of Great WPF Applications. As I mentioned at the time, the New York Times reader is based on an SDK that we built to allow newspapers and content publishers to create rich, "occasionally-connected" experiences based on the flow layout capabilities in WPF. We've had a private beta program running for a while now, and over the intervening months there have been a number of other newspapers that have gone live with applications using this toolkit.

image Now we're delighted to announce the public release of the reader toolkit on windowsclient.net. We've made a number of improvements to the kit to broaden its usage; the reader toolkit is now known by the rather more accurate but slightly less memorable name: the Syndicated Client Experiences Starter Kit. This reflects its potential to go beyond a news reading scenario and handle other kinds of data synchronization and display needs. For example, you could use this as the basis of a client for financial data analysis, where the application downloaded stock prices and other financial information and presented it in a rich client experience (Lab49, are you listening?!)

The great thing about the starter kit is that the source code is available, so you can customize it to your heart's content: changing templates and styles, modifying the way it handles data, adding new features, and so on. We've also created a sample MSDN Magazine reader application built with the starter kit, which is of course also provided with full source code. Even if you're not interested in the reader toolkit itself, you'll find this a really useful application in its own right.

Have fun with this - I'm looking forward to seeing the applications people build with this toolkit...

Great WPF Applications #17: HP Interactive Canvas

Kapow! Shazam! Zing! Mary Jo Foley from ZDNet drove in hard with a right hook last week, referencing my recently-returned-from-hiatus series of great WPF applications and asking why Windows Vista didn't have more killer applications. As one of her correspondents notes, and even Wikipedia highlights, the notion of a killer application is both rare and perhaps something that is better observed in hindsight than at the time. Windows XP and Windows 2000 were both great successes, but I can't name any one application that was the tipping point for industry adoption of either.

From a development standpoint, the killer application is less relevant than the killer platform. This needs to strike the right balance between feature richness and ease of use, between power and flexibility, between ease of deployment and performance. Can you build an application that takes full advantage of your machine's hardware? Can you build an application that your customers love to use? Can you create faster, more feature-rich, less buggy software with fewer resources? My intention in writing this series is to try and highlight great applications that take advantage of WPF - the killer platform in Windows Vista!

Which brings us nicely on to one of the more amazing WPF applications that I've seen recently. This application came up in our team meeting today, and we were all noting that it's not had nearly the exposure it deserves. The application is the HP Interactive Canvas, built by Obscura Digital and Look or Feel for the Wall Street Journal D | All Things Digital conference held in May of this year. Created in just four weeks, this application takes full advantage of WPF to deliver a massive multi-touch interactive video experience. It's hard to do it justice with a couple of lines of text, so I'm going to break my usual moratorium on all things Google (!) and post this YouTube video that gives you a quick sense of the experience:

In the video above, you can see that multiple users are able to use their fingers to manipulate different objects on the screen: musical instruments, a photo and archive video collection, real-time stock symbols and charts. Obscura claim it is the world's largest multi-touch interactive video display. The application blends a high-resolution display with prototype hardware to bring the alleged Holy Grail of user experience to reality: the Minority Report interface.

Much of the work for this application was done by Darren David, a self-proclaimed "GUI geek" who was also responsible in large part for The North Face's in-store explorer application. He's got further videos and photos of the Interactive Canvas on his blog, which is also a great read on advanced WPF development. Keep an eye out for another similar application that he's going to be posting about in the next 24 hours too - another good reason to be subscribed to his blog.

December 16th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF

Here is the latest in my link-listing series.  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.

ASP.NET

ASP.NET AJAX

ASP.NET MVC

  • PagedList<T> Support: Rob Conery posts a sample implementation of a pageable List<T> implementation that I showed in my original ASP.NET MVC demo at the Alt.net conference.

Visual Studio

  • Spell Checker for Visual Studio: My team recently shipped a cool new Visual Studio add-in that provides spell checking support.  In addition to supporting spell checking within HTML files, it also supports spell checking within JavaScript, VB, C# and ASP.NET comments.  Works with both VS 2005 and VS 2008.

  • World of Warcraft for Visual Studio: A cool new add-on that enables support for building World of Warcraft game extensions using Visual Studio.  Definitely something to check out if you play World of Warcraft.

  • VS 2008 Color Schemes: Thomas Restrepo has posted some nice Visual Studio color scheme templates you can use to customize your text editor settings.

Debugging .NET

  • Getting Started with WinDBG Par1 and Part2: Johan Berglin has an excellent set of posts that detail how you can use the WinDBG debugger to drill into a running ASP.NET application and analyze it to see what it is doing.  Microsoft Product Support uses this tool when helping debug deployed applications in production.  It is extremely powerful and something you might want to learn.

  • Automated .NET Hang Analysis: Tess Ferrandez from the ASP.NET Product Support team has a great blog post that describes an automated hang analysis tool she has written that uses WinDBG to pinpoint the root cause of common hangs with .NET applications.  Her blog is an excellent one to subscribe to - and is full of great debugging tips and tricks.

IIS 7.0

  • Behavior Changes for ASP.NET applications running in Integrated Mode on IIS 7.0: Mike Volodarsky from the IIS team has a great blog post that details behavior changes for ASP.NET applications when they run in "integrated mode" on IIS 7.  "Integrated mode" enables ASP.NET developers to take advantage of much tighter integration with IIS - and enables a host of additional scenarios (richer URL rewriting, integrated authentication/authorization, etc).  If one of the behavior changes listed in Mike's document impacts your application, you can optionally change the application to run in "Classic Mode" - which maintains the same ASP.NET behavior as with IIS6.

  • Professional IIS 7 and ASP.NET Integrated Programming: Shahram Khosravi has recently written a great new book that describes how to take advantage of the new IIS7 "integrated mode" features with ASP.NET.  A great book to read if you are looking to take advantage of the new IIS7 features:

WPF

Hope this helps,

Scott

    The New Iteration: A Whitepaper on the XAML Revolution

    Whenever we run a WPF or Silverlight training event or lab, the one question that is guaranteed to come up relates to the designer / developer workflow on a project team.

    In the old days of Win32 or Windows Forms, the workflow was straightforward (albeit extremely limiting). A lot of desktop application development teams I've seen, particularly in the enterprise, don't even include a formal role for a user interface designer. Although the development team might include a business analyst or someone in a interface development role who would be doing some basic interaction design and application flow work, the actual interface would be mostly designed and implemented by the same programmer who was writing the underlying logic. On the other hand, for the projects where design was taken more seriously as a core element to the success of the application, the design and development teams were separated into different silos. The design team would often present their output in the form of a color printout of a screen designed with Photoshop in complete isolation from the actual tools or platform available, and the developer would then have to jump through hoops to painstakingly reproduce the design with tools that were never built for that purpose. The end-result was typically a disappointing compromise between the ideal that the designer had envisioned and what was practical with limited and stretched development resources.

    WPF and Silverlight revolutionize that process by bringing the designer into the heart of the process. XAML becomes the shared substrate that can be used by both designers and developers to communicate their intent. Finally, the designer is not divorced from the development process: using a tool like Expression Blend to produce XAML, their artistry is no longer the inspiration for the final interface design, it is the final design. For the developer, they no longer have to waste time recreating controls that already exist in the toolbox simply because the designer has implemented a different visual representation; they can concentrate on the engineering challenges that will create the rich engine that powers the interface.

    Such a transformation isn't without challenges, however: it requires new forms of collaboration, different project team structures, and an updated cookbook of best practices. We're keen to help you retool your workforce to take advantage of WPF and Silverlight, of course, and so Jaime Rodriguez and Karsten Januszewski have spent the last couple of months distilling their own experiences and interviewing early adopters into a new whitepaper that addresses many of these issues and opportunities in great depth. This is the first of a series of content on this and related topics; we hope to produce several more in the run-up to MIX08.

    Read the whitepaper online or download a copy for offline reading or printing. What best practices would you suggest to a software house or enterprise embarking on a new WPF project? What else should we be covering with this series of whitepapers? Let us know what you think.

    Great WPF Applications #16: Yahoo! Messenger for Windows Vista

    It's time for me to reboot this series that showcases great applications built on WPF. I left it on hiatus for some months because I felt that the point had been well made, but it's probably time to pick it up again, not least because there's a swathe of cool WPF applications out there that a lot of people probably aren't aware of. WPF is picking up steam and gaining growing respect from those who recognize the benefits of a modern UI framework built on top of a powerful runtime and operating system platform, as some of the future examples will demonstrate.

    imageThere could be no better way to restart the series than to highlight the WPF-based, Windows Vista-exploitative version of Yahoo! Messenger that was finally released into the wild today in the form of a preview release. It's been nearly a year since it was first announced, and Ryan Stewart wasn't the only one to wonder where it had got to.

    The high-quality application experience starts from the moment you begin the download. The bootstrapper is only 200kb in size, so you're quickly into the setup routine. Something that really makes this imagestand out: Yahoo! Messenger is installed on a per-user basis, which means it does not require administrative privileges to install: instead, it places the application binaries into the correct area of the user's profile by default. This alone will get it installed in environments where no other IM client can reach.

    Once you get it installed, the messaging client itself shows what a WPF application can do - from its subtle use of Aero Glass and custom control styling to the browser-style tab metaphor that allow you to have multiple conversations going simultaneously within a single window, it immediately dates every other IM client out there. You won't want to go back.

    image 
    Perhaps the highlight, however, is the emoticons window (shown above). For most teenagers, this will be the killer feature. Although they are unlikely to care that they are animated, vector-based assets created as XAML, they'll love the way they pop out of the screen before shrinking back to normal size. Given that there's a thriving industry selling winks, avatars, custom emoticons and the like, this is guaranteed to be a hit with the younger generation.

    For more information on the development story behind Yahoo! Messenger for Windows Vista, you're going to want to check out Eric Burke's blog. As one of the key guys behind this application, he's got some pretty good warts-and-all war stories to tell, and I'm looking forward to hearing the good and the bad over the coming weeks. Congratulations to Eric, Josh and the team, as well as to Karsten, who has been working behind the scenes to help them with answers to a bunch of tough questions.

    WPF and Silverlight Contest Season Is Here!

    The snow has arrived (here in Redmond, at least), and people are starting to wind down for the holidays. No doubt you're dreading the arrival of Aunt Mabel for an extended stay and are planning an opportunity to escape to a remote hideaway cave and finally get a chance to explore some new technologies!

    Two groups want to capitalize on the extra free time you may have, and have announced a couple of pretty neat contests to which you might well want to pay attention.

    First up is Lab49. I don't think I've written about this company before, but they're one of the hottest WPF development houses out there. Based in New York and London, they focus on the financial sector and have a very healthy business creating WPF applications that visualize complex data sets. Today they announced a WPF innovation contest with some awesome prizes including a top-notch Alienware developer workstation, two nights in New York, an Xbox 360 Elite, a signed T-shirt from the WPF team (I must get round to organizing that!), copies of Windows Vista Ultimate. The first 25 submissions will receive over $500 worth of prizes, and there's a $100 discount off Xceed's DataGrid for every single entrant. I particularly like the nature of this challenge; participants download a sample dataset from their servers and have to come up with an innovative visualization using WPF. It's great to have a focus, and they've picked a good one that will lead you to explore many powerful facets of WPF (animation, templates, graphics, dataset manipulation). This is a pretty sweet contest that will hopefully galvanize a few of you to spend more time learning WPF.

    Secondly, INETA Europe (the International .NET Association) have launched a Silverlight contest that will be open to entrants from many European countries including UK, France, Germany, Spain, Italy and the Netherlands. Again, there are some hot prizes including three tickets to MIX08, MSDN subscriptions and a number of books and developer tools. The parameters of this contest are significantly looser than the Lab49 contest - there aren't any specific objectives, but entries will be judged for originality, design, usability and technical execution.

    Have fun out there - look forward to seeing some of the results. Now, about that T-shirt...