Tim Sneath

Musings of a Client Platform Guy

August, 2005

  • Tim Sneath

    Challenges in Avalon

    • 2 Comments

    Ian Moulster recently sent out a XAML developer challenge to recreate an optical illusion in XAML. Jonathan responded in rapid quick time.

    We should set up a series of "capture the flag" developer challenges on Avalon to give people a chance to try out their coding skills and showcase some of the emerging talents developing in this area. What do you think? Would you participate?

     

  • Tim Sneath

    Running Avalon on Laptops

    • 3 Comments

    As you may already know, Avalon supports different tiers of hardware for its rendering engine. For machines with DirectX 9.0 and PS 2.0 support (almost everything sold these days), Avalon renders almost everything in hardware, which allows it to take full advantage of the GPU. There's a secondary tier of hardware support for machines with DirectX 7.0 or greater where Avalon offers partial rendering. Lastly, for machines with lower graphics characteristics, Avalon falls back to full software rendering - still a well-optimized experience, but significantly slower in performance terms.

    This often catches people out however, since they look at their brand-new laptop and automatically presume that they'll get hardware rendering. However, for laptops in particular, the aggressive power management defaults that are often present mean that running on battery pretty well guarantees you'll be running in software rendering mode even if your hardware supports it, due to the GPU being switched into a power-conserving mode. This can be really embarrassing in a demo situation if you forget your power adapter, as several of us have found out recently!

    So, a few things to check to ensure you're running Avalon with the maximum hardware capabilities you have:

    • Make sure you're plugged in to an AC power source;
    • Check that your color settings are 32-bit rather than 16-bit in Control Panel / Display Properties;
    • Check that the display adapter hardware acceleration is set to Full:

    (As an aside, the choice of hardware v. software rendering isn't as black and white as I've made it sound here. Some aspects of Avalon are always rendered in software, for example image effects. Knowing what drives this choice is important if you're building a performance-critical application, and you'll want to attend Alexander Stevenson's perf talk at the PDC if you're in this category. If you can't make the PDC or you've missed the registration deadline, I'll post a more detailed blog entry on this topic to coincide with his talk.)

    Updated: forgot to thank Seema Ramchandani for the inspiration for this blog entry!

  • Tim Sneath

    Export Vector Graphics to XAML with Acrylic Aug CTP

    • 4 Comments

    We've just posted a new build of "Acrylic" to the web, known as the August CTP release. If you haven't yet come across Acrylic, it's a powerful graphics tool that incorporates both vector and bitmap-based capabilities. This hybrid approach allows you to work with both vector and bitmap layers simultaneously, to convert between them, and to use artistic brushes that generate vector or bitmap results.

    That's all very well, but the really interesting aspect of this release is that you can now export your finished graphics to XAML, the XML-based declarative markup language used for Avalon UI. Everything you create in Acrylic can be used natively within your Avalon app, and you can even animate, data bind or style the elements produced in Acrylic once they have been converted to XAML.

    Although this feature is buried away deep within the product overview, it's unique across every display platform we've ever produced. Being able to use artistic tools to generate rich graphics content and then being able to use that within a Windows application opens up all kinds of opportunities for beautiful applications. The grey Win32 app is dead - long live the beautiful WPF app!

    You can see a demo of the XAML export features in Acrylic here. For more information on Acrylic and to download the August CTP release, visit the product home page. I'm really looking forward to seeing what people produce using these new capabilities!

  • Tim Sneath

    Synchronizing Documents Across Multiple Computers

    • 3 Comments

    I spend a lot of time worrying about my files, both at home and at work. I have a variety of machines in both locations, and it's a real challenge to make sure that I've got the latest version of all my files available to me wherever I travel. Over the years I've experimented with a number of solutions, from the Windows Briefcase to Visual SourceSafe to manual batch routines to Intellimirror, but none of them have really solved my requirement for bi-directional, multi-master replication.

    SyncToy, released publicly in beta form in the last week, takes me a step closer than my current solution. It provides a bi-directional solution that incorporates file conflict resolution; it also handles many other more subtle challenges such as file renames. And it just happens to be another example of a .NET Framework-based smart client application!

    You can get hold of SyncToy here; there's also a white paper available with screenshots, a description of how to use it and demonstration of how a scenario such as digital photography can benefit from such a tool. It's worth a try if you face the same synchronization challenge as I.

  • Tim Sneath

    Great .NET Smart Client Blog Aggregator with BSD License

    • 1 Comments

    Omar forwarded me a link to his RSS Feeder .NET sample on CodeProject - it's a fantastic example of a Windows Forms smart client app that takes advantage of many of the application blocks from the Enterprise Library, and demonstrates Outlook integration, offline caching, asynchronous communication, and multi-threaded application logic updating UI. Omar has generously made it available under the BSD license, so you can take it to pieces, analyze it, and even incorporate pieces of it within your own code.

    It's work like this that gets you noticed in the developer community. Omar also has a really innovative personal website that shows his talents off very effectively. As someone who hasn't yet graduated from university, Omar looks like he's got a great future ahead of him.

Page 1 of 2 (7 items) 12