<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>User Experience Design</title><link>http://bloggingabout.net/blogs/andries/default.aspx</link><description>Something about pictures and buttons</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Evolution of Windows Explorer</title><link>http://bloggingabout.net/blogs/andries/archive/2011/08/30/evolution-of-windows-explorer.aspx</link><pubDate>Tue, 30 Aug 2011 13:05:15 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:560301</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=560301</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2011/08/30/evolution-of-windows-explorer.aspx#comments</comments><description>&lt;p&gt;Nice post of Steven Sinofsky on MSDN blogs about the history and future of Windows Explorer.    &lt;br /&gt;&lt;a title="http://blogs.msdn.com/b/b8/archive/2011/08/29/improvements-in-windows-explorer.aspx" href="http://blogs.msdn.com/b/b8/archive/2011/08/29/improvements-in-windows-explorer.aspx"&gt;http://blogs.msdn.com/b/b8/archive/2011/08/29/improvements-in-windows-explorer.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;(edit 31-08-2011)&lt;/font&gt;    &lt;br /&gt;And Martin Tirion of Microsoft Netherlands wrote about it a day later (in Dutch).    &lt;br /&gt;&lt;a title="http://blogs.microsoft.nl/blogs/ux/archive/2011/08/30/windows-explorer-in-windows-8-en-user-experience.aspx" href="http://blogs.microsoft.nl/blogs/ux/archive/2011/08/30/windows-explorer-in-windows-8-en-user-experience.aspx"&gt;http://blogs.microsoft.nl/blogs/ux/archive/2011/08/30/windows-explorer-in-windows-8-en-user-experience.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=560301" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design/default.aspx">Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Ribbon/default.aspx">Ribbon</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>Datadrop Website Load Tool</title><link>http://bloggingabout.net/blogs/andries/archive/2011/08/23/datadrop-website-load-tool.aspx</link><pubDate>Tue, 23 Aug 2011 15:41:25 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:554941</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=554941</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2011/08/23/datadrop-website-load-tool.aspx#comments</comments><description>&lt;p&gt;In the last months I’ve experienced a lot of problems with my current internet connection. Due to mysterious reasons there have been data-drops at random times for random periods.&lt;/p&gt;  &lt;p&gt;I’ve contacted my ISP (Online.nl), and told them my story. But every time they’ve called me back, they said that they could not find the problem. My connection was always fine.&lt;/p&gt;  &lt;p&gt;Irritated by the fact that they could not solve my problem, I asked them what they would need to fix the problem. They answered that they need proof of the failing connection. &lt;/p&gt;  &lt;p&gt;So I’ve created a solution.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;At the moment they probably are only testing with pings, and my problem isn’t actually a failing connection, but data-loss due package-drops.     &lt;br /&gt;So I’ve searched for an small application that I can run on my HomeServer, which measures the internet connection.     &lt;br /&gt;Unfortunately I have only found Ping-testers, which wasn’t exactly where I was looking for. &lt;/p&gt;  &lt;p&gt;Therefore I’ve decided to build my own tester.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Website Load Tool&lt;/strong&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/6170.screenshot_5F00_06EA52E3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="screenshot" border="0" alt="screenshot" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/5516.screenshot_5F00_thumb_5F00_0388BB3B.png" width="534" height="388" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The website load tool is a small application build on WPF .Net 4 that will download data with a configurable interval from defined URI’s.    &lt;br /&gt;So you set up a series of websites with an test interval of 60 seconds, and keep it running for several days.     &lt;br /&gt;Changes of state are written in a Log, so you can collect you own evidence of the stability of your connection.&lt;/p&gt;  &lt;p&gt;I’ve released the application on CodePlex, so everybody is free to use it.    &lt;br /&gt;It also can come in handy if you need to check network-stability or the availability of your website.&lt;/p&gt;  &lt;p&gt;Get it at &lt;a href="http://websiteloadtool.codeplex.com/" target="_blank"&gt;websiteloadtool.codeplex.com&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=554941" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/WPF/default.aspx">WPF</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Ribbon/default.aspx">Ribbon</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Website+Load+Tool/default.aspx">Website Load Tool</category></item><item><title>Storing and retrieving WPF RibbonWindow settings (including the usercustomizable QuickAccessToolbar)</title><link>http://bloggingabout.net/blogs/andries/archive/2011/05/17/storing-and-retrieving-wpf-ribbonwindow-settings-including-the-usercustomizable-quickaccesstoolbar.aspx</link><pubDate>Tue, 17 May 2011 16:42:31 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:486705</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=486705</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2011/05/17/storing-and-retrieving-wpf-ribbonwindow-settings-including-the-usercustomizable-quickaccesstoolbar.aspx#comments</comments><description>&lt;p&gt;When you’re creating a desktop application you&amp;#39;d probably want to store some user settings.    &lt;br /&gt;Especially when using the Ribbon inside your application, there are several things (like &lt;em&gt;RibbonIsMinimized&lt;/em&gt; and &lt;em&gt;ShowQuickAccessToolBarOnTop&lt;/em&gt;) that users can set and want to keep even if the application en closed and restarted.&lt;/p&gt;  &lt;p&gt;There are several ways to store these user settings, and you can find some methods if you search the internet. But the biggest challenge is to store and retrieve the Quick Access Toolbar content which the user can change.&lt;/p&gt;  &lt;h3&gt;Defining&lt;/h3&gt;  &lt;p&gt;First the storage of the settings. I use the application user properties which are set through the project settings.    &lt;br /&gt;We define the following settings:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;FirstRun&lt;/strong&gt; (bool) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WindowSize&lt;/strong&gt; (System.Windows.Size) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WindowLocation&lt;/strong&gt; (System.Windows.Point) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;WindowState&lt;/strong&gt; (System.Windows.WindowState) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RibbonIsMinimized&lt;/strong&gt; (bool) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ShowQuickAccessToolbarOnTop&lt;/strong&gt; (bool) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;RibbonQuickAccessToolbar&lt;/strong&gt; (string) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/4705.ProjectSettings_5F00_76CC226F.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="ProjectSettings" border="0" alt="ProjectSettings" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/6038.ProjectSettings_5F00_thumb_5F00_4511051A.png" width="524" height="308" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you can’t find the right type inside the type combobox, just select [Browse…] to select it from available DLL’s. &lt;em&gt;Point&lt;/em&gt; and &lt;em&gt;Size&lt;/em&gt; are found in &lt;strong&gt;WindowsBase&lt;/strong&gt;, and &lt;em&gt;WindowState&lt;/em&gt; is in &lt;strong&gt;PresentationFramework&lt;/strong&gt;.&lt;/p&gt;  &lt;h3&gt;Storing&lt;/h3&gt;  &lt;p&gt;Next step is storing the settings. I leave the QuickAccessToolbar out for this moment. I’ll add it later.&lt;/p&gt;  &lt;p&gt;The storing is taking place in de code behind of the Shell, which is the main window of the current application. It is not mandatory to do this in the code behind, but for the moment it is the easiest.&lt;/p&gt;  &lt;p&gt;I store the settings when the window is closing.&lt;/p&gt;  &lt;pre class="brush: csharp; auto-links: false;"&gt;protected override void OnClosing(CancelEventArgs e)
{
    Properties.Settings.Default.FirstRun = false;
    Properties.Settings.Default.WindowSize = new Size(Width, Height);
    Properties.Settings.Default.WindowLocation = new Point(Left, Top);
    Properties.Settings.Default.WindowState = WindowState;
    Properties.Settings.Default.RibbonIsMinimized = RibbonMenu.IsMinimized;
    Properties.Settings.Default.ShowQuickAccessToolBarOnTop = RibbonMenu.ShowQuickAccessToolBarOnTop;
    Properties.Settings.Default.RibbonQuickAccessToolBar = XamlWriter.Save(buttons);

    Properties.Settings.Default.Save();

    base.OnClosing(e);
}&lt;/pre&gt;


&lt;p&gt;The RibbonMenu is referencing to the &lt;em&gt;&amp;lt;Ribbon x:Name=&amp;quot;RibbonMenu&amp;quot; &amp;gt; &lt;/em&gt;inside the Shell.XAML. 

  &lt;br /&gt;Width, Height, Left, Top and WindowState are properties of the WPF (Ribbon)Window.&lt;/p&gt;

&lt;h2&gt;Retrieving&lt;/h2&gt;

&lt;p&gt;And when the application is starting again, you just have to get these settings and set them back. The best moment to do this is in the OnInitialized of the Shell.&lt;/p&gt;

&lt;pre class="brush: csharp; auto-links: false;"&gt;protected override void OnInitialized(EventArgs e)
{
    base.OnInitialized(e);

    if (!Properties.Settings.Default.FirstRun)
    {
        Width = Properties.Settings.Default.WindowSize.Width;
        Height = Properties.Settings.Default.WindowSize.Height;
        Left = Properties.Settings.Default.WindowLocation.X;
        Top = Properties.Settings.Default.WindowLocation.Y;
        WindowState = Properties.Settings.Default.WindowState;
        RibbonMenu.IsMinimized = Properties.Settings.Default.RibbonIsMinimized;
        RibbonMenu.ShowQuickAccessToolBarOnTop = Properties.Settings.Default.ShowQuickAccessToolBarOnTop;
    }
}&lt;/pre&gt;

&lt;p&gt;So far the easy part.&lt;/p&gt;

&lt;h3&gt;QuickAccessToolbar&lt;/h3&gt;

&lt;p&gt;Storing and retrieving the QuickAccessToolbar is a bit more complicated. Because this can’t just be serialized.&amp;#160; &lt;br /&gt;First I tried and used &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.markup.xamlwriter.aspx" target="_blank"&gt;XamlWriter&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.markup.xamlreader.aspx" target="_blank"&gt;XamlReader&lt;/a&gt; to try serialize the items inside the QuickAccessToolbar. Although storing it worked fine (it made a huge xml file), when trying to load the Xaml, I soon experienced the problem that the XamlWriter also serialized the bindings (with it’s content) i set on the command property. Unfortunately these bindings are DelegateCommands from Prism, which can’t be constructed through deserialization.&lt;/p&gt;

&lt;p&gt;The solution is a bit complex, but it works just fine. I created my own entities for storing and retrieving the items inside the QuickAccessToolbar.&lt;/p&gt;

&lt;pre class="brush: csharp; auto-links: false;"&gt;[Serializable]
public class QuickAccessToolbarButtonCollection : List&amp;lt;QuickAccessToolbarButton&amp;gt; { }

[Serializable]
public class QuickAccessToolbarButton
{
    public ImageSource LargeImageSource { get; set; }
    public ImageSource SmallImageSource { get; set; }
    public string Label { get; set; }
    public object QuickAccessToolBarId { get; set; }
    public object ToolTip { get; set; }
    public string ToolTipDescription { get; set; }
    public string KeyTip { get; set; }
    public Binding CommandBinding { get; set; }
}&lt;/pre&gt;

&lt;p&gt;Off course you can add more properties if you’re setting more attributes on the RibbonButton. These properties were everything I’ve used.&lt;/p&gt;

&lt;p&gt;Next step is creating and storing the QuickAccessToolbar items.&lt;/p&gt;

&lt;pre class="brush: csharp; auto-links: false;"&gt;#region Create the QuickAccessToolbarButtonCollection
QuickAccessToolbarButtonCollection buttons = new QuickAccessToolbarButtonCollection();

foreach (RibbonButton rButton in RibbonMenu.QuickAccessToolBar.Items)
{
    if (rButton.KeyTip != &amp;quot;S&amp;quot;) // Don&amp;#39;t include the savebutton!
    {
        QuickAccessToolbarButton qaButton = new QuickAccessToolbarButton()
        {
            Label = rButton.Label,
            KeyTip = rButton.KeyTip,
            LargeImageSource = rButton.LargeImageSource,
            SmallImageSource = rButton.SmallImageSource,
            ToolTip = rButton.ToolTip,
            ToolTipDescription = rButton.ToolTipDescription,
            QuickAccessToolBarId = rButton.QuickAccessToolBarId,
            CommandBinding = BindingOperations.GetBinding(rButton, RibbonButton.CommandProperty)
        };
        buttons.Add(qaButton);
    }
}
#endregion&lt;/pre&gt;

&lt;p&gt;And when the collection filled, I use the XamlWriter to set this data inside a user setting
  &lt;pre class="brush: csharp; auto-links: false;"&gt;Properties.Settings.Default.RibbonQuickAccessToolBar = XamlWriter.Save(buttons);&lt;/pre&gt;

  &lt;p&gt;The reason I’m not using a conventional XMLSerializer is because the XamlWriter can serialize bindings.&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;Last step is to read the stored setting. For this I use the XamlReader to deserialize back to our custom entity.&lt;/p&gt;

&lt;pre class="brush: csharp; auto-links: false;"&gt;#region Load the QuickAccessToolbarButtonCollection
if (!string.IsNullOrEmpty(Properties.Settings.Default.RibbonQuickAccessToolBar))
{
    QuickAccessToolbarButtonCollection buttons = null;
    using (StringReader stringReader = new StringReader(Properties.Settings.Default.RibbonQuickAccessToolBar))
    {
        XmlReader xmlReader = XmlReader.Create(stringReader);
        buttons = (QuickAccessToolbarButtonCollection)XamlReader.Load(xmlReader);
        xmlReader.Close();
    }

    if (buttons != null)
    {
        for (int i = RibbonMenu.QuickAccessToolBar.Items.Count - 1; i &amp;gt;= 0; i--)
        {
            RibbonButton button = (RibbonButton)RibbonMenu.QuickAccessToolBar.Items.GetItemAt(i);
            if (button.KeyTip != &amp;quot;S&amp;quot;) // Don&amp;#39;t delete the savebutton!
                RibbonMenu.QuickAccessToolBar.Items.RemoveAt(i);
        }

        foreach (QuickAccessToolbarButton qaButton in buttons)
        {
            RibbonButton rButton = new RibbonButton()
            {
                Label = qaButton.Label,
                KeyTip = qaButton.KeyTip,
                LargeImageSource = qaButton.LargeImageSource,
                SmallImageSource = qaButton.SmallImageSource,
                ToolTip = qaButton.ToolTip,
                ToolTipDescription = qaButton.ToolTipDescription,
                QuickAccessToolBarId = qaButton.QuickAccessToolBarId
            };
            if (qaButton.CommandBinding != null)
                SetBinding(RibbonButton.CommandProperty, qaButton.CommandBinding);

            RibbonMenu.QuickAccessToolBar.Items.Add(rButton);
        }
    }
}
#endregion&lt;/pre&gt;


&lt;p&gt;Check explicitly if the commandbinding are null, else you get exceptions when initializing the Shell.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Overview&lt;/h3&gt;

&lt;p&gt;Below the complete two methods.&lt;/p&gt;

&lt;pre class="brush: csharp; auto-links: false;"&gt;protected override void OnInitialized(EventArgs e)
{
    base.OnInitialized(e);

    if (!Properties.Settings.Default.FirstRun)
    {
        Width = Properties.Settings.Default.WindowSize.Width;
        Height = Properties.Settings.Default.WindowSize.Height;
        Left = Properties.Settings.Default.WindowLocation.X;
        Top = Properties.Settings.Default.WindowLocation.Y;
        WindowState = Properties.Settings.Default.WindowState;
        RibbonMenu.IsMinimized = Properties.Settings.Default.RibbonIsMinimized;
        RibbonMenu.ShowQuickAccessToolBarOnTop = Properties.Settings.Default.ShowQuickAccessToolBarOnTop;

        #region Load the QuickAccessToolbarButtonCollection
        if (!string.IsNullOrEmpty(Properties.Settings.Default.RibbonQuickAccessToolBar))
        {
            QuickAccessToolbarButtonCollection buttons = null;
            using (StringReader stringReader = new StringReader(Properties.Settings.Default.RibbonQuickAccessToolBar))
            {
                XmlReader xmlReader = XmlReader.Create(stringReader);
                buttons = (QuickAccessToolbarButtonCollection)XamlReader.Load(xmlReader);
                xmlReader.Close();
            }

            if (buttons != null)
            {
                for (int i = RibbonMenu.QuickAccessToolBar.Items.Count - 1; i &amp;gt;= 0; i--)
                {
                    RibbonButton button = (RibbonButton)RibbonMenu.QuickAccessToolBar.Items.GetItemAt(i);
                    if (button.KeyTip != &amp;quot;S&amp;quot;) // Don&amp;#39;t delete the savebutton!
                        RibbonMenu.QuickAccessToolBar.Items.RemoveAt(i);
                }

                foreach (QuickAccessToolbarButton qaButton in buttons)
                {
                    RibbonButton rButton = new RibbonButton()
                    {
                        Label = qaButton.Label,
                        KeyTip = qaButton.KeyTip,
                        LargeImageSource = qaButton.LargeImageSource,
                        SmallImageSource = qaButton.SmallImageSource,
                        ToolTip = qaButton.ToolTip,
                        ToolTipDescription = qaButton.ToolTipDescription,
                        QuickAccessToolBarId = qaButton.QuickAccessToolBarId
                    };
                    if (qaButton.CommandBinding != null)
                        SetBinding(RibbonButton.CommandProperty, qaButton.CommandBinding);

                    RibbonMenu.QuickAccessToolBar.Items.Add(rButton);
                }
            }
        }
        #endregion
    }
}

protected override void OnClosing(CancelEventArgs e)
{
    #region Create the QuickAccessToolbarButtonCollection
    QuickAccessToolbarButtonCollection buttons = new QuickAccessToolbarButtonCollection();

    foreach (RibbonButton rButton in RibbonMenu.QuickAccessToolBar.Items)
    {
        if (rButton.KeyTip != &amp;quot;S&amp;quot;) // Don&amp;#39;t include the savebutton!
        {
            QuickAccessToolbarButton qaButton = new QuickAccessToolbarButton()
            {
                Label = rButton.Label,
                KeyTip = rButton.KeyTip,
                LargeImageSource = rButton.LargeImageSource,
                SmallImageSource = rButton.SmallImageSource,
                ToolTip = rButton.ToolTip,
                ToolTipDescription = rButton.ToolTipDescription,
                QuickAccessToolBarId = rButton.QuickAccessToolBarId,
                CommandBinding = BindingOperations.GetBinding(rButton, RibbonButton.CommandProperty)
            };
            buttons.Add(qaButton);
        }
    }
    #endregion

    Properties.Settings.Default.FirstRun = false;
    Properties.Settings.Default.WindowSize = new Size(Width, Height);
    Properties.Settings.Default.WindowLocation = new Point(Left, Top);
    Properties.Settings.Default.WindowState = WindowState;
    Properties.Settings.Default.RibbonIsMinimized = RibbonMenu.IsMinimized;
    Properties.Settings.Default.ShowQuickAccessToolBarOnTop = RibbonMenu.ShowQuickAccessToolBarOnTop;
    Properties.Settings.Default.RibbonQuickAccessToolBar = XamlWriter.Save(buttons);

    Properties.Settings.Default.Save();

    base.OnClosing(e);
}&lt;/pre&gt;


&lt;p&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=486705" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Interaction/default.aspx">Interaction</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/WPF/default.aspx">WPF</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/QuickAccessToolbar/default.aspx">QuickAccessToolbar</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Ribbon/default.aspx">Ribbon</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/.NET/default.aspx">.NET</category></item><item><title>An accurate portrayal of User Experience Designers.</title><link>http://bloggingabout.net/blogs/andries/archive/2011/01/28/an-accurate-portrayal-of-user-experience-designers.aspx</link><pubDate>Fri, 28 Jan 2011 10:22:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:484690</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=484690</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2011/01/28/an-accurate-portrayal-of-user-experience-designers.aspx#comments</comments><description>&lt;p&gt;From this &lt;a target="_blank" href="http://whitneyhess.com/blog/2011/01/27/the-most-accurate-portrayal-of-user-experience-designers-ever-created/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+whitneyhess+%28Pleasure+and+Pain%29"&gt;blogpost&lt;/a&gt; from Whitney Hess, I came to this video. &lt;br /&gt;A must-see for all User Experience Designers!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/19131028"&gt;ILUVUXDESIGN&lt;/a&gt; from &lt;a href="http://vimeo.com/user5826466"&gt;lyle&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=484690" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category></item><item><title>Microsoft Silverlight 5.0 features for developers</title><link>http://bloggingabout.net/blogs/andries/archive/2010/12/21/microsoft-silverlight-5-0-features-for-developers.aspx</link><pubDate>Tue, 21 Dec 2010 14:56:03 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:484435</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=484435</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/12/21/microsoft-silverlight-5-0-features-for-developers.aspx#comments</comments><description>&lt;p&gt;Recently on Silverlight 5.0 &lt;a href="http://www.silverlight.net/news/events/firestarter/" target="_blank"&gt;Firestarter&lt;/a&gt; event &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/12/02/announcing-silverlight-5.aspx" target="_blank"&gt;ScottGu&lt;/a&gt; has announced road map for Silverlight 5.0. There will be lots of features that will be there in Silverlight 5.0 but here are few glimpses of Silverlight 5.0 Features.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Improved Data binding support and Better support for MVVM:&lt;/h4&gt;  &lt;p&gt;One of the greatest strength of Silverlight is its data binding. Microsoft is going to enhanced data binding by providing more ability to debug it. Developer will able to debug the binding expression and other stuff in Silverlight 5.0. Its also going to provide Ancestor Relative source binding which will allow property to bind with container control. MVVM pattern support will also be enhanced.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Performance and Speed Enhancement:&lt;/h4&gt;  &lt;p&gt;Now Silverlight 5.0 will have support for 64bit browser support. So now you can use that Silverlight application on 64 bit platform also. There is no need to take extra care for it.It will also have faster startup time and greater support for hardware acceleration. It will also provide end to end support for hard acceleration features of IE 9.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;More support for Out Of Browser Application:&lt;/h4&gt;  &lt;p&gt;With Silverlight 4.0 Microsoft has announced new features called out of browser application and it has amazed lots of developer because now possibilities are unlimited with it. Now in Silverlight 5.0 Out Of Browser application will have ability to Create Manage child windows just like windows forms or WPF Application. So you can fill power of desktop application with your out of browser application.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Testing Support with Visual Studio 2010:&lt;/h4&gt;  &lt;p&gt;Microsoft is going to add automated UI Testing support with Visual Studio 2010 with Silverlight 5.0. So now we can test UI of Silverlight much faster.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Better Support for RIA Services:&lt;/h4&gt;  &lt;p&gt;RIA Services allows us to create N-tier application with Silverlight via creating proxy classes on client and server both side. Now it will more features like complex type support, Custom type support for MVVM(Model View View Model) pattern. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;WCF Enhancements:&lt;/h4&gt;  &lt;p&gt;There are lots of enhancement with WCF but key enhancement will WSTrust support. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Text and Printing Support:&lt;/h4&gt;  &lt;p&gt;Silverlight 5.0 will support vector base graphics. It will also support multicolumn text flow and linked text containers. It will full open type support,Postscript vector enhancement.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Improved Power Enhancement:&lt;/h4&gt;  &lt;p&gt;This will prevent screensaver from activating while you are watching videos on Silverlight. Silverlight 5.0 is going add that smartness so it can determine while you are going to watch video and while you are not going watch videos.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Better support for graphics:&lt;/h4&gt;  &lt;p&gt;Silverlight 5.0 will provide in-depth support for 3D API. Now 3D rendering support is more enhancement in Silverlight and 3D graphics can be rendered easily.&lt;/p&gt;  &lt;p&gt;You can find more details on following links and also don’t forgot to view Silverlight Firestarter keynote video of ScottGu.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.silverlight.net/news/events/firestarter-labs/"&gt;http://www.silverlight.net/news/events/firestarter-labs/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/katriend/archive/2010/12/06/silverlight-5-features-firestarter-keynote-and-sessions-resources.aspx"&gt;http://blogs.msdn.com/b/katriend/archive/2010/12/06/silverlight-5-features-firestarter-keynote-and-sessions-resources.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/12/02/announcing-silverlight-5.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/12/02/announcing-silverlight-5.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.silverlight.net/news/events/firestarter/"&gt;http://www.silverlight.net/news/events/firestarter/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/silverlight/future/"&gt;http://www.microsoft.com/silverlight/future/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;From &lt;a title="http://jalpesh.blogspot.com/2010/12/microsoft-silverlight-50-features-for.html" href="http://jalpesh.blogspot.com/2010/12/microsoft-silverlight-50-features-for.html"&gt;http://jalpesh.blogspot.com/2010/12/microsoft-silverlight-50-features-for.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=484435" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Silverlight essential downloads</title><link>http://bloggingabout.net/blogs/andries/archive/2010/11/16/silverlight-essential-downloads.aspx</link><pubDate>Tue, 16 Nov 2010 10:57:08 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:484316</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=484316</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/11/16/silverlight-essential-downloads.aspx#comments</comments><description>&lt;p&gt;For those working on Silverlight project (including myself) this list comes in very handy when setting up your development environment.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.timmykokke.com/silverlight-downloads/" href="http://www.timmykokke.com/silverlight-downloads/"&gt;http://www.timmykokke.com/silverlight-downloads/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks Timmy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=484316" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Development/default.aspx">Development</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Gesture-Based Computing Uses $1 Lycra Gloves</title><link>http://bloggingabout.net/blogs/andries/archive/2010/06/03/gesture-based-computing-uses-1-lycra-gloves.aspx</link><pubDate>Thu, 03 Jun 2010 08:25:37 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483452</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=483452</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/06/03/gesture-based-computing-uses-1-lycra-gloves.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/8182.lycraglovescomputingmit1_5F00_4E7E378F.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="lycra-gloves-computing-mit[1]" border="0" alt="lycra-gloves-computing-mit[1]" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/6622.lycraglovescomputingmit1_5F00_thumb_5F00_1F4C4BF8.jpg" width="505" height="391" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Interacting with your computer by waving your hands may require just a pair of multicolored gloves and a webcam, say two researchers at MIT who have made a breakthrough in gesture-based computing that&amp;#39;s inexpensive and easy to use.&lt;/p&gt;  &lt;p&gt;Very, very cool!&lt;/p&gt;  &lt;p&gt;Read More at: &lt;a title="http://www.wired.com/gadgetlab/2010/05/gloves-gesture-computing/" href="http://www.wired.com/gadgetlab/2010/05/gloves-gesture-computing/"&gt;http://www.wired.com/gadgetlab/2010/05/gloves-gesture-computing/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483452" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Interaction/default.aspx">Interaction</category></item><item><title>Silverlight Resize Drag Behavior for targeted UIElements</title><link>http://bloggingabout.net/blogs/andries/archive/2010/04/21/silverlight-resize-drag-behavior-for-targeted-uielements.aspx</link><pubDate>Tue, 20 Apr 2010 23:19:02 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483136</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=483136</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/04/21/silverlight-resize-drag-behavior-for-targeted-uielements.aspx#comments</comments><description>&lt;p&gt;I have been searching for a Silverlight behavior where you have the ability to resize a column. Normally you can do such a thing with a GridSplitter onto a grid with several columns.&lt;/p&gt;  &lt;p&gt;Unfortunately this doesn’t work when you also wants to implement something like a hide and show menu column.&lt;/p&gt;  &lt;p&gt;Therefore I created this behavior myself and released it on CodePlex. So if you are developing a Silverlight application and you find yourself in need of a simple behavior that allows you to resize an element by dragging either in height or width, go to the &lt;a href="http://resizedragbehavior.codeplex.com/" target="_blank"&gt;ResizeDragBehavior on Codeplex&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The solution also includes a sample project where you can see how you can easily setup a menupanel-based interface.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="ResizeDragBehavior" border="0" alt="ResizeDragBehavior" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/1070.ResizeDragBehavior_5F00_166EF1BD.png" width="512" height="328" /&gt; &lt;/p&gt;  &lt;p&gt;The behavior is fully compatible with Expression Blend.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483136" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Practical+UX/default.aspx">Practical UX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Blend/default.aspx">Blend</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design/default.aspx">Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Personal+Experience/default.aspx">Personal Experience</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Behavior/default.aspx">Behavior</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/ResizeDragBehavior/default.aspx">ResizeDragBehavior</category></item><item><title>The Ten Commandments of User Experience</title><link>http://bloggingabout.net/blogs/andries/archive/2010/03/30/the-ten-commandments-of-user-experience.aspx</link><pubDate>Tue, 30 Mar 2010 12:23:10 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:483038</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=483038</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/03/30/the-ten-commandments-of-user-experience.aspx#comments</comments><description>&lt;ul&gt;   &lt;li&gt;     &lt;h5&gt;1st commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;The user is always right&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;You are not the user. Neither is your boss&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;2nd commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Understand the User&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;3th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Avoid Solutioneering&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;Identify &amp;amp; fully understand problems before finding solutions&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;4th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Form follows function&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;Form must play within the general realm of the familiar for easily understood functions.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;5th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Content is king&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;Design is about communication, and takes more than pixels to communicate.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;95% of web users do not read 80% of your content.        &lt;br /&gt;This doesn’t mean that your content &lt;u&gt;isn’t&lt;/u&gt; important, it means it’s &lt;u&gt;more&lt;/u&gt; important.&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;6th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Innovate, do not Imitate&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;7th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Access is for Everyone&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;8th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Plan before you Design&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;With our users in mind and the right vision, we can plan, and develop successful applications.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;9th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Understand the Goal&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;Executives can no longer afford to formulate strategy without embracing user experience.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;If your website could do only &lt;u&gt;one&lt;/u&gt; small thing, what would that one thing be?&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;h5&gt;10th commandment&lt;/h5&gt;      &lt;h4&gt;&lt;font color="#0080c0"&gt;Learn from Failure&lt;/font&gt;&lt;/h4&gt;      &lt;p&gt;&lt;em&gt;Failure is success if we learn from it.&lt;/em&gt;&lt;/p&gt;      &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://konigi.com/notebook/ten-commandments-user-experience" target="_blank"&gt;From Nick Finck and Raina Van Cleave’s presentation from SXSWi.&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=483038" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Development/default.aspx">Development</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design+tenets/default.aspx">Design tenets</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design/default.aspx">Design</category></item><item><title>Home Server µTorrent IIS Web Access Client</title><link>http://bloggingabout.net/blogs/andries/archive/2010/02/11/home-server-181-torrent-iis-web-access-client.aspx</link><pubDate>Thu, 11 Feb 2010 09:22:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482820</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482820</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2010/02/11/home-server-181-torrent-iis-web-access-client.aspx#comments</comments><description>&lt;p&gt;At home I have a &lt;a target="_blank" href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/"&gt;Windows Home Server&lt;/a&gt; which also has &lt;a target="_blank" href="http://www.utorrent.com/"&gt;&amp;micro;Torrent&lt;/a&gt; running as a service. Luckily this application comes default with a &lt;a target="_blank" href="http://www.utorrent.com/documentation/webui"&gt;Web Access&lt;/a&gt; which allows you to manage &amp;micro;Torrent without having a user logged in on your server. (installing &amp;micro;Torrent on your server as a service described &lt;a target="_blank" href="http://www.wegotserved.co.uk/wiki/index.php?title=Install_uTorrent_on_Windows_Home_Server"&gt;here&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;What happens is that the Web Access is made available on another port. Something like &lt;em&gt;http://homeserver:39295/gui/&lt;/em&gt;. And this might become a problem if you want to reach your Web Client from outside your personal network. Of course you can solve this by setting the port-forwarding, but in my case I wasn&amp;rsquo;t allowed to reach non-default ports when I was at work. The firewalls block these ports.&lt;/p&gt;
&lt;p&gt;But because I am allowed to reach the default port 80 on my home server, I wondered if it was possible to have the Web Client on the IIS of the Home Server. Unfortunately is the &amp;micro;Torrent Web Access client not meant for this, so I looked around to see if there where other Web Access clients which does the same.&lt;/p&gt;
&lt;p&gt;I did found &lt;a target="_blank" href="http://www.codeproject.com/KB/ajax/utorrent_web.aspx"&gt;one solution&lt;/a&gt;, and although it worked, it wasn&amp;rsquo;t exactly what I had in mind.&lt;/p&gt;
&lt;p&gt;So i created a little personal project to create a really simple &amp;micro;Torrent Web Access client that runs on IIS, so I have access to it from work. And now I have something working, I might as well share it for those who want to use it (or extend it).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/1104.uTorrent_5F00_65BF6989.png"&gt;&lt;img height="137" width="542" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/8737.uTorrent_5F00_thumb_5F00_701FF20F.png" alt="uTorrent" border="0" title="uTorrent" style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It is a very basic solution, with lots of improvement possible. But it works.&lt;/p&gt;
&lt;p&gt;The communication with &amp;micro;Torrent is realized by the DLL in the &lt;a target="_blank" href="http://www.codeplex.com/uTorrentClient"&gt;&amp;micro;Torrent Web Client API Wrapper Library&lt;/a&gt; project on CodePlex. This worked like a charm, except it throws an exception when trying to delete a torrent. (Can&amp;rsquo;t figure out what it is, but the functionality still works, you just receive a message)&lt;/p&gt;
&lt;p&gt;My solution is based on the &lt;a target="_blank" href="http://www.asp.net/ajax/AjaxControlToolkit/Samples/"&gt;ASP.NET Ajax Control Toolkit&lt;/a&gt;, so if you wish to develop on it, you need that installed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Download here the entire solution:
&lt;div class="wlWriterEditableSmartContent" id="scid:12CF4F9E-00D5-4d59-A727-42B7641FBD93:8a26a3e6-833c-4e76-a88a-9b4e5952ea4e" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt; &lt;a target="_self" href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/0383.uTorrentIISClientSolution_5F00_02589305.zip"&gt;uTorrentIISClient.zip&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;div&gt;
&lt;p&gt;Download here the Web Access client:
&lt;div class="wlWriterEditableSmartContent" id="scid:12CF4F9E-00D5-4d59-A727-42B7641FBD93:afc5fcef-7774-4151-974a-d36a38ec3e74" style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;"&gt; &lt;a target="_self" href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/4722.uTorrentIISClient_5F00_41D27E30.zip"&gt;uTorrentIISClient.zip&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482820" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/ASP/default.aspx">ASP</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/IIS/default.aspx">IIS</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/_26002300_181_3B00_Torrent/default.aspx">&amp;#181;Torrent</category></item><item><title>Article published in SDN Magazine</title><link>http://bloggingabout.net/blogs/andries/archive/2009/12/21/article-published-in-sdn-magazine.aspx</link><pubDate>Mon, 21 Dec 2009 09:25:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482609</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482609</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2009/12/21/article-published-in-sdn-magazine.aspx#comments</comments><description>&lt;p&gt;SDN Magazine published my article about User Experience Design in their last edition. This article (in Dutch) can also be read &lt;a target="_blank" href="http://www.sdn.nl/SDN/Artikelen/tabid/58/view/View/ArticleID/3078/Daarom-User-Experience-Design.aspx"&gt;here&lt;/a&gt; on their website.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482609" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/SDN/default.aspx">SDN</category></item><item><title>In Control</title><link>http://bloggingabout.net/blogs/andries/archive/2009/11/10/in-control.aspx</link><pubDate>Tue, 10 Nov 2009 07:55:49 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482434</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482434</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2009/11/10/in-control.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/2844.InControl_5F00_21E1B59C.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;margin-left:0px;border-top:0px;margin-right:0px;border-right:0px;" title="InControl" border="0" alt="InControl" align="right" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/4667.InControl_5F00_thumb_5F00_0EC088F0.png" width="196" height="133" /&gt;&lt;/a&gt; What I realize more and more is that the end-users wants to be &lt;em&gt;In Control&lt;/em&gt;. This applies especially with new developed applications that automates some of their work. By default users are skeptic. The application have to earn their trust. The more they get the feeling they are not in control, the less trust and the less acceptance of your newly developed product.&lt;/p&gt;  &lt;p&gt;Only when the product doesn’t automate or replace existing work, an employee is likely to accept the application more easily. But still you first have to prove it and earn the users trust.&lt;/p&gt;  &lt;p&gt;So what can you conclude from this:&lt;/p&gt;  &lt;p&gt;At the moment you are working on a project that will automate a part of the users work, try to learn how he does that work, and don’t take away his flexibility. It´s allright that the application makes decisions and perform actions that he normally did, but certainly in the first releases, let him be the one that controls the final action.&lt;/p&gt;  &lt;p&gt;For example when it comes to communication with customers. Originally he had to write and send the emails by hand. A desired functionality of the application is to do this automatically. A good approach to fully reach this functionality is to split it in several releases.&lt;/p&gt;  &lt;p&gt;In the first release make sure the user can see all the emails that are about to be send, let him edit the emails if he likes to, and let him push the button that finally sends the mail. The user can see what the application is doing, and will build some trust with it.&lt;/p&gt;  &lt;p&gt;So in the second release you extend this functionality with a scheduler and a “do send” / “do not send” checker. The user have to “check” the emails for “do send” and they are send automatically on a configurable time. The user can see if the scheduler works and that the emails are send correctly. So the trust in the application increases more.&lt;/p&gt;  &lt;p&gt;In a third release all the emails are set default to “do send”, and the scheduler sends them every half our (or something). The user doesn’t really have to look to the emails anymore, because he now trusts the functionality of the application. He still has the possibility to go and check the emails, alter them, deny them or disable / configure the scheduler.&lt;/p&gt;  &lt;p&gt;If you do it this way, the user feels he is&lt;em&gt; In Control.&lt;/em&gt; So the acceptance of the new product is much higher then if you fully automate the sending of email, but nobody had the ability to check or prevent what is being send.    &lt;br /&gt;Even if a system is flawless and everything is working exactly as designed, there will always be exceptions in the process. And if the users don’t feel they can do anything about it, they get the feeling they are not in control. It is very likely that your new application won’t be accepted.&lt;/p&gt;  &lt;p&gt;Just make your users feel they are &lt;em&gt;In Control&lt;/em&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482434" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Development/default.aspx">Development</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Application+Lifecycle+Management/default.aspx">Application Lifecycle Management</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Practical+UX/default.aspx">Practical UX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Project+management/default.aspx">Project management</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design/default.aspx">Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Personal+Experience/default.aspx">Personal Experience</category></item><item><title>A plea to my developer brethren about designer/designers</title><link>http://bloggingabout.net/blogs/andries/archive/2009/10/20/a-plea-to-my-developer-brethren-about-designer-designers.aspx</link><pubDate>Tue, 20 Oct 2009 10:40:19 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482350</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482350</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2009/10/20/a-plea-to-my-developer-brethren-about-designer-designers.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://timheuer.com/blog/archive/2009/10/19/14674.aspx" target="_blank"&gt;This post of Tim Heuer&lt;/a&gt; is something I completely agree with! So if you’re a developer and you work with designers, you do need to read this…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Since we appear to be in another revolution on user interface (UI) design and user experience (UX), I’ve seen a lot of people, companies, sites refer to the designer-developer workflow, including Microsoft.&amp;#160; Heck we’re &lt;a href="http://www.microsoft.com/expression"&gt;building tools&lt;/a&gt; around it for &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; and WPF development!&amp;#160; One thing I see too often though is the conversation being diminished to UI only.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’ve heard conversations between developers saying things like &lt;em&gt;yeah, now we just need a designer to make things look pretty&lt;/em&gt; or &lt;em&gt;we take what the designer made pretty and put functionality behind it&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;I have a plea for my developer brethren: &lt;strong&gt;please stop using the word pretty and diminishing the role a designer plays in defining UI/UX.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To me when I hear this I cringe for two reasons.&amp;#160; First, while I’m not a designer, I consider myself to have a strong appreciation for design and know that it isn’t easy to execute on a design for everyone.&amp;#160; Second I know many talented people in the design world who understand much more about how UI affects end user productivity and emotion more than just ‘making it pretty.’&amp;#160; So please stop, it’s insulting to the trade I think.&lt;/p&gt;  &lt;p&gt;Imagine if you heard a conversation of designers…&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;Designer A&lt;/u&gt;&lt;/em&gt;: Sweet design man, I love how you anticipate the user’s next interaction and use the typography to really identify that action.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer B&lt;/u&gt;&lt;/em&gt;: Yeah, it took a lot of research and usability observations, but I think we got it right.&amp;#160; I hope the developers can finish this up so we can get it in the user’s hands.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer A&lt;/u&gt;&lt;/em&gt;: Totally, I’m sure they’ll finish the macros soon, I think it’s all wizard based anyway.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer B&lt;/u&gt;&lt;/em&gt;: Yep, I mean, I’ve created an Access application before, how hard can it be.&lt;/p&gt;  &lt;p&gt;Yeah, see what I mean?&amp;#160; If you are insulted by hearing someone talking about the development craft reduced to macros and Access, then you should realize you’re doing the same thing.&amp;#160; Design is a craft just like software development and there are patterns and meaning to things that designers do, both in interactive design and print design.&amp;#160; It isn’t just about picking the right template.&amp;#160; Sure, palettes and animations are a part of the design, but their intent in the final design usually isn’t without thought.&amp;#160; Reducing a designer’s craft down to a simple “pretty” isn’t cool…at all.&amp;#160; And I’ve been guilty of it.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you want to work with a designer, then do it, but don’t hand them your finished product and ask them to make it pretty.&amp;#160; Make them a part of the process and have them help identify the right UI/UX for the application.&amp;#160; I realize it isn’t easy and sometimes isn’t possible to always have a designer, but when you have that need, just make sure you respect the trade or don’t be surprised if you get &lt;a href="http://www.amazon.com/Everything-Microsoft-Office-Excel-2007/dp/0072263695/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255989655&amp;amp;sr=8-1"&gt;this book&lt;/a&gt; in the mail.&amp;#160; Take a moment and learn what makes good design.&amp;#160; For a start, watch &lt;a href="http://blog.nerdplusart.com"&gt;Robby’s&lt;/a&gt; session from MIX08: &lt;a href="http://videos.visitmix.com/MIX09/02W"&gt;&lt;strong&gt;Design Fundamentals for Developers&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I’ve got it off my chest…and I leave you with this:&lt;/p&gt;  &lt;p&gt;Cheers.&lt;/p&gt;  &lt;p&gt;Tim Heuer&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482350" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Development/default.aspx">Development</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/User+Experience+Design/default.aspx">User Experience Design</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/MIX/default.aspx">MIX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Design/default.aspx">Design</category></item><item><title>OS Desktop Experience</title><link>http://bloggingabout.net/blogs/andries/archive/2009/10/08/os-desktop-experience.aspx</link><pubDate>Thu, 08 Oct 2009 05:58:54 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482280</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482280</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2009/10/08/os-desktop-experience.aspx#comments</comments><description>&lt;p&gt;The other day I was talking about how exactly the transition will be when switching from mouse/keyboard to touch when it comes to the User Experience. For example your operating system desktop. And then I came across this promotional video of &lt;a href="http://bumptop.com/" target="_blank"&gt;BumpTop.com&lt;/a&gt;. Really nice!&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:a4c01e83-f29b-401c-aca3-8eae7f9b75a4" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=eqcmPJ-oVL0&amp;amp;feature=player_embedded" target="_new"&gt;&lt;img src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/7065.video8d361783a3f3_5F00_3E712FAD.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Desktops are very personal, so I really don’t expect that the majority will use this. But it really is a nice approach that I simply just couldn’t ignore.&lt;/p&gt;  &lt;p&gt;p.s. Sorry for not being able to embed the video in the page. Something with the blog-engine.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482280" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Practical+UX/default.aspx">Practical UX</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Personal+Experience/default.aspx">Personal Experience</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Touch/default.aspx">Touch</category><category domain="http://bloggingabout.net/blogs/andries/archive/tags/BumpTop/default.aspx">BumpTop</category></item><item><title>Augmented reality</title><link>http://bloggingabout.net/blogs/andries/archive/2009/09/25/augmented-reality.aspx</link><pubDate>Fri, 25 Sep 2009 13:48:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482241</guid><dc:creator>Andries van der Meulen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/andries/rsscomments.aspx?PostID=482241</wfw:commentRss><comments>http://bloggingabout.net/blogs/andries/archive/2009/09/25/augmented-reality.aspx#comments</comments><description>&lt;p&gt;&lt;img style="border-right-width:0px;margin:0px 0px 0px 20px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Augmented Reality" border="0" alt="Augmented Reality" align="right" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/1882.AugmentedReality_5F00_75CD7070.png" width="201" height="113" /&gt; It’s not like I&amp;#39;m a trend-watcher or something, but what I really noticed is the increase on topics for &lt;a href="http://en.wikipedia.org/wiki/Augmented_reality" target="_blank"&gt;augmented reality&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Augmented reality basically adds a layer onto the reality. This can be done using a hand-held device.&lt;/p&gt;  &lt;p&gt;Here are 2 cool video’s I saw last week that shows what can be done.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4&gt;ARhrrr - An augmented reality shooter &lt;/h4&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0ab39c1b-23e0-4e38-a5b2-cbcbab85a4bd" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=cNu4CluFOcw&amp;amp;hl=nl&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/6443.video00b4eca94590_5F00_67E8E8E7.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;Augmented Reality Pool (Skip to 02:01) &lt;/h4&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:c9e43cbd-0b23-4e31-9f73-c959f283765d" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=AENJxqR0g48&amp;amp;hl=nl&amp;amp;fs=1&amp;amp;" target="_new"&gt;&lt;img src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/andries.metablogapi/6864.videofbc6bd93df22_5F00_1FBB2D0B.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This will bring a whole new experience to end-users. Not just for information when you’re walking down the street. But just think about the possibilities also for Line Of Business applications.&lt;/p&gt;  &lt;p&gt;In Logistics. Where information about vehicles, packages, assembly lines, etc. are shown when the planner, mechanic, driver, etc. are walking by.&lt;/p&gt;  &lt;p&gt;In a lab. Where you can see all the information on various ingredients and mixtures.&lt;/p&gt;  &lt;p&gt;In a storage department. In a grocery store. Almost everywhere where people work with real-life products, augmented reality can have real benefits.&lt;/p&gt;  &lt;p&gt;I can’t wait to see this technique evolve and be able to use it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482241" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/andries/archive/tags/Augmented+reality/default.aspx">Augmented reality</category></item></channel></rss>