﻿<?xml version="1.0" encoding="utf-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Intersoft Solutions Corporate Latest News</title><link>http://www.intersoftpt.com</link><description>The latest news of Intersoft Solutions Corporation.</description><generator>http://www.intersoftpt.com</generator><language>en</language><copyright>Copyright 2000 - 2009 Intersoft Solutions Corp. All rights reserved.</copyright><item><title>Introducing New Visual Studio 2010 Templates for WebUI Studio</title><link>http://intersoftpt.wordpress.com/2010/07/30/introducing-new-visual-studio-2010-templates-for-webui-studio/</link><comments>http://intersoftpt.wordpress.com/2010/07/30/introducing-new-visual-studio-2010-templates-for-webui-studio/#comments</comments><pubDate>Fri, 30 Jul 2010 08:23:16 +0000</pubDate><dc:creator>Jemmy</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[asp.net]]></category><category><![CDATA[templates]]></category><category><![CDATA[WebUI Studio]]></category><description><![CDATA[Earlier this month, we have successfully launched WebUI Studio 2010 RC which includes hundreds of new components for Silverlight 3, Silverlight 4, and WPF 4. Although the main highlight in this upcoming release is ClientUI, we have added the ASP.NET lineups with 8 new WebEssentials components and predefined templates. WebEssentials has been discussed several times. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1616&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>Earlier this month, we have successfully launched WebUI Studio 2010 RC which includes hundreds of new components for Silverlight 3, Silverlight 4, and WPF 4. Although the main highlight in this upcoming release is ClientUI, we have added the ASP.NET lineups with 8 new WebEssentials components and predefined templates. WebEssentials has been discussed several times. Check out the past blog <a href="http://en.wordpress.com/tag/webessentials/" target="_blank">here</a> and discover its key feature.</p>
<p>For those who haven’t downloaded the RC, I strongly suggest you to grab one <a href="http://www.intersoftpt.com/downloadrc" target="_blank">here</a> and test drive it yourself. Feel free to compare it with competing products and make your decision wisely. Should you have any questions or doubts, our friendly <a href="mailto:sales@intersoftpt.com">Sales</a> team is ready to assist you.</p>
<p>On every product release, the real deal is always about how many new components it delivers or what new technology does the new version of an existing product support. And the results we usually expect are how it handles a massive amount of data swiftly, how it simplified a complex navigation system into a user-friendly one, etc.</p>
<p>Often times, we are too focus in those areas and eventually forget the rudimentary aspect. A third-party control should deliver innovative features which work out-of-the-box and easy to be implemented in business or real-world scenarios.</p>
<p>Starting this release (2010 RC specifically), several basic project templates are bundled to help you get started your mega-sized project quickly leveraging the powerful WebUI Studio products. These templates are installed automatically and are available from the new project dialog.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/choose-project-templates.png"><img class="alignnone size-full wp-image-1623" title="choose-project-templates" src="http://intersoftpt.files.wordpress.com/2010/07/choose-project-templates.png?w=544&#038;h=376" alt="" width="544" height="376" /></a></p>
<p>Select your desired platform and you can see the available templates. Or, click on Intersoft Solutions node to see all templates. This blog discusses the ASP.NET template only.</p>
<h2>Empty Web Site Template</h2>
<p>Let’s start with the basic, select “Intersoft Empty Web Site”. As the name implies, this template only have a blank default.aspx page. However, all essential assemblies are included inside the bin folder. The Web.config has been preconfigured to run at the most optimal setting. Simply said, you can drag-drop any controls to the designer and run it immediately. No more annoying SmartWebResources error message or any error messages.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/webconfig.png"><img class="alignnone size-full wp-image-1627" title="webconfig" src="http://intersoftpt.files.wordpress.com/2010/07/webconfig.png?w=544&#038;h=303" alt="" width="544" height="303" /></a></p>
<p>Above is inside the Web.config. In addition to the SmartWebResources, several settings are inserted, such as: WebGrid’s exporting and Pivot Chart feature.</p>
<h2>Basic Web Site Navigation Template</h2>
<p>As the world’s internet population increases, the number of new website – and web application – grows rapidly every day. This is a challenging situation for every website owner, not only he has to provide great and updated content, but also well-defined and easily-spotted navigation. No one wants visitors to leave the site just because they can’t navigate to a specific page.</p>
<p>This is what we want to focus, by providing a basic template with predefined navigation infrastructure so that you can focus on building the content. This template includes several dummy pages linked to a master page.</p>
<p>The master page contains a list box control with predefined items. When clicked, it will redirect you according to the clicked item. Switch to the master page’s code behind to learn in details.</p>
<p>To connect a new page, you need to add a new aspx and linked it to the master page. In the aspx.cs, set the selected index to a specific number. In the master page’s .cs file, add a new case method according to the selected index. Next, add a new WebListBox item and set the necessary properties.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/navigation-templates.png"><img class="alignnone size-full wp-image-1624" title="navigation-templates" src="http://intersoftpt.files.wordpress.com/2010/07/navigation-templates.png?w=544&#038;h=392" alt="" width="544" height="392" /></a></p>
<p>Assuming that your new page is MyNewPage.aspx and the selected index is 5.</p>
<p>Here is the result in IE8 browser.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/navigation-templates-result.png"><img class="alignnone size-full wp-image-1625" title="navigation-templates-result" src="http://intersoftpt.files.wordpress.com/2010/07/navigation-templates-result.png?w=544&#038;h=366" alt="" width="544" height="366" /></a></p>
<h2>Business Scenario Template</h2>
<p>WebUI Studio is after all geared toward the development of powerful line-of-business applications with intensive data processing and extensive usage. Two business scenarios templates are available in the RC currently, a scheduling website template and an enterprise data management application.</p>
<p>Powered by WebScheduler, the scheduling template provides a very solid foundation for starter. It features WebPaneManager with vertical horizontal layout separation, WebNavPane to host the navigation item, a basic registration form, and a fully-functional navigation. Like the other two basic templates, all business scenarios templates include complete assemblies and preconfigured Web.config.</p>
<p>WebScheduler is also preconfigured with default settings and attached to a dummy database. You can later customize the field to meet your requirements.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/scheduler-templates.png"><img class="alignnone size-full wp-image-1626" title="scheduler-templates" src="http://intersoftpt.files.wordpress.com/2010/07/scheduler-templates.png?w=544&#038;h=389" alt="" width="544" height="389" /></a></p>
<p>The next template focuses more on data management using WebGrid bound to Northwind’s <strong><em>[Customer]</em></strong> and <strong><em>[Employees]</em></strong> tables. Most basic features are enabled, such as: filtering and paging. Instead of using the built-in editing feature, the “add new row” feature is done in a separated form.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/business-template.png"><img class="alignnone size-full wp-image-1622" title="business-template" src="http://intersoftpt.files.wordpress.com/2010/07/business-template.png?w=544&#038;h=335" alt="" width="544" height="335" /></a></p>
<h1>Conclusion</h1>
<p>These project templates are designed as a generic solution for WebUI Studio and Visual Studio 2010 developers so that you can enjoy a seamless development process without having to deal with advanced project configuration. It also gives you the basic idea of what you can build and deliver with WebUI Studio lineups. In the future, more creative templates will be added. What business templates would you like to see? Voice it out now.</p>
<p><a href="http://www.intersoftpt.com/downloadrc" target="_blank">Download WebUI Studio 2010 RC now</a> and start using the above template. If you have any further suggestions or questions, feel free to post in <a href="http://www.intersoftpt.com/Community/TheLounge" target="_blank">Intersoft Community</a>.</p>
<p>Regards,<br />
Jemmy.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1616/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1616&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/07/30/introducing-new-visual-studio-2010-templates-for-webui-studio/feed/</wfw:commentRss></item><item><title>ClientUI Part 7 – Unveiling Desktop, Window and Dock Experiences.</title><link>http://intersoftpt.wordpress.com/2010/07/17/clientui-part-7-unveiling-desktop-window-and-dock-experiences/</link><comments>http://intersoftpt.wordpress.com/2010/07/17/clientui-part-7-unveiling-desktop-window-and-dock-experiences/#comments</comments><pubDate>Sat, 17 Jul 2010 16:18:00 +0000</pubDate><dc:creator>jimmyps</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[Development]]></category><category><![CDATA[Products]]></category><category><![CDATA[Silverlight]]></category><category><![CDATA[ClientUI 2010]]></category><category><![CDATA[WPF]]></category><category><![CDATA[UX]]></category><category><![CDATA[Desktop]]></category><category><![CDATA[Window]]></category><category><![CDATA[Dock]]></category><category><![CDATA[DesktopDock]]></category><description><![CDATA[Earlier this month, we have released a public RC version of ClientUI 3 which includes all controls for Silverlight 3, Silverlight 4 and WPF 4. I trust you’ve got yourself a copy of the bits – if not, you can download and get started here. While we’re preparing for the final release, you can actually [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1426&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>Earlier this month, we have released a public RC version of ClientUI 3 which includes all controls for Silverlight 3, Silverlight 4 and WPF 4. I trust you’ve got yourself a copy of the bits – if not, you can download and get started <a href="http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/" target="_blank">here</a>. While we’re preparing for the final release, you can actually test drive the ClientUI RC bits in your projects. Many of the controls and templates that we shipped in the RC are already near RTM quality thus enables you to do quick prototyping or jump into development directly.</p>
<p>In this post, I’ll continue on the ClientUI series blog which is focused on many exciting visual goodies – something that your end users will definitely love to see and experience with. Now with the ClientUI RC bits in your hand, you can try many of the new features by yourself, or download the samples and run it in your development machine.</p>
<h3>Toward A Better RIA Application Model</h3>
<p>In my past <a href="http://en.wordpress.com/tag/clientui-2010/" target="_blank">blog series</a>, I’ve introduced several key application scenarios that you can now build on a Silverlight platform – from a simple website navigation to a more advanced, journal-aware business application model. These application models are commonly called as single document interface (SDI), whereas users navigate to and interact with only one document (or content) at a time. </p>
<p>In simpler thought, you can also think of it as a single task-based interface. For an instance, navigating to a Customers page will show you a list of customers where you can view customer information, edit, delete or do actions related to it. Then, if you would like to see some Reports, you need to navigate to the Reports page which consequently leaving the Customers page. This kind of presentation pattern describes a single document interface.</p>
<p>While SDI pattern suits most of simpler applications, a more complex one such as composite application can use more innovative presentation to overcome the single-task limitation, which at the same time enhances user experiences and productivity. One of the most popular presentation patterns for composite applications that made possible today is the multiple document interface (MDI) pattern.</p>
<p>The MDI is exactly the presentation pattern that we want to bring along in this ClientUI release which we hope to empower the next-generation RIAs with more compelling user experiences that revolutionize the way people interact with information. Contrary to the SDI, the MDI pattern allows multiple documents to be shown at the same time, such as showing Contacts and Reports in either stacked or side-by-side. That said, MDI pattern is widely adopted in most graphical operating system today, such as Windows, Mac OS, Linux and more.</p>
<p>The following illustration compares the SDI and MDI presentation pattern.</p>
<p>&#160;<a href="http://intersoftpt.files.wordpress.com/2010/07/sdivsmdi.png"><img style="display:inline;border-width:0;" title="SDI vs MDI" border="0" alt="SDI vs MDI" src="http://intersoftpt.files.wordpress.com/2010/07/sdivsmdi_thumb.png?w=642&#038;h=402" width="642" height="402" /></a> </p>
<h3>The Desktop and Window Experiences</h3>
<p>It’s undeniable that technical difficulties and architecture complexity are among the aspects that hold back application developers and UX designers to employ MDI presentation in their composite RIA applications. That’s not to mention cross-browser compatibility, usability and consistency, and other details. To that end, we’ve built a set of tools from the ground-up which enable developers to rapidly build rich composite applications using MDI pattern. I’m excited to introduce our next-generation <strong>UXDesktop</strong> and <strong>UXWindow</strong> line-ups.</p>
<p>The UXDesktop and UXWindow are two key components of MDI presentation pattern. Specifically designed to meet the strict platform-standards in usability and experiences, UXWindow delivers consistent and reliable results regardless of browsers or platforms. </p>
<p>The UXDesktop manages the life cycle of all UXWindow instances that it hosted, this includes the window positioning arrangement, the window state management, window events and command management, while the UXWindow represents a logical container that supports fundamental MDI features such as ability to activate, deactivate, minimize, maximize, restore, close, move, resize and more.</p>
<p>The following screenshot shows the UXDesktop and UXWindow at a glance.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxdesktop.png"><img style="display:inline;border-width:0;" title="ClientUI UXDesktop" border="0" alt="ClientUI UXDesktop" src="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxdesktop_thumb.png?w=702&#038;h=527" width="702" height="527" /></a> </p>
<p>UXWindow is a full-featured windowing component which provides all the user interface elements needed in a window such as title, control box, option buttons, chrome border, content area and more. It gives you complete customization over its look and feel, so you can create any kind of commercial-class UIs to your liking.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxwindow.png"><img style="display:inline;border-width:0;" title="ClientUI UXWindow" border="0" alt="ClientUI UXWindow" src="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxwindow_thumb.png?w=802&#038;h=620" width="802" height="620" /></a> </p>
<p>In this release, we also shipped various windowing components, such as <strong>UXWindowChrome</strong>, <strong>UXDialogBox</strong>, <strong>UXMessageBox</strong> and <strong>UXNavigationWindow</strong>. Using these components together with UXDesktop in your apps will breakthrough the existing RIA standards with full-fledged desktop experience that runs on the web.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuivariouswindows.png"><img style="display:inline;border-width:0;" title="ClientUI Various Windows" border="0" alt="ClientUI Various Windows" src="http://intersoftpt.files.wordpress.com/2010/07/clientuivariouswindows_thumb.png?w=802&#038;h=666" width="802" height="666" /></a> </p>
<p>Unlike simple window-look-alike approaches (such as the one in Silverlight’s ChildWindow), UXWindow fully complies to strict usability standards that I detailed in my <a href="http://intersoftpt.wordpress.com/2010/05/21/clientui-part-4-rich-ui-meets-iso-standards/" target="_blank">fourth ClientUI series</a>. One of the most critical aspects that a window must have is a solid focus management. So, if you switch from WindowA to WindowB, the logical focus will be set to the focusable element in the WindowB. Similarly, it should focus to the last element where the focus was left off upon switching to the previous window. Called focus scope and logical container, these are something Silverlight didn’t ship with, thus makes it nearly impossible for developers to implement such functionalities. On the other hand, we built all the required architectures from the scratch making many of these usability standards possible in the UXWindow and in the rest of our UI controls. And at the developer’s end, nothing else need to be done!</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuidialogbox.png"><img style="display:inline;border-width:0;" title="ClientUI DialogBox" border="0" alt="ClientUI DialogBox" src="http://intersoftpt.files.wordpress.com/2010/07/clientuidialogbox_thumb.png?w=752&#038;h=609" width="752" height="609" /></a> </p>
<p>The image above shows a dialog box with command bar and buttons. The OK button is associated as default button, while Cancel as cancel button. When such buttons existed, dialog box automatically detects their behaviors and corresponds to the <strong>dialog result</strong> based on the clicked button. Consequently, the key state will also be automatically mapped to the default and cancel button. And again, nothing extra need to be done at developer’s end. All you need to do is simply dropping a command bar and some buttons, then set their properties.</p>
<p>The <strong>UXNavigationWindow</strong> is a special window type that allows you to create local navigation in the window-scoped container. You can think it as a minified, full-featured navigation frame that’s hosted in beautifully-dressed presentation. I’ll discuss this in another time as it has a lot of nice features while we better stick with our topics for now.</p>
<h3>Meet UXDock – the Revolutionized Dock Experiences</h3>
<p>In addition to many fundamental controls, this release also packed-in a new version of our flagship Dock control (previously known as WebFishEye). Called UXDock, the new dock control was rewritten from the ground up to comply with Silverlight development standards. For instance, UXDock is now an ItemsControl and it used ItemsPanel too. This means that you can now customize UXDock in the same way and manner as you would do on a standard Listbox control.</p>
<p>But, UXDock is not just about naming changes or architecture revamp. We re-engineered everything – from the <em>zoom logic algorithm</em>, <em>stack layout mechanism</em> to <em>keyboard support</em> and <em>fine-tuned performance</em>. In addition, we also managed to implement UXDock features to match the Apple User Experiences standards – many thanks to Apple folks who pointed out many of the usability issues in the previous version.</p>
<p>The following image illustrates some of the fundamental usability enhancements that we’ve addressed in this new version.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxdockusability.png"><img style="display:inline;border-width:0;" title="ClientUI UXDock Usability" border="0" alt="ClientUI UXDock Usability" src="http://intersoftpt.files.wordpress.com/2010/07/clientuiuxdockusability_thumb.png?w=898&#038;h=775" width="898" height="775" /></a> </p>
<p>To give you more insights of what you can do with the new UXDock, here’s the top five new features that you’ll love to see:</p>
<ul>
<li><strong>Ultra-smooth Zooming Algorithm</strong>       <br />The most important user experiences aspect in a Dock control is the smoothness of its zooming process. To achieve the best result, every zoom point is calculated differently based on the zoom angle and where the mouse cursor enters from. Consequently, the new UXDock is twice faster than its predecessor, and you won’t spot any flickering movement again. </li>
<li><strong>Scrollable Stack Grid</strong>       <br />In real-world business apps, you don’t use UXDock to contain only a few contacts, documents, or items. That’s why our engineers revamped the Stack Grid to support scrollable mode so you can load any number of items you desire. </li>
<li><strong>Comprehensive Drag-drop Support</strong>       <br />Unlike the files-only drag-drop in Silverlight 4, ClientUI includes powerful drag-drop framework that supports arbitrary drag-drop between any visual elements. And better yet, our drag-drop framework is uniquely built around WPF semantics, so the same piece of Silverlight codes can continue to work without major changes in WPF project. The new UXDock is built on the top this drag-drop framework enabling you to add great interactivity to your RIAs – imagine dragging a contact from the stack onto the mail button to launch the Compose Email window, or reordering your favorite documents – all within the same interface. </li>
<li><strong>Stack Folder Appearance with Reflection</strong>       <br />The new UXDock now implements stack folder appearance in which items are stacked in the button area giving realistic and stunning items presentation. The stacked items aren’t just visual goodies, they are real visual elements that will spring out when the stack button is opened, and even can be navigated using keyboard in the open state. </li>
<li><strong>New Stylish Stack Menu</strong>&#160; <br />Is the Stack Arc too fancy for your business app? Does the Stack Grid take too much of your screen real estate? Then turn to our new Stack Menu, a new mode that allows you to show stack items in efficient yet compelling menu style interface. </li>
</ul>
<p>To get clearer picture on the top new features above, please refer to the following illustration.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/topuxdocknewfeatures.png"><img style="display:inline;border-width:0;" title="Top UXDock New Features" border="0" alt="Top UXDock New Features" src="http://intersoftpt.files.wordpress.com/2010/07/topuxdocknewfeatures_thumb.png?w=802&#038;h=867" width="802" height="867" /></a> </p>
<p>There are still dozens of nice new features that I can’t detailed here. Rest assured they will be completely listed in our website and documentation when it becomes available in the next few weeks. </p>
<p>Last but not least, UXDock now also runs on <strong>WPF</strong>! You can now unleash your creativity and starts using UXDock experience whether you’re delivering RIA or desktop apps.</p>
<h3>The Ultimate RIA Experiences Comes To Life</h3>
<p>So, now that we have <strong>UXDesktop</strong>, <strong>UXWindow</strong> and <strong>UXDock</strong> unleashed, the only thing you would want next is to make them work nicely together – click on a button in the Dock to launch an application, click on the minimize button to bring down the window into the Dock, click a minimized window to spring it up back, or open a stack from the Dock and click a contact to see its profile in a stylish window.</p>
<p>To cover various application-specific requirements and UXDesktop integration, we’re introducing <strong>UXDesktopDock</strong>, an innovative UI control that includes everything existed in UXDock, plus desktop integration features and tweaked configuration for optimal use in business applications.</p>
<p>One of the most challenging requirements in the architecture design is how we want these components to work together without strongly-coupled type reference. This enables us to ship the UXDesktop and UXDock in different assemblies, while still enabling them to be integrated through loosely-coupled view integration. Furthermore, this architecture enables future extensibility when new type of Dock or Window is introduced while still having these components to work together without code changes.</p>
<p>Thanks to our solid framework – the components integration can be designed elegantly through the proper use of the routed events, routed commands, routed input and focus scope. See the following image for more details.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuimdicomponentarchitecture.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI MDI Component Architecture" border="0" alt="ClientUI MDI Component Architecture" src="http://intersoftpt.files.wordpress.com/2010/07/clientuimdicomponentarchitecture_thumb.png?w=802&#038;h=602" width="802" height="602" /></a> </p>
<p>As shown in the above illustration, we took a more generic approach to the MDI architecture such as using ITaskBar naming convention rather than strongly-couple it to UXDock. In fact, the Dock UI is just a kind of the task bar, we could introduce different kind of Task Bar UI controls in the future – who knows, maybe Windows 7-style or uBuntu-style task bar <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>That said, these three fundamental MDI components – the UXDesktop, UXWindow and UXDesktopDock – empowers you to create amazing RIA solutions that are very difficult or impossible to achieve previously. To be more exact, the combination of these three components enable you to do the following:</p>
<ul>
<li><strong>Launch local XAML applications.</strong>      <br />The most basic operation in a MDI pattern application is to display a window that hosts its application content. The way we built our MDI architecture enables you to add windows and launch them in rapid fashion through your preferred IDEs – either Blend or Visual Studio 2010.</li>
<li><strong>Launch external applications.</strong>       <br />A more advanced MDI application such as a composite application definitely requires a consistent approach to launch a window that located in an external package (XAP), a technique that some MVVM guys called as <em>Dependency Injection</em> (DI). We took it to a higher abstraction where developers can naturally think external packages as “applications”, much like the application that you can download from Internet and install it in your Windows or Mac OS. This way, you don’t cope with tedious attributes or dozens of interfaces to satisfy – just a simple location discovery would do.
<p>In a correctly designed ClientUI app, you can even load the external “application” to the UXDesktop without code changes. You can try this later in the demo app that I put together in the end of this blog post. </li>
<li><strong>Navigate to XAML pages.       <br /></strong>In addition to launching an application window, you can also navigate to an <em>UXPage</em> instance that resides either locally or in other packages. When the <em>UXDesktop</em> detects that the specified target is a valid <em>UXPage</em>, it’ll host the page content in <em>UXNavigationWindow </em>instead of standard window. Many of the navigation features that I described in the <a href="http://intersoftpt.wordpress.com/2010/06/29/clientui-part-5-the-supercharged-silverlight-navigation/" target="_blank">part 5 of my blog series</a> will work consistently in the <em>UXNavigationWindow</em>.</li>
<li><strong>Minimize windows to a certain location in the Taskbar.</strong>&#160; <br />As well as supporting the basic operations such as described above, our loosely-coupled MDI architecture also supports full-featured window management tasks. This includes minimize, maximize, restore, launch and close operation of a window, which should be well integrated to the task bar. For instance, to properly achieve minimize operation, a task bar needs to provide information on the exact position where the window can be hosted.</li>
</ul>
<p>Each main visual element of a “XAML Application” is commonly represented by an IWindow interface which can be easily referenced through URI semantics. </p>
<p>The image below captures the essential concept of application integration in UXDesktop.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/clientuiapplicationmodeloverview.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI Application Model Overview" border="0" alt="ClientUI Application Model Overview" src="http://intersoftpt.files.wordpress.com/2010/07/clientuiapplicationmodeloverview_thumb.png?w=829&#038;h=765" width="829" height="765" /></a> </p>
<p>As seen in the above illustration, the application and navigation can be easily identified through two key properties, <strong>ApplicationUri </strong>or <strong>NavigateUri</strong>. The desktop integration provides more features such as opening single window instance versus multiple window instances.</p>
<p>Another feature that top our list is the <strong>automatic synchronization</strong> and <strong>status notification</strong> in <strong>UXDesktopDock</strong>. This is something that we designed extra thoroughly to ensure the dock buttons and windows are consistently synchronized regardless of the source that triggers the event. I.e., a window can be launched from a dock button, from a stack item, from routed command, or from API. </p>
<p>The following image shows several key features that natively managed by UXDesktopDock.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/uxdeskopdockintegrationfeatures.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="UXDeskopDock Integration Features" border="0" alt="UXDeskopDock Integration Features" src="http://intersoftpt.files.wordpress.com/2010/07/uxdeskopdockintegrationfeatures_thumb.png?w=1052&#038;h=643" width="1052" height="643" /></a> </p>
<h3>See It In Action</h3>
<p>To demonstrate many of these phenomenal user experiences, I’ve put together a desktop-style sample that loads Contacts application (external XAP) on demand, various window types and sample application content that makes sense to have in such composite MDI apps.</p>
<p>Click <a href="http://labs.clientui.com/mydesktopria" target="_blank">here</a> to launch the sample and experience it for yourself.</p>
<h3>Build Your Own</h3>
<p>We took every step and effort to ensure that our products aren’t just powerful and innovative, but also easy-to-use and developer-friendly. This means that you can rapidly create compelling MDI-style RIA solutions like the one I showcased in the matter of minutes! See the steps below.</p>
<p><strong>Step 1: Create New Desktop RIA Silverlight Application</strong></p>
<p>Launch Visual Studio 2010 from your program group, then choose New Project in the Get Started page.   </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/image.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://intersoftpt.files.wordpress.com/2010/07/image_thumb.png?w=802&#038;h=555" width="802" height="555" /></a> </p>
<p><strong>Step 2: Add New Window</strong></p>
<p>After your new project is created, right click on the Views folder and choose Add New Item. Select UXWindow in the template list and click Add. You can put in some content to the new window, such as a GlassLabel, or possibly an Image.   </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/image1.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://intersoftpt.files.wordpress.com/2010/07/image_thumb1.png?w=802&#038;h=555" width="802" height="555" /></a> </p>
<p><strong>Step 3: Add New Button and Connect to the New Window</strong></p>
<p>Open the MainPage.xaml, select the UXDesktopDock instance, right click on it and select “Add Button” from the menu. With the new button selected, bring up the property window and look for <strong>ApplicationUri </strong>property. Type in /Views/MyRichWindow.xaml which is the window page that we’ve just added. Optionally, you may want to assign an icon to the button to easily identify it in the runtime. Let’s choose the striking WhatsNew icon for the button.    </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/image2.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://intersoftpt.files.wordpress.com/2010/07/image_thumb2.png?w=802&#038;h=559" width="802" height="559" /></a>&#160; <br /><strong>     <br />Step 4: Run Your Project</strong></p>
<p>Hit F5 to run your project, you can now click on the button and see the window popped up smoothly!   </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/image3.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://intersoftpt.files.wordpress.com/2010/07/image_thumb3.png?w=802&#038;h=717" width="802" height="717" /></a>     </p>
<p>Congratulations! You’ve got a truly rich RIA solution running in just few minutes!</p>
<p>With the ready-to-use templates packed with all rich ClientUI controls inside, that means you can easily replace the content with your real data and put-in some grids. It’s very possible that you could deliver a rich RIA solution in just few days! Isn’t that cool?</p>
<h3>Summary</h3>
<p>It took us more than 3 years to conceptualize the entire MDI architecture and to get every piece of components to work together. I should also mention that the <strong>UXDesktop</strong>, <strong>UXWindow</strong>, <strong>UXDock</strong> and <strong>UXDesktopDock</strong> experience doesn’t only run in Silverlight 3 and 4, it also works consistently in WPF 4. Defying the MDI requirements, strict UX challenges and the cross-platform architecture is something very difficult that our engineers are hard at work. And finally we’ve got them delivered.</p>
<p>Well, so far we’ve discussed a lot of possibilities that you now can do in Silverlight using ClientUI – from basic website navigation, advanced multi-level navigation applications, and now phenomenal desktop-style applications with full-featured MDI capabilities. With the solutions we’ve built this far, we hope Silverlight can be seen as a compelling platform for RIA-based business apps, as well as to invite non-Microsoft developers – such as Adobe AIR or JavaFX developers – to build something amazing using Silverlight and ClientUI.</p>
<p>Finally, if you haven’t got yourself a copy of ClientUI RC, please click <a href="http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/" target="_blank">here</a> to get started with your next innovative RIA solutions. We already have dozens of hot discussions on our Community Forum talking about Silverlight &amp; WPF compatibility, navigation, MVVM, UX, and more. So make sure you post your questions and feedback to <a href="http://www.intersoftpt.com/Community/ClientUI/" target="_blank">ClientUI forum</a>. Enjoy!</p>
<p>All the best,    <br />Jimmy.     <br />Chief Software &amp; UX Architect.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1426/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1426/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1426/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1426&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/07/17/clientui-part-7-unveiling-desktop-window-and-dock-experiences/feed/</wfw:commentRss></item><item><title>Part 6 – ClientUI 3 For Silverlight and WPF. Delivered.</title><link>http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/</link><comments>http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/#comments</comments><pubDate>Sat, 03 Jul 2010 04:45:50 +0000</pubDate><dc:creator>jimmyps</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[Development]]></category><category><![CDATA[Products]]></category><category><![CDATA[Silverlight]]></category><category><![CDATA[ClientUI 2010]]></category><category><![CDATA[WPF]]></category><category><![CDATA[Public Release Candidate]]></category><category><![CDATA[Get Started]]></category><description><![CDATA[Few days ago, I posted a blog that details several aspects that are very fundamental in a real-world business Silverlight application specifically on the navigation architecture, authentication and security, MVVM and more – and more importantly, how we engineered ClientUI from the ground-up to address all these challenges and enable them to work in concert. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1393&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>Few days ago, I posted a <a href="http://intersoftpt.wordpress.com/2010/06/29/clientui-part-5-the-supercharged-silverlight-navigation/" target="_blank">blog</a> that details several aspects that are very fundamental in a real-world business Silverlight application specifically on the navigation architecture, authentication and security, MVVM and more – and more importantly, how we engineered ClientUI from the ground-up to address all these challenges and enable them to work in concert. </p>
<p>After a long journey of development, today is the day we’ve all been waiting for. The wait is over – we’re excited to officially announce the ClientUI Release Candidate (RC) which is now available for public download. More details below.</p>
<h2>Silverlight &amp; WPF Developers – What Can ClientUI Do For You?</h2>
<p>Beyond just a set of components, ClientUI takes Silverlight development to a whole new level by putting together MVVM-ready framework, supercharged navigation framework with nested navigation support and role-based authentication, WPF-style routed command and events and powerful, easy-to-use drag-drop controls. And with over 60 rich UI controls with strict ISO-standards conformance, now you can quickly and rapidly create any types of rich Silverlight applications where your creativity is the only limit.</p>
<p>Since ClientUI resembles a wide range of feature-sets ranging from architecture to development to runtime, it gives all the tools needed in RIA development for different types of users, from system architects, web developers to UX designers and end users. <a href="http://www.intersoftpt.com/News/June2010.html#ClientUI" target="_blank">Read our recently published newsletter</a> to discover what ClientUI can do for you.</p>
<h2>Download Intersoft ClientUI 3 RC</h2>
<p>Visit <a href="http://www.clientui.com" target="_blank">ClientUI.com</a> and click on the <strong>Download </strong>button to start your download, then follow the guided step when you reach the download form. We’d love to hear your download experiences, tell us when you got couple minutes!</p>
<h2>Select Platforms</h2>
<p>If you only want to evaluate ClientUI, make sure you choose <strong>Web Setup </strong>in the download instruction that sent to your email. When you’re asked to select platforms, select only Silverlight and WPF platforms. This allows the Setup to download only the necessary files required for ClientUI development. See the image below.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/chooseedition.png"><img style="display:inline;border-width:0;" title="ChooseEdition" border="0" alt="ChooseEdition" src="http://intersoftpt.files.wordpress.com/2010/07/chooseedition_thumb.png?w=662&#038;h=521" width="662" height="521" /></a></p>
<p>By default, the Setup will include all development platforms. If you also develop ASP.NET apps, I highly recommend you to install it as well – we’ve got 8 amazing, most-wanted ASP.NET widgets, from iPhone-style sliding menu, accordion, slider, list box to calendar and progress bar.</p>
<h2>Read the Getting Started</h2>
<p>Rest assured that you get only the best-in-class user experiences with WebUI Studio! After installation, a Getting Started document will appear. Each year, we revamped our Getting Started to make it even easier and faster for you to find the information you need. To quickly jump start with ClientUI, make sure you click on the Silverlight part such as shown in the red-highlighted mark below. </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/getstarted.png"><img style="display:inline;border-width:0;" title="GetStarted" border="0" alt="GetStarted" src="http://intersoftpt.files.wordpress.com/2010/07/getstarted_thumb.png?w=702&#038;h=592" width="702" height="592" /></a> </p>
<h2>Explore The Samples</h2>
<p>ClientUI Release Candidate ships with three reference samples for Silverlight 4 which demonstrate the use of various ClientUI components in line-of-business scenarios. The solutions are provided in Visual Studio 2010 format for best development experiences.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/vs2010solutions.png"><img style="display:inline;border-width:0;" title="VS2010Solutions" border="0" alt="VS2010Solutions" src="http://intersoftpt.files.wordpress.com/2010/07/vs2010solutions_thumb.png?w=252&#038;h=401" width="252" height="401" /></a> </p>
<p>To learn how to create Silverlight navigation application that used role-based security combined with WCF RIA Services, child navigation and many other features explained in my previous blog, open <strong>Business Application Sample</strong>.</p>
<p>To learn how to create Silverlight application that uses MVVM pattern and supports WPF codebase, check out <strong>Contacts MVVM Sample</strong>. If you’re interested in the WPF counterpart instead, we also ship the Contacts MVVM Sample under the WPF program group. Learn how commanding, input binding, UI controls and view models can work together in both Silverlight and WPF project.</p>
<p>If you prefer to see the samples in action, simply click on the Launch* shortcuts.</p>
<p>Note that the controls and features-based samples will be made available in the RTM release along with the complete documentations and walkthrough.</p>
<h2>Create Your First ClientUI Silverlight Project using Visual Studio 2010</h2>
<p>After exploring the samples, it’s now the time to build your own compelling, rich business Silverlight applications. </p>
<p>You can get started pretty much straightforward. Launch Visual Studio 2010 and click New Project. Then browse to the <em>Intersoft Solutions &gt; Silverlight</em> node in the <em>Installed Templates. </em>In this Release Candidate, we shipped 6 professionally-designed templates that you can use to quickly start your next project. </p>
<p>All templates are designed with our high-standards development experiences quality – so all you need to do is simply pressing OK, wait for few seconds and press F5 to run the project. You don’t have to manually add the references or do any sort of extra stuff – we’ve done it for you.</p>
<p>Regardless of your experiences and skill level in Silverlight development, your best shot would be a <strong>MVVM Business Application</strong>. It already includes full-featured registration and login form with standards-compliance user experiences built into it. We’ve even taken care the WCF RIA Services connection and all sort of server providers configuration. </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/projecttemplate.png"><img style="display:inline;border-width:0;" title="ProjectTemplate" border="0" alt="ProjectTemplate" src="http://intersoftpt.files.wordpress.com/2010/07/projecttemplate_thumb.png?w=702&#038;h=486" width="702" height="486" /></a> </p>
<h2>Experience First-Class Designer Support</h2>
<p>When we say first-class, truly it is! Upon installation, everything is up and ready – nothing extra needs to be done at your end. As well as Visual Studio 2010, this very statement is true for Expression Blend 3 and Blend 4 environment.</p>
<p>If you’re UI/X designer who preferred Blend more than Visual Studio, the next time you open Blend, get ready with a vast array of tools you can use to build your next-generation RIA apps! All ClientUI assets are grouped in <strong>Intersoft ClientUI</strong> group so you know where to look when you need them. </p>
<p>Our professional artists have even designed each icon very thoroughly and delicately – from small to large icons which simply blends in the Blend environment. This allows you to conveniently walk through the layers in your project and easily identify the visual elements through unique icons. See screenshot below.</p>
<p>&#160;<a href="http://intersoftpt.files.wordpress.com/2010/07/comprehensivetools.png"><img style="display:inline;border-width:0;" title="ComprehensiveTools" border="0" alt="ComprehensiveTools" src="http://intersoftpt.files.wordpress.com/2010/07/comprehensivetools_thumb.png?w=702&#038;h=478" width="702" height="478" /></a> </p>
<p>Enjoy a whole new level of RIA development experiences!</p>
<h2>Get Started with Your Business Application Project in 5 Minutes</h2>
<p>A picture worth a thousand words. A video worth a billion words. Watch how you can get started with your immersive business application in less than 5 minutes. It shows how ClientUI enables <strong>a true rapid Silverlight development</strong> – adding new pages, adding new navigation buttons, run it and everything will just work – effortlessly.</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e8da3597-7864-4c3e-be07-2981dfba61d0" class="wlWriterEditableSmartContent">
<div><span style="text-align:center; display: block;"><a href="http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/"><img src="http://img.youtube.com/vi/BEF69W0lty4/2.jpg" alt="" /></a></span></div>
</div>
<h2>&#160;</h2>
<h2>Get The Support You Need</h2>
<p>Unlike other vendors, we officially support ClientUI even in this Release Candidate version. As the RC already includes RTM-identical product bits, you can eventually use it in the projects that you currently working on.</p>
<p>As you jump start with ClientUI, I’m sure you’ll have questions around the usage, features, or how-to achieve specific tasks using the various ClientUI controls. We’ve opened a new <a href="http://www.intersoftpt.com/Community/ClientUI/" target="_blank">ClientUI forum</a> so you can discuss anything related to Silverlight and WPF development. And again, we’re the only US-based component vendor with professional 24-hour support service during business days. So feel free to post your questions to the designated forum mentioned above and expect a same-day response from our support engineers.</p>
<h2>The Promised Demos</h2>
<p>In the <a href="http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/" target="_blank">part 3</a> of my ClientUI blog, I’ve explained the MVVM concept and how it can be elegantly used with advanced UIs such as windows and dialog boxes. Numerous readers have emailed me to ask if they can see a running demo to see the solution in action. And here it is – the <a href="http://labs.clientui.com/contactsmvvm" target="_blank">Contacts MVVM</a> online demo.</p>
<h2>More Coming Next</h2>
</p>
</p>
<p>If you followed my ClientUI blog series from the start, most probably you’ll still remember the Contacts application that I showcased in the ClientUI Part 3 blog. If not, I suggest you to read and try the sample mentioned just in the previous section.</p>
<p>Continuing on the story that I left for a while in the part 3, we’ll take the simple Contacts application and make it a part of something bigger – a richer composite application that enables your applications to scale and grow in a way that never possible before.</p>
<p>In the next post, I’ll unveil how the simple Contacts application that we’ve built sometime ago, can be loaded into desktop-style interface <strong>without code recompiling </strong>and <strong>still working as it is</strong> – resulting into something similar to the image below.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/07/theultimateriaexperiences.png"><img style="display:inline;border-width:0;" title="The Ultimate RIA Experiences" border="0" alt="The Ultimate RIA Experiences" src="http://intersoftpt.files.wordpress.com/2010/07/theultimateriaexperiences_thumb.png?w=702&#038;h=530" width="702" height="530" /></a> </p>
<p>Welcome to the future of RIA experiences. Stay tuned…</p>
<p>All the best,    <br />Jimmy.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1393/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1393&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/07/03/part-6-clientui-3-for-silverlight-and-wpf-delivered/feed/</wfw:commentRss></item><item><title>ClientUI Part 5 – The Supercharged Silverlight Navigation</title><link>http://intersoftpt.wordpress.com/2010/06/29/clientui-part-5-the-supercharged-silverlight-navigation/</link><comments>http://intersoftpt.wordpress.com/2010/06/29/clientui-part-5-the-supercharged-silverlight-navigation/#comments</comments><pubDate>Tue, 29 Jun 2010 05:04:08 +0000</pubDate><dc:creator>jimmyps</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[Development]]></category><category><![CDATA[Products]]></category><category><![CDATA[Silverlight]]></category><category><![CDATA[ClientUI 2010]]></category><category><![CDATA[WPF]]></category><category><![CDATA[Navigation Framework]]></category><category><![CDATA[Role Security]]></category><category><![CDATA[Navigation Controls]]></category><category><![CDATA[Friendly Error Page]]></category><description><![CDATA[Flashing backward to a few weeks ago, I’ve covered some of the most important facts about our upcoming ClientUI in four blog posts. The first part covers the overall ClientUI architecture and key concepts, the second part covers the presentation model and development best practices, the third part details the full MVVM pattern support for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1376&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>Flashing backward to a few weeks ago, I’ve covered some of the most important facts about our upcoming ClientUI in four blog posts. The first part covers the overall <a href="http://intersoftpt.wordpress.com/2010/04/09/introducing-intersoft-clientui-part-1/" target="_blank">ClientUI architecture and key concepts</a>, the second part covers the <a href="http://intersoftpt.wordpress.com/2010/04/14/clientui-part-2-advanced-presentation-model-and-architectures-highlight/" target="_blank">presentation model and development best practices</a>, the third part details the <a href="http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/" target="_blank">full MVVM pattern support</a> for Silverlight and WPF development, and the fourth explains the importance of standards-compliance user interface design and how we designed ClientUI to meet these <a href="http://intersoftpt.wordpress.com/2010/05/21/clientui-part-4-rich-ui-meets-iso-standards/" target="_blank">usability standards</a> for the best user experiences.</p>
<p>In this fifth series of my blogs on ClientUI, we’ll look at some of the most fundamental yet often overlooked aspects in line-of-business RIA development especially in Silverlight – such as the navigation architecture and common navigation topology, friendly error pages, role-based security, asynchronous state management, and how they can still fit into the <a href="http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/" target="_blank">MVVM pattern</a> that we discussed sometime ago. And more importantly, how all these aspects can work together in consistent manner to create great user experiences in a whole.</p>
<p>This post details all essential aspects in developing navigation application using Silverlight. Feel free to jump to the section that you’re interested most:</p>
<ul>
<li><a href="#NavigationExperience">Navigation experience does matter</a> </li>
<li><a href="#Intro">Introducing ClientUI navigation framework</a> </li>
<li><a href="#UXFrame">UXFrame and UXPage – The building block of Silverlight navigation application</a> </li>
<li><a href="#TopFeature1">Top feature #1 – Solid navigation interfaces</a> </li>
<li><a href="#TopFeature2">Top feature #2 – Child navigation with browser integrated journal support</a> </li>
<li><a href="#TopFeature3">Top feature #3 – Built-in 12 stunning visual transitions</a> </li>
<li><a href="#TopFeature4">Top feature #4 – Authentication and role-based security support</a> </li>
<li><a href="#TopFeature5">Top feature #5 – Navigation bar, navigation commands and routed events</a> </li>
<li><a href="#TopFeature6">Top feature #6 – Friendly error page</a> </li>
<li><a href="#TopFeature7">Top feature #7 – Out-of-the-box busy state management</a> </li>
<li><a href="#WPF">Full compatibility with WPF</a> </li>
<li><a href="#Summary">Try the live demo</a> </li>
</ul>
<p><a name="NavigationExperience"></a></p>
<h1>Navigation Experience Does Matter</h1>
<p>Well-designed navigation experiences is undeniably one of the deciding key successes in today’s rich Internet applications. Just take a look at some of the popular Web applications – <a href="http://www.facebook.com/" target="_blank">Facebook</a> and <a href="http://www.linkedin.com" target="_blank">LinkedIn</a> for examples – employed very sophisticated navigation infrastructure that lets you easily and consistently navigate from one content to another through several different ways – through the hyperlinks, bookmarks, or from the address bar directly. Technically speaking, all the contents in a web application – such as photos, contacts, documents or any identifiable objects – should be easily “linkable” and consistently “navigateable” through user-friendly manners.</p>
<p>Unlike HTML pages, developing navigation application using Silverlight doesn’t come easy. Although basic navigation framework was added in Silverlight 3, it’s limited only to a single-level navigation when integrated with browser’s journal. That is far less-than-ideal in business applications that usually require multiple-level navigation in order to deliver rich and consistent user experiences.</p>
<p>At the simplest, think about a simple customer application scenario with two-level navigation. The first level shows a page with a list of customers and should be accessible through browser’s URL such as <em>/Customers</em>, while the second level shows the details of the selected customer and expected to be accessible through <em>/Customers/ID</em>. In this case, the second level navigation should be defined inside the customer list page since we want our users to be able to see the customer list and its details at the same time. See below illustration for a clearer picture.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/businessnavigationtopology.png"><img style="display:inline;border-width:0;" title="Business Navigation Topology" border="0" alt="Business Navigation Topology" src="http://intersoftpt.files.wordpress.com/2010/06/businessnavigationtopology_thumb.png?w=633&#038;h=662" width="633" height="662" /></a></p>
<p>Called nested or child navigation topology, it is one of the greatest challenges faced by many Silverlight developers as this capability is not currently supported in Silverlight.</p>
<p>So, for us, Silverlight developers, what options do we have? Well, not so much IMO – you can either spend few months to roll up your own or wait for Silverlight to completely add the support. Or better yet, you may have just found the solution. Read more below.</p>
<p><a name="Intro"></a></p>
<h1>Introducing ClientUI Navigation Framework</h1>
<p>In addition to multitude of standards-compliance and rich UI controls, our upcoming ClientUI also ships with a powerful navigation framework that serves as the backbone of all navigation architecture used in the top-level controls such as in <em>NavigationBar</em>, <em>NavigationCommands </em>and <em>NavigationWindow</em>. The main reason why we decided to build a robust navigation framework in the first place is because you literally can’t build any <em>real-world </em>applications without a solid navigation mechanism. Consequently, whether you have groundbreaking charts presentation, or other so-called stunning UIs, your Silverlight app is *still* not usable without navigation mechanism that allow users to easily navigate and access your content. This, and many other essential factors, drives us to create a much more powerful Silverlight navigation framework that enables you to easily build truly rich, navigateable business applications.</p>
<p>The following sections explains our concepts and approaches for richer Silverlight navigation experiences that work reliably and consistently in most business scenarios.</p>
<p><a name="UXFrame"></a></p>
<h2>UXFrame and UXPage – The Main Building Block of a Silverlight Navigation Application</h2>
<p><em>UXFrame</em> is our supercharged Silverlight navigation control where you can find many of advanced navigation features you’re craving for. The <em>UXPage</em> is the content counterpart of the navigation framework that works best with powerful <em>UXFrame </em>features. In simpler words, the smallest anatomy of your application structure would comprise of several <em>UXPage </em>instances<em> </em>to represent each logical content that can be navigated by <em>UXFrame</em>.</p>
<p>The following image illustrates the ClientUI navigation architecture in top-down details. This also shows how we built the framework to support better scalability and extensibility.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationarchitecture.png"><img style="display:inline;border-width:0;" title="ClientUI Navigation Architecture" border="0" alt="ClientUI Navigation Architecture" src="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationarchitecture_thumb.png?w=642&#038;h=531" width="642" height="531" /></a></p>
<p>In a typical navigation topology, each logical content is partitioned into each <em>UXPage </em>instance for reusability and easy navigation from the <em>UXFrame </em>control as explained in the above illustration. Since the <em>UXFrame</em> itself can host pages that contain another <em>UXFrame</em>, now it’s possible to navigate the child frame to other local <em>UXPage</em> compiled in the application.</p>
<p>In more advanced scenarios, it’s even possible to navigate to the <em>UXPage </em>that existed in another external XAP package. Together with <em>ClientUI Application Framework</em> that I mentioned in the <a href="http://intersoftpt.wordpress.com/2010/04/09/introducing-intersoft-clientui-part-1/#ClientUIOverview" target="_blank">first part</a> of my posts, you can now create scalable Silverlight applications that dynamically load another applications – and still consistently follow the overall navigation pattern. We’ll dive deep on Application Framework later.</p>
<p>That said, a typical Silverlight application using ClientUI navigation framework can have consistent navigation pattern such as shown below.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationapplication.png"><img style="display:inline;border-width:0;" title="ClientUI Navigation Application" border="0" alt="ClientUI Navigation Application" src="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationapplication_thumb.png?w=702&#038;h=590" width="702" height="590" /></a></p>
<p>Our goal is not only to make rich navigation experiences possible in the Silverlight platform, but also to enable developers to rapidly develop new pages and deploy them to fit into the navigation topology with very minimum effort.</p>
<p>And since we’ve got vast array of developer’s most wanted features, I’ll highlight seven top navigation features in this post. The first most wanted feature starts below.</p>
<p><a name="TopFeature1"></a></p>
<h2>Top Feature #1 – Solid Navigation Interfaces</h2>
<p>The UXFrame and UXPage are designed to work together to deliver reliable and consistent navigation experiences. The reliability and consistency are the two key factors here that defines what we called it to be <em>solid</em>. To create a solid navigation interfaces, glassy navigation UIs aren’t enough. In ClientUI, the interfaces between the navigation framework and the navigation UIs are meticulously designed to achieve various business navigation scenarios in reliable and consistent manner.</p>
<p>For an instance, navigating to a new page should consistently enable or disable the journal buttons appropriately regardless of how the navigation occurred – i.e, through the hyperlink, navigation button, back or forward, or through a direct browser address navigation. This, and many other common scenarios, are something very difficult or impossible to be done with the current feature sets in Silverlight.</p>
<p>That said, solid navigation interfaces is a must and should come in the top most of the requirements list before the Silverlight application development can be ever started.</p>
<p>ClientUI advances the navigation framework further by identifying the navigation patterns commonly used in business applications and implement these patterns consistently throughout the navigators and the user interface controls that can consume the navigation features. The details is self-explained in the following illustration.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationinterfaces.png"><img style="display:inline;border-width:0;" title="ClientUI Navigation Interfaces" border="0" alt="ClientUI Navigation Interfaces" src="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationinterfaces_thumb.png?w=662&#038;h=602" width="662" height="602" /></a></p>
<p>Unlike the native Silverlight which provides only a single Hyperlink control for navigation, ClientUI gives developers more than a dozens of UI controls to choose for navigating pages – ranging from button, hyperlink, navigation button, toolbar button, dock button, stack button, to context menu and menu bar. This means that you can now create intuitive navigation experiences where a page can be navigated consistently from various sources – from menu bar interface, simple hyperlink, toolbar button or from the stunning dock button.</p>
<p>So, how solid and reliable our navigation interfaces can be? A picture worth a thousand words. Let’s take a look at the following image.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuisolidnavigationframework.png"><img style="display:inline;border-width:0;" title="ClientUI Solid Navigation Framework" border="0" alt="ClientUI Solid Navigation Framework" src="http://intersoftpt.files.wordpress.com/2010/06/clientuisolidnavigationframework_thumb.png?w=717&#038;h=1102" width="717" height="1102" /></a></p>
<p>As a Silverlight developer, one thing that I really like about ClientUI navigation framework is its automatic navigation state synchronization on every navigation requests. This means that I can rapidly add more pages and navigation UIs without have to write codes that say ‘<em>clear the state of old active index, set Customers button to active, disable forward button, enable back button, change the title, and many more’</em> because the navigation framework has done it for me behind the scene. All I need to do is simply adding new pages to the project, then add a new button with its <em>NavigateUri</em> pointing to the new page and hit F5! No events wiring or codes needed. That’s true – I trust you’ll definitely love this feature as you experience how it shaves off weeks or months of your development timetable!</p>
<p><a name="TopFeature2"></a></p>
<h2>Top Feature #2 – Child Navigation With Browser Journal Integration Support</h2>
<p>When Silverlight 3 came out two years ago, developers praised Microsoft with so many new features to address business scenarios, one of the them is the navigation and linking support. That’s nice! The next day when you explore more scenarios such as nested child navigation (which is actually quite common in a business application), you’ll soon find out that Silverlight 3 did not support that capability. Checking into Silverlight 4, no luck, it’s not supported yet.</p>
<p>Ranked at #2 most wanted feature, child navigation is definitely a-must in every line-of-business Silverlight application. Omitting this capability means that your application has failed to deliver the experiences that users expected at the most. This translates to critical usability issue where your users won’t be able to access the desired content instantly and consistently.</p>
<p>Consider a basic master-details scenario where you have a page that contains a list of customers and another page that shows the details of a customer. Instead of showing the two pages one at a time, you could show both in a page for better user experiences, for instance, the list in the left side and the details in the right side of the screen. The image below illustrates this business navigation scenario in details.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuichildnavigation.png"><img style="display:inline;border-width:0;" title="ClientUI Child Navigation" border="0" alt="ClientUI Child Navigation" src="http://intersoftpt.files.wordpress.com/2010/06/clientuichildnavigation_thumb.png?w=662&#038;h=602" width="662" height="602" /></a></p>
<p>As seen in above illustration, we basically wanted to load the details when a customer is selected in the left-side list box. When the details is shown, we would require the browser address to be changed accordingly to reflect the new state of this details page. Consequently, the journal buttons such as the back and forward should be reflected as well so users can easily go back to the previous details or page. These requirements – the browser integration and navigation state – are exactly the toughest challenges that makes it nearly impossible to achieve this scenario in elegant and rapid fashion.</p>
<p>ClientUI’s <em>UXFrame </em>is loaded with advanced features to do just that! With some property sets, you can rapidly implement child navigation capability in your business apps. Logically, you can define the top-level <em>UXFrame </em>in the root page and then in any pages where you want to display external content.</p>
<p>We designed the UXFrame to be extremely simple and easy-to-implement so that you only need to care couple things. First, for the <em>UXFrame </em>instances where you want to support nested navigation, simply set their <em>AllowNestedFrameNavigation</em> property to true. Respectively, for&#160; <em>UXFrame </em>instances that suppose to be child frame, set their <em>DisplayFragmentInBrowser </em>to true. This enables ClientUI navigation framework to intelligently synchronize everything – from the address bar, journal buttons, page title, latest navigation state and more – without requiring you to write codes! That’s quite both a time-saving and groundbreaking feature, isn’t it?</p>
<p>The following image shows the actual result based on our scenario described above.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuichildnavigationresult.png"><img style="display:inline;border-width:0;" title="ClientUI Child Navigation Result" border="0" alt="ClientUI Child Navigation Result" src="http://intersoftpt.files.wordpress.com/2010/06/clientuichildnavigationresult_thumb.png?w=832&#038;h=1169" width="832" height="1169" /></a></p>
<p>The details of the process is already self-described in the illustration above. One important thing to note is that the child <em>UXFrame </em>navigation is sophisticatedly integrated to the <a href="#TopFeature5">UXNavigationBar</a>’s journal buttons thus enabling consistent navigation experiences throughout the entire application.</p>
<p><a name="TopFeature3"></a></p>
<h2>Top Feature #3 – Built-in 12 Professional Visual Transitions</h2>
<p>Now with two of the most essential features available to your business apps, the next thing you want to do is to enhance the user experiences. Definitely – because you want to deliver something functional and also impressive for business users. Luckily, UXFrame includes twelve predefined visual transitions that you can apply with a flick of finger.</p>
<p>Choose your preferred transition from the simple transitions such as fading and sliding, to our flagship transitions such as iPhone-style zoom and 3D cube, rest assured your users will be impressed since day one.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/uxframevisualtransition.png"><img style="display:inline;border-width:0;" title="UXFrame Visual Transition" border="0" alt="UXFrame Visual Transition" src="http://intersoftpt.files.wordpress.com/2010/06/uxframevisualtransition_thumb.png?w=702&#038;h=518" width="702" height="518" /></a></p>
<p>The transition duration and other transition settings have been preconfigured optimally for business applications, so all you have to is to enable the page transition property, select your desired transitions and that’s it!</p>
<p>Another feature that is noteworthy to be mentioned here is the <em>auto-detect navigation direction</em> feature. When enabled, UXFrame will automatically detect the direction of the navigation that currently being performed, i.e, when users pressed the Back button or navigate to a new page. This feature allows UXFrame to automatically apply the desired transition depending on the navigation direction. One of the most common scenarios is to use <em>SlideRight</em> transition when user goes back to previous page and use <em>SlideLeft</em> transition when navigating forward. As simple as that, try to run your page and you’ve now got a iPhone-like navigation experiences in few minutes. Cool, huh?</p>
<p>So, with all these time-saving visual features, you no longer have to open Blend and spend few hours to create storyboards then spend another few hours or days to detect the navigation direction manually, wire up the storyboards and many other details. Really, you don’t have to do this anymore.</p>
<p><a name="TopFeature4"></a></p>
<h2>Top Feature #4 – Role-based Security with WCF Authentication Service Support</h2>
<p>It’s not all too uncommon to have business scenarios that restrict certain pages to be accessible only by authorized members. This apparently becomes one of the most requested features in Silverlight as business developers started to look for new options in RIA development. Ironically, Silverlight overlooked this very fundamental feature and leave it to developers to handle themselves.</p>
<p>Since we invented our own advanced navigation architecture that built upon robust framework such as routed events and commanding, it enables us to further advancing our navigation framework by adding built-in security protection for the <em>UXPage</em>.</p>
<p>Requiring authentication to your page content is unbelievably easy with ClientUI navigation framework. Simply open a <em>UXPage</em> instance and set its <em>RequiresAuthentication</em> property to true. At runtime when you’re trying to access the page, magically, the page content won’t be accessible anymore. We even added extra safety measurement by ensuring the page content can’t be accessible by any means – either from direct address bar, hyperlinks, or even through API.</p>
<p>Often times, your application will require role-based security instead of just a plain authentication. <em>UXPage</em> covers this as well by providing <em>RequiresRoles </em>property that you can set through databinding or simple property set.</p>
<p>The following illustration shows how authentication works in ClientUI navigation framework.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuiuxframeauthentication.png"><img style="display:inline;border-width:0;" title="ClientUI UXFrame Authentication" border="0" alt="ClientUI UXFrame Authentication" src="http://intersoftpt.files.wordpress.com/2010/06/clientuiuxframeauthentication_thumb.png?w=702&#038;h=825" width="702" height="825" /></a></p>
<p>In our business sample application below, we’re redirecting users to the Login form page when users tried to access the restricted page without logged in. After logged in, the navigation framework smartly redirects back to the originally requested page. Again, this is all done without requiring you to write single line of codes.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuibusinessauthenticationsample.png"><img style="display:inline;border-width:0;" title="ClientUI Business Authentication Sample" border="0" alt="ClientUI Business Authentication Sample" src="http://intersoftpt.files.wordpress.com/2010/06/clientuibusinessauthenticationsample_thumb.png?w=772&#038;h=661" width="772" height="661" /></a></p>
<p>For developers with MVVM pattern preferences,<em> UXFrame </em>also introduces several authentication-related properties which lets you easily bind to your view model. For example, you can bind the <em>User</em> property to the <em>UXShell </em>for single sign-on (SSO) login mechanism which queries the user object against server datasource such as WCF Service. This enables users to sign-in only once in any of the pages that raise authentication, the rest of the pages will then be automatically authenticated. We’ll discuss about deeper on this subject later. One thing for sure is that we’ll include this business sample as a project template so that you can get started with your real-world business apps really quick!</p>
<p><a name="TopFeature5"></a></p>
<h2>Top Feature #5 – Navigation Bar, Navigation Commands and Events</h2>
<p>Now that we have a supercharged <em>UXFrame </em>and an advanced <em>UXPage </em>that provides end-to-end solution for the core navigation architecture and interfaces, the next thing you’ll be probably looking for is to add some UI goodies that can consume the powerful navigation features. The one that undeniably essential is the navigation bar user interface.</p>
<p>There are at least three main reasons why you should care about adding a navigation bar in your navigation application. First, for UI consistency throughout the app. Second, it’s required for child navigation to allow users to easily go back and forth in the child page. Third, you’ll be relieved when you require your app to run in out-of-browser (OOB) environment and find out that the navigation bar you added in the first place worked amazingly as if it were in browser.</p>
<p>Introducing <em>UXNavigationBar</em>, the perfect companion to the ClientUI navigation application. With professionally designed journal buttons in Aero-style interface and combined with predefined refresh, stop and home button – this control lets you advances your navigation application in mere minutes.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuiuxnavigationbar.png"><img style="display:inline;border-width:0;" title="ClientUI UXNavigationBar" border="0" alt="ClientUI UXNavigationBar" src="http://intersoftpt.files.wordpress.com/2010/06/clientuiuxnavigationbar_thumb.png?w=502&#038;h=302" width="502" height="302" /></a></p>
<p>As soon as you add a new <em>UXNavigationBar</em> instance to your page, it’ll automatically recognize the navigators existed in the page. Magically, everything will work just as expected – navigating to a new page will invalidate the journal buttons, pressing back button will navigate to the previous journal, the other command state will reflect the new navigation state as well. Again, no codes is required!</p>
<p>Consider that you need to add a custom command that perform backward navigation in your page, you can use the predefined navigation routed commands that ship with the ClientUI navigation framework and easily attach it to your command controls without writing any C# codes. In this case, you should be using one of the ClientUI controls that implement <em>ICommandSource</em>, such as <em>UXButton</em>, <em>UXNavigationButton</em>, <em>UXToolBarButton </em>or others.</p>
<p>The following screenshot shows how easy it is to use the <em>BrowseBack</em> routed command in your own button which does the exact thing as in the journal button of <em>UXNavigationBar</em>.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationcommands.png"><img style="display:inline;border-width:0;" title="ClientUI Navigation Commands" border="0" alt="ClientUI Navigation Commands" src="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationcommands_thumb.png?w=867&#038;h=522" width="867" height="522" /></a></p>
<p>In addition to the navigation commands, the navigation framework also exposes a number of events related to the navigation process such as <em>Navigating</em>, <em>Navigated</em>, <em>NavigationFailed</em>, <em>NavigationCancelled </em>and more. Unlike Silverlight’s navigation events, ClientUI navigation framework used WPF-style routed events to provide developers with more flexibility in handling the navigation events. For instance, you can now handle the <em>Navigated </em>event at class-type level instead of instance-level by registering the class handler using <em>EventManager </em>class<em>.</em></p>
<p><a name="TopFeature6"></a></p>
<h2>Top Feature #6 – Friendly Error Page</h2>
<p>How many times you found yourself disturbed with the error popup thrown by Silverlight? You might be wondering why such a modern RIA platform couldn’t offer something better – perhaps a nicer, unobstructive error page?</p>
<p>Ranked at the sixth top most wanted features, we added this very handy feature right into ClientUI’s navigation framework. When the navigation service encountered errors during navigation, a friendly error page will be displayed in the frame content area, see the image below.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuifriendlynavigationerror.png"><img style="display:inline;border-width:0;" title="ClientUI Friendly Navigation Error" border="0" alt="ClientUI Friendly Navigation Error" src="http://intersoftpt.files.wordpress.com/2010/06/clientuifriendlynavigationerror_thumb.png?w=679&#038;h=691" width="679" height="691" /></a></p>
<p>And as you already expected, you don’t need to do any extra effort to take advantage this feature as it is natively built into the product. But, that doesn’t mean you can’t customize the error page to your own liking. Every details of the visual styles in ClientUI can be easily customized through Blend as explained in my <a href="http://intersoftpt.wordpress.com/2010/04/14/clientui-part-2-advanced-presentation-model-and-architectures-highlight/" target="_blank">second blog series</a>. In this case, you can customize the error page by providing your own style in the <em>ErrorPageStyle</em> of the UXFrame instance.</p>
<p><a name="TopFeature7"></a></p>
<h2>Top Feature #7 – Busy State Management</h2>
<p>Last, but not least – we’ve been hearing a lot of developers struggling with the asynchronous processing model introduced in modern RIA platforms such as in Silverlight. It could be an even more tedious task when you need to block users to interact with the page when data processing is in progress and unblock when the processing is done. Not to mention if you have a lot of pages that need to do the same operation –undoubtedly you’ll have to spend days to weeks, if not months, only for working around this state management stuff.</p>
<p>ClientUI Navigation Framework, again, comes to rescue by providing an elegant solution to address this challenge. Unlike traditional content-level approach, ClientUI implements the busy state management right into the <em>UXFrame </em>level. This means that you only need to set the busy indicator once in the <em>UXFrame</em>, and the rest of your pages will be automatically using the same busy indicator that you’ve defined in the frame level.</p>
<p>When you need to block your page from user interaction, simply set the <em>IsBusy</em> property of the page to true – the <em>UXFrame</em> will be notified about the busy changes of its content and then intelligently display the busy indicator to the user. As we speak about <em>IsBusy </em>property, there’s another good news for MVVM developers. You can bind the <em>IsBusy</em> property to your view model and then seamlessly control the page’s busy state right from the business process in your view model.</p>
<p>The following image shows a registration form sample with simple busy indicator using Aero-style indeterminate progress bar which will be consistently displayed when the page performs server data operations.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationbusystate.png"><img style="display:inline;border-width:0;" title="ClientUI Navigation Busy State" border="0" alt="ClientUI Navigation Busy State" src="http://intersoftpt.files.wordpress.com/2010/06/clientuinavigationbusystate_thumb.png?w=619&#038;h=656" width="619" height="656" /></a></p>
<p><a name="WPF"></a></p>
<h1>Full Compatibility with WPF</h1>
<p>Alright, now we’ve got the all the great navigation experiences we ever wanted for our Silverlight business apps – how about its sibling, the WPF?</p>
<p>Fortunately, our Silverlight team has thoughtfully design the navigation architecture to use only the proven techniques that work in both Silverlight and WPF. This results in <em>UXFrame</em> and <em>UXPage </em>to have nearly identical feature-sets with its Silverlight counterpart.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/06/clientuiunifiednavigation.png"><img style="display:inline;border-width:0;" title="ClientUI Unified Navigation" border="0" alt="ClientUI Unified Navigation" src="http://intersoftpt.files.wordpress.com/2010/06/clientuiunifiednavigation_thumb.png?w=851&#038;h=702" width="851" height="702" /></a></p>
<p>So, let’s say you’ve developed your business navigation apps in Silverlight, and now would like to offer a WPF version to your customer – you can simply copy the UXFrame definition from your Silverlight project and paste it into your WPF page. Another better option is to really do single-source sharing between Silverlight and WPF, but this will require you to have first gathered all the differences between Silverlight and WPF. I’d probably do another post in the future to share how we did single-source sharing in our own products solution.</p>
<p>One feature that you’ll really love in this WPF version of UXFrame is that we also put in <em>UriMapper</em>, an original Silverlight feature that lets you easily map a friendly identifier to an actual physical page. For example, instead of having your customer to type in “/Views/Customers.xaml”, it’s much simpler and easier to type in ‘/Customers’. The WPF version of UXFrame will enable you to do just that!</p>
<p><a name="Summary"></a></p>
<h1>Summary</h1>
<p>So far, we’ve covered most of the important aspects in building real-world business Silverlight applications through the five ClientUI blogs that I posted – from the architecture, MVVM pattern, user experiences, navigation consistency, role-based security, visual goodies and more. There are a lot more exciting features that we have in our navigation framework which I couldn’t mention in this post – but at least we’ve got the 7 most wanted navigation features covered.</p>
<h2>Live Demos</h2>
<p>Well, this is probably the best part of the post. Although I’ve explained most features in the top-down screenshots and illustrations, still it couldn’t capture one essential thing – the user experiences.</p>
<p>So here we go. Click <a href="http://labs.clientui.com/mybusinessapp" target="_blank">here</a> to launch the business navigation application sample that I used to demonstrate many of the top features above. You can experience for yourself many of the features explained above. Please note that this sample includes much more stuff that are not yet covered – such as how the user persistence (the “Remember me” option) works together with authentication in the page load, the MVVM pattern used throughout the processes, the dialog box integration with navigation, and more – which hopefully can be blogged in the near future.</p>
<p>To test the <a href="#TopFeature4">authentication</a> feature, try to create several credentials with different roles. You can rapidly perform logout, login and logout again and see how the role-based security feature works.</p>
<h2>What’s Next</h2>
<p>As we’re approaching a public release in few days, the next post will mark the final series of the ClientUI introduction, which will cover the grand and the ultimate of the RIA experiences that we want to bring in this release. In addition, most of the samples demonstrated in the past blogs will also be made available, as well as step-by-step video guide tutorials and more. Stay tuned…</p>
<p>All the best,   <br />Jimmy.    <br />Chief Software &amp; UX Architect.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1376/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1376/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1376/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1376&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/06/29/clientui-part-5-the-supercharged-silverlight-navigation/feed/</wfw:commentRss></item><item><title>WebListBox. A List Box with Hybrid Functionalities.</title><link>http://intersoftpt.wordpress.com/2010/05/27/weblistbox-a-list-box-with-hybrid-functionalities/</link><comments>http://intersoftpt.wordpress.com/2010/05/27/weblistbox-a-list-box-with-hybrid-functionalities/#comments</comments><pubDate>Thu, 27 May 2010 09:48:57 +0000</pubDate><dc:creator>Jemmy</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[Development]]></category><category><![CDATA[Products]]></category><category><![CDATA[asp.net]]></category><category><![CDATA[WebEssentials]]></category><category><![CDATA[WebListBox]]></category><category><![CDATA[Databound Control]]></category><category><![CDATA[Navigation Control]]></category><description><![CDATA[List box is perhaps one of the most popular and most used user interface element next to textbox and button in any user input scenarios. Along with the fast growing need for richer and more intuitive applications, developers have been reinventing the wheel trying to create and incorporate a better list box control to their [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1329&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>List box is perhaps one of the most popular and most used user interface element next to textbox and button in any user input scenarios. Along with the fast growing need for richer and more intuitive applications, developers have been reinventing the wheel trying to create and incorporate a better list box control to their apps.</p>
<p>Seeing this great need and opportunity, we at Intersoft began to research for the best concept which extends far beyond to those available and widely used now days. Put it simple. We promise you a list box control that is easy-to-use, powerful in features, rendered reliably in various browsers, plus its comprehensive set of client-side and server-side events and APIs bring a new level in web programming.</p>
<h1>Data Entry Control</h1>
<p>Intersoft’s WebListBox is designed to cater the need for an all-around list box control coping diverse data entry needs, for example: in a form which requires list box item with image or the ability to select more than one item.</p>
<h2>Essential Customization</h2>
<p>Let’s start with the basic. WebListBox provides additional setting for adding an image to each item. You can display text, text and image, or image only. Additional setting related is the image positioning. When using the text and image mode, you can change the image position relative to the text, for example: above or below the text and after or before the text.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/essentialscustomization.jpg"><img class="aligncenter size-full wp-image-1330" title="EssentialsCustomization" src="http://intersoftpt.files.wordpress.com/2010/05/essentialscustomization.jpg?w=544&#038;h=274" alt="" width="544" height="274" /></a></p>
<p>All of the above settings can be made under <strong>LayoutSettings</strong> group property for global application. Or, you can use individual item’s properties for more personalized setting.</p>
<h2>Scroll Mode</h2>
<p>Scroll mode is provided to anticipate having many items in WebListBox exceeding the container’s height. The common practice is to use scrollbar. WebListBox offers several scroll options, <em>ScrollBar, Scroller, </em>or<em> None.</em></p>
<p><em><a href="http://intersoftpt.files.wordpress.com/2010/05/scrollmode.png"><img class="aligncenter size-full wp-image-1331" title="ScrollMode" src="http://intersoftpt.files.wordpress.com/2010/05/scrollmode.png?w=544&#038;h=143" alt="" width="544" height="143" /></a><br />
</em></p>
<p><em> </em></p>
<p>As the name implies, <em>ScrollBar</em> mode uses the default browser’s scroll bar. Users can simply move the scroll bar to see the hidden items. One that worth mentioning is that the ScrollBar is also styled according to the selected predefined styles. This gives a more polished and uniformed look on WebListBox.</p>
<p>Instead of using scroll bar, <em>Scroller</em> mode adds up and down buttons located on the top and bottom of the control. Users only need to stop the mouse cursor on top of it and it will start scrolling immediately. This option is fancy, but the usability in a WebListBox with many items isn’t very effective.</p>
<p>The <em>None</em> option simply disable the scrolling feature and prevent users from seeing any hidden items.</p>
<h2>Selection Mode</h2>
<p>The result of user’s interaction with any list box controls is selection. WebListBox provides two selection modes, single and multiple, configurable through a property set. When multiple selections feature is enabled, users can use the CTRL or SHIFT key to select more than one item. Or, simply click and drag the mouse. As the mouse touches the bottom or the top most part of the control, the item will be scrolled and selected immediately.</p>
<h2>Data binding Support</h2>
<p>Its comprehensive data binding capability unlocks more possibility for you to deliver a sophisticated list box control targeting enterprise applications by connecting your existing data to WebListBox by simply assigning the data source ID. Supporting dozens of datasource controls, WebListBox’s user friendly Component Designer 2 lets you access all data binding properties.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/weblistbox_databinding.png"><img class="aligncenter size-full wp-image-1338" title="WebListBox_Databinding" src="http://intersoftpt.files.wordpress.com/2010/05/weblistbox_databinding.png?w=544&#038;h=374" alt="" width="544" height="374" /></a></p>
<p>WebListBox also support unbound mode, which basically allows you to add items manually.</p>
<h1>The Smart Navigator</h1>
<p>List box as a navigation control may sound uncommon, yet we manage to fit it quite nicely in our upcoming Support Site 2010.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/smartnavigation.png"><img class="aligncenter size-full wp-image-1332" title="SmartNavigation" src="http://intersoftpt.files.wordpress.com/2010/05/smartnavigation.png?w=544&#038;h=413" alt="" width="544" height="413" /></a></p>
<p>When a list box item is clicked, the page will be loaded on the right IFrame. You can specify the target in <strong>TargetWindow</strong> property for global application or <strong>[Item] &gt;&gt;</strong> <strong>TargetWindow</strong> for individual customization. Use the <strong>TargetURL</strong> property to specify the URL.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/targeturl.png"><img class="aligncenter size-full wp-image-1333" title="TargetURL" src="http://intersoftpt.files.wordpress.com/2010/05/targeturl.png?w=544&#038;h=330" alt="" width="544" height="330" /></a></p>
<p>Additional visual hint feature, called active item indicator, provides users a quick glance on the control and spot the active item instantly. Ultimately, WebListBox enhances navigation experiences with both visually appealing design and intuitive interfaces that meet industry&#8217;s usability standards.</p>
<h1>Summary</h1>
<p>With all the bells and whistles, WebListBox is a full-fledge control that packs innovative features, pleasant visual interface, and a developer-friendly designer window, that no similar solution can barely touch. It will surely satisfy most developers’ need and goes along very well with most business Web-applications.</p>
<p>Stay tuned for more as we will update you with the latest and hottest news directly from the development kitchen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1329&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/05/27/weblistbox-a-list-box-with-hybrid-functionalities/feed/</wfw:commentRss></item><item><title>ClientUI Part 4 – Rich UI Meets ISO-Standards</title><link>http://intersoftpt.wordpress.com/2010/05/21/clientui-part-4-rich-ui-meets-iso-standards/</link><comments>http://intersoftpt.wordpress.com/2010/05/21/clientui-part-4-rich-ui-meets-iso-standards/#comments</comments><pubDate>Fri, 21 May 2010 06:16:02 +0000</pubDate><dc:creator>jimmyps</dc:creator><category><![CDATA[2010 R1]]></category><category><![CDATA[Development]]></category><category><![CDATA[Products]]></category><category><![CDATA[Silverlight]]></category><category><![CDATA[ClientUI 2010]]></category><category><![CDATA[WPF]]></category><category><![CDATA[UX]]></category><category><![CDATA[Rich UI]]></category><category><![CDATA[ISO Standards]]></category><description><![CDATA[Last month, I’ve published three posts that touched the surface of our upcoming ClientUI 2010, the next-generation development toolset for Silverlight and WPF platform. I highly recommend you to read my first three posts if you haven’t, which is important to get a clear understanding on ClientUI’s overall architectures and key concepts, its presentation model [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1327&subd=intersoftpt&ref=&feed=1" />]]></description><content:encode><![CDATA[<p>Last month, I’ve published three posts that touched the surface of our upcoming ClientUI 2010, the next-generation development toolset for Silverlight and WPF platform. I highly recommend you to read my first three posts if you haven’t, which is important to get a clear understanding on ClientUI’s <a href="http://intersoftpt.wordpress.com/2010/04/09/introducing-intersoft-clientui-part-1/" target="_blank">overall architectures and key concepts</a>, its <a href="http://intersoftpt.wordpress.com/2010/04/14/clientui-part-2-advanced-presentation-model-and-architectures-highlight/" target="_blank">presentation model</a> and how it elegantly supports <a href="http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/" target="_blank">MVVM pattern</a> in Silverlight and WPF app development.</p>
<p>As promised, this fourth series of my blog post will highlight on the user interface and usability aspects of our ClientUI family components.</p>
<p>Being used extensively mostly in the software industry, the UX (<a href="http://en.wikipedia.org/wiki/User_experience" target="_blank">User eXperience</a>) has became one of the most popular buzzword in the past few years. As an application developer or a designer, it’s critically important to have a solid understanding on UX before you’re able to produce an efficient, highly usable application. The coverage on UX definition is beyond the scope of this post as UX alone incorporates a wide range of disciplines such as usability, contextual user analysis, user-centric design, card scoring and more. One thing for sure is that UX is not equal to UI, <a href="http://www.uxpassion.com/2010/04/ux-not-ui-learn-stop-trivializing/" target="_blank">Vibor Cipan shares his thought</a>. To learn more about UX in general, check out several good resources in this <a href="http://meiert.com/en/blog/20070330/25-excellent-usability-ux-articles-and-resources/" target="_blank">blog post</a> for your starting point.</p>
<p>To keep our subject relevant, this post will be primarily focusing on the relation between Silverlight and UX, and their usage pattern in line-of-business application. </p>
<h1>The UX in Silverlight</h1>
<p>In general, Silverlight is a modern web application framework that enables you to build RIAs with richer graphics and stunning animations and hence resulting in a better user experience. In the scope of key business scenarios, unfortunately, Silverlight is seriously lacking numerous fundamentals which dramatically limiting developers and designers to create applications that are both rich and usable. The context of usable here refers to the implementation of usability standards required to deliver effective and intuitive user experiences.</p>
<p>Rich UI doesn’t always mean it’s usable. Think about a glossy button-look-alike shape that doesn’t behave like a button. For instances, it doesn’t initiate an action, doesn’t have pressed visual or can’t be accessible through keyboard. Or a shiny window-look-alike panel that can’t be moved nor resized. Many of the cases like these can be found in today’s web applications which merely geared toward “richness” and often overlooked the key goals of the UX itself, the usability. Silverlight, unfortunately, is no exception. </p>
<p>Unlike in WPF, Silverlight doesn’t support keyboard focus visual (distinct it with logical focus) and accesskey shortcut even in its latest release. Although seems simple, this accessibility issue alone already introduces numerous limitations that reduce the usability of the produced application. Silverlight application developers often ended up spending more time and effort to find the workaround and write more codes to achieve basic usability features. </p>
<p>When trying out a new business sample solution that shipped with Silverlight 4, I found a more realistic example that illustrates the lacking of dialog usability standards in Silverlight. See the following.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/sldialoguxissues.png"><img style="display:inline;border-width:0;" title="SL Dialog UX Issues" border="0" alt="SL Dialog UX Issues" src="http://intersoftpt.files.wordpress.com/2010/05/sldialoguxissues_thumb.png?w=456&#038;h=361" width="456" height="361" /></a> </p>
<p>Does the above dialog look rich? Considerably yes – compared to traditional HTML. Does the above dialog meet usability standards? No. Here’s why: (refer the point below to the red-marker above)</p>
<ol>
<li>Users should be able to interact with a Combobox (or a dropdown list) through keyboard, for example, opening the selection list by pressing Alt+Down or F4 key. After the list is opened, user should be able to use keyboard arrows to navigate between items and then press Enter or Tab to commit the changes. None of these interactions are supported in Silverlight. </li>
<li>Default command/action should be highlighted to give visual feedback to users which command will be initiated when Enter key is pressed. The highlight visual hint and default command are not supported as well. </li>
<li>Cancel command should be easily initiated through a standard interaction manner such as when users pressed the Escape key. Silverlight doesn’t respond to the Escape key in either the button or the dialog. </li>
<li>The dialog doesn’t support basic features that a standard GUI dialog control should have, for example, you can’t close the dialog box by pressing Escape or a combination of shortcut key – such as Ctrl/Alt+F4 as in standard Windows GUI. </li>
</ol>
<p>At this point, you might be raising questions like these: Does the above seem-too-simple UX issues really matter? Does my users really care about that? The answer is obvious as the multi-part <a href="http://en.wikipedia.org/wiki/ISO_9241#ISO_9241-15" target="_blank">ISO standard 9241</a> part 4, 15, 20 and 171 suggested. Some industry’s UX research such as Norman Group has published hundreds of <a href="http://www.nngroup.com/reports/" target="_blank">usability reports</a> that emphasizes the importance of good user experiences design in business RIA apps.</p>
<h1>Great UX Design Made Easy</h1>
<p>In the beginning of this post, I’ve mentioned that UX is not identical to UI (or UI controls) – which many developers and software vendors mistakenly mixed them up. UI simply provides a mean or a medium for users to interact with the system, particularly your application, while UX encompasses all experiences as a whole – it’s all about how users feel before, during and after using your application, product or service.</p>
<p>As a third party vendor specializing in UI component for Microsoft platform, we put the best of every effort to implement the standards and best UX practice and guidelines in our products – this is what sets us apart from other solutions. In fact, we’ve been heavily investing on good UX guidelines since our <a href="http://www.intersoftpt.com/Corporate/PressRelease.aspx?page=PressRelease&amp;PressID=e385b36a-0145-4d6a-9ef7-bd75bf9875e2" target="_blank">last year&#8217;s volume release</a>.</p>
<p>To achieve great UX, designer team require advanced tools to enable them achieving their key objectives in dramatically less time with less effort. ClientUI is built from the ground-up to meet the most demanding UX requirements which includes numerous implementation of usability features based on platform standards hence delivering good UX design in the form of ready-to-use components. In short, we provide solutions and tools that empower UX designers to accomplish their projects faster in a consistent and efficient way.</p>
<p>The following section highlights the key UX guidelines that we’ve implemented in our ClientUI according to the ISO Standards 9241 which is concreted in several implementations that we can easily find today such as in Windows GUI or in Macintosh GUI. These implementations are especially important for the Silverlight counterpart of ClientUI as they were not natively available in Silverlight.</p>
<h2><strong>Keyboard and Focus Visual Support</strong></h2>
<p>The input controls and button family in ClientUI implement keyboard focus identical to the platform standards such as in Windows and WPF. The keyboard focus is one of the most fundamental UX required to help users easily recognize and understand the focus of primary input device during data entry process. Silverlight 3 introduces logical focus support, but not keyboard focus.</p>
<p>The following image summarizes the keyboard focus support in ClientUI’s input and button controls.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuikeyboardfocus.png"><img style="display:inline;margin-left:0;margin-right:0;border-width:0;" title="ClientUI Keyboard Focus" border="0" alt="ClientUI Keyboard Focus" src="http://intersoftpt.files.wordpress.com/2010/05/clientuikeyboardfocus_thumb.png?w=649&#038;h=452" width="649" height="452" /></a> </p>
<p>As noticed in the image above, the dotted rectangle represents the visual hint for the keyboard focus. It’s also important here to distinct between <a href="http://msdn.microsoft.com/en-us/library/aa969768.aspx" target="_blank">logical and keyboard focus</a>. The keyboard focus visual will appear only when users navigate using keyboard, such as using Tab or arrow keys.</p>
<p>To make keyboard focus works in consistent manner, we provide the <a href="http://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.aspx" target="_blank">Keyboard</a> and <a href="http://msdn.microsoft.com/en-us/library/system.windows.input.focusmanager.focusedelement.aspx" target="_blank">FocusManager</a> architecture similar to WPF. This enables you to build interoperable Silverlight and WPF applications with consistent user experiences using the same codebase. </p>
<p>Note that the keyboard focus is automatically enabled by default and doesn’t require any further configuration.</p>
<p>In addition to the keyboard focus, certain input controls – such as radio button and toggle button – also support special grouping behavior that based on a focus scope. This grouping behavior enables radio button to automatically deselect the other radio buttons in the same scope thus enabling intuitive input process as suggested in <a href="http://en.wikipedia.org/wiki/Human_interface_guidelines" target="_blank">HIG platform standards</a>. Refer to the following image.     </p>
<p>&#160;<a href="http://intersoftpt.files.wordpress.com/2010/05/clientuifocusscope.png"><img style="display:inline;margin-left:0;margin-right:0;border-width:0;" title="ClientUI Focus Scope" border="0" alt="ClientUI Focus Scope" src="http://intersoftpt.files.wordpress.com/2010/05/clientuifocusscope_thumb.png?w=702&#038;h=457" width="702" height="457" /></a> </p>
<p>The self-explanatory image above shows the focus scope implementation in ClientUI which is essential to appropriately manage the input and grouped selection. ClientUI will ship with several containers with built-in focus scope such as <em>GroupBox</em> and <em>ExpandableGroupBox</em>.</p>
<h2><strong>Keyboard Navigation Support</strong></h2>
<p>Since version 3, Silverlight includes basic support for keyboard navigation, that is tabbing between controls using Tab key is now possible. However, the Silverlight implementation limited only at the logical focus surface. ClientUI takes the keyboard navigation further by implementing keyboard focus that doesn’t interfere with the logical focus to comply with usability standards. </p>
<p>One of the most remarkable implementation of keyboard navigation support is related to controls that support menu and popup such as dropdown button (or also known as menu button), split button, toolbar button, menu bar, context menu, and more. Let’s pick dropdown button for example, the dropdown button should remain the logical focus in the main container scope regardless of how users interact with the items in the dropdown (i.e, either through keyboard navigation or mouse). </p>
<p>The correct implementation of logical and keyboard focus produces consistent navigation experiences either when using keyboard, mouse, or other input devices. The following image illustrates how logical focus and keyboard navigation works in a dropdown button control.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuikeyboardnavigation.png"><img style="display:inline;border-width:0;" title="ClientUI Keyboard Navigation" border="0" alt="ClientUI Keyboard Navigation" src="http://intersoftpt.files.wordpress.com/2010/05/clientuikeyboardnavigation_thumb.png?w=649&#038;h=552" width="649" height="552" /></a> </p>
<p>Achieving the implementation such as shown in the image above is not as simple as it seems due to the limitation and lacking of architectural support in Silverlight. Thanks to the <a href="http://intersoftpt.wordpress.com/2010/04/09/introducing-intersoft-clientui-part-1/" target="_blank">comprehensive architecture</a> in ClientUI that provides complete routed event, keyboard and focus manager implementation – it enables many key challenges in the UX to be elegantly implemented.</p>
<p>Moving a step further is how we deal with menu navigation specifically in menu bar. A menu bar UI that complies to usability standards should support not only a basic keyboard navigation, but also how it deals with the submenu and event bubbling mechanism. The following illustration shows you a complete picture of comprehensive keyboard navigation implementation in ClientUI’s menu bar.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuimenunavigation.png"><img style="display:inline;border-width:0;" title="ClientUI Menu Navigation" border="0" alt="ClientUI Menu Navigation" src="http://intersoftpt.files.wordpress.com/2010/05/clientuimenunavigation_thumb.png?w=642&#038;h=1661" width="642" height="1661" /></a> </p>
<p>In addition to the fundamental controls such as shown above, more advanced ClientUI controls such as stack button and dock button are implementing identical usability guidelines as well, thus creating elegant and consistent user experiences across your applications.</p>
<p>The following image captures the stack and dock button with keyboard navigation and focus visual.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuidockbutton.png"><img style="display:inline;border-width:0;" title="ClientUI Dock Button" border="0" alt="ClientUI Dock Button" src="http://intersoftpt.files.wordpress.com/2010/05/clientuidockbutton_thumb.png?w=642&#038;h=482" width="642" height="482" /></a> </p>
<p>Rebuilt from the ground-up, UXDock (formerly <a href="http://www.intersoftpt.com/WebAqua/FishEye" target="_blank">WebFishEye</a>) now incorporates the same usability standards that we applied in the other fundamental UIs such as dropdown button or menu discussed earlier. We even take the UX for particular flagship components such as UXDock and UXFlow to the next level by implementing some extent of UX guidelines according to <a href="http://developer.apple.com/documentation/UserExperience/index.html" target="_blank">Apple Human Interface Guidelines</a>, specifically when it comes to drag and drop, animation and UX consistency. ClientUI is designed to meet both Windows and Apply HIG by default. I&#8217;ll dedicate a special post covering the similarity and difference between the both – and how we built ClientUI to elegantly support both HIG.</p>
<p>A bit off topic – while we’re at&#160; dropdown buttons and menu subject, it’s noteworthy to briefly mention how developers or designers actually use them in the design/development process. One thing that I really liked about ClientUI – apart of many exciting design and runtime features discussed above – is how we built the object model to take advantage of semantics pattern. Using such pattern truly reduces learning curves and makes development much easier and more intuitive, for example, think about menu item semantic regardless of the visual presentation you wish to use. </p>
<p>A menu item – the way we see it – is a fundamental object that represents a visual that either initiates an action when clicked, or displays sub menu when it has items. That said, menu item can be used more generally and should support arbitrary visual hosts. Based on this concept, we specifically design the menu item to be highly adaptable and transformable based on the host – this allows various menu containers to use the same menu item semantic in its implementation. The following image shows how the menu item semantic is elegantly consumed in various visual hosts.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuisemanticmenuitem.png"><img style="display:inline;border-width:0;" title="ClientUI Semantic MenuItem" border="0" alt="ClientUI Semantic MenuItem" src="http://intersoftpt.files.wordpress.com/2010/05/clientuisemanticmenuitem_thumb.png?w=642&#038;h=582" width="642" height="582" /></a> </p>
<p>That’s cool, isn’t it?</p>
<p>In addition to <em>MenuBar</em>, <em>DropDownButton</em> and <em>SplitButton</em>, the same <em>MenuItem</em> semantic is also used in <em>ToolBar</em>, <em>ToolBarButton</em>, <em>StackButton</em> and <em>ContextMenu</em>. I’ll discuss more about StackButton and ContextMenu later.</p>
<h2><strong>Access Key Support</strong></h2>
<p>Access key is also one of the most crucial requirements in platform-standards user experiences that designed for users to quickly perform an action by pressing a shortcut or also known as access key. Unlike WPF, Silverlight completely miss the support for access key. Hence you won’t be able to easily do something like pressing Ctrl+O to show a dialog box or Alt+F to open File menu – which again, is a must-have requirements particularly in line-of-business and productivity applications.</p>
<p>ClientUI pushes the standards beyond Silverlight by making available access key in its various UI components. The following highlights some of the ClientUI components that implement access key.</p>
<p><strong>Input Gestures Support in Routed Command</strong></p>
<p>In my <a href="http://intersoftpt.wordpress.com/2010/04/24/clientui-part-3-comprehensive-mvvm-framework-for-silverlight-development/" target="_blank">previous post</a>, I’ve discussed about routed command support in ClientUI and how it can be applied to MVVM pattern using <em>CommandReference</em>. In this post, I’ll cover the UI part of the routed command and its relation to access key.</p>
<p>The following diagram illustrates the relationship between command, command bindings and input bindings.<a href="http://intersoftpt.files.wordpress.com/2010/05/routedcommandandinputbindings.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Routed Command and Input Bindings" border="0" alt="Routed Command and Input Bindings" src="http://intersoftpt.files.wordpress.com/2010/05/routedcommandandinputbindings_thumb.png?w=498&#038;h=451" width="498" height="451" /></a> </p>
<p>As seen in above illustration, you can think a command as a logical unit that identifies an action, such as Open, Save, or Close action. This modern routed command concept which originally introduced in WPF doesn’t include implementation by default – so it’s an arbitrary identifier of an action which can be easily reused across your application. The real implementation that handles the command is done at the command binding level. To learn more about routed command, see <a href="http://msdn.microsoft.com/en-us/library/ms752308.aspx#Four_main_Concepts" target="_blank">Four Main Concepts in Routed Command</a>.</p>
<p>Presuming that you now have a couple of commands with proper bindings in your UI, you can easily associate a key gesture to each command. Keep that simplicity in mind, when you run your page in the browser, pressing the key gesture will automatically execute the associated command – without any single line of codes. This is how the access key for command shortcut becomes possible in ClientUI for Silverlight. </p>
<p>With all its power, the routed command however won’t be so much useful without consumers that can take advantage of it. Since Silverlight doesn’t support routed command infrastructure, sadly none of its controls can take advantage of the routed command that we <a href="http://intersoftpt.wordpress.com/2010/04/09/introducing-intersoft-clientui-part-1/#ClientUIOverview" target="_blank">brought into Silverlight</a>. Conversely, ClientUI will ship with more advanced UI fundamentals – such as buttons, dropdowns, menus, tool command, and bars – that fully support routed command. As such, ClientUI controls can enjoy the power of input bindings as well – enables you to achieve consistent access key support across your application.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuikeygesture.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI KeyGesture" border="0" alt="ClientUI KeyGesture" src="http://intersoftpt.files.wordpress.com/2010/05/clientuikeygesture_thumb.png?w=642&#038;h=482" width="642" height="482" /></a> </p>
<p>The above picture demonstrates the usage of routed command and input binding in Contacts sample application that I showcased in my previous post.</p>
<p><strong>Access Key Support in MenuBar and ContextMenu</strong></p>
<p>In addition to the shortcut key support available in buttons, dropdowns and menus – ClientUI also implements special access key support required in certain UI components such as in <em>MenuBar</em> and <em>ContextMenu</em>.</p>
<p>Starting from Windows Vista, Microsoft added to their UX guidelines a new way to discover the access key (also known as mnemonic key in Winform and WPF). For instance, the earlier version of Windows will show an underline to the access key of a command or menu item such as <u>F</u>ile, <u>E</u>dit, etc. The last two versions of Windows will show the access key only when you pressed the access modifier keys which is the Alt key in Windows. ClientUI’s menu bar supports both mechanism.</p>
<p>The following screenshot pictures a menu bar that used automatic access key visibility.   </p>
<p> <a href="http://intersoftpt.files.wordpress.com/2010/05/clientuiaccesskey.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI AccessKey" border="0" alt="ClientUI AccessKey" src="http://intersoftpt.files.wordpress.com/2010/05/clientuiaccesskey_thumb.png?w=421&#038;h=482" width="421" height="482" /></a> </p>
<p>As seen in above image, ClientUI’s menu bar satisfies the comprehensive menu access key requirements in platform-standards UX which stated that the first menu item should be selected if the access modifiers is pressed without the access key (see the marked red point above). In this context, the menu bar should already enter modal mode (see Input Modality in latter section) which allow users to press “v” to access the View menu, “h” to access the Help menu and so on.</p>
<p>In addition to the visual part, the most important aspect is the real implementation of the access key. Thanks to the solid focus scope implementation as discussed earlier, the access key in menu bar could be consistently processed when the current focus is within the same focus scope as the menu bar.</p>
<p>The following image illustrates how access key works in menu bar.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuimenubaraccesskey.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI MenuBar AccessKey" border="0" alt="ClientUI MenuBar AccessKey" src="http://intersoftpt.files.wordpress.com/2010/05/clientuimenubaraccesskey_thumb.png?w=642&#038;h=482" width="642" height="482" /></a> </p>
<p>Please note that the Alt key can’t be used as access modifiers when a Silverlight application is running in browser. In this case, you can configure the access modifiers through <em>AccesskeyModifiers</em> property and set it to <em>Control+Alt</em> or other possible combinations. </p>
<p>Identifying a character as the access key is as easy as adding an underscore (_) character in the front of the designated access key, for example, <em>_Edit</em> will automatically identify the &quot;e” character as the access key for that particular menu item. The use of underscore semantic is compatible with the WPF counterpart of menu implementation.</p>
<p><strong>Access Key Support in CommandBar</strong></p>
<p>Another ClientUI component that also implements access key support is the CommandBar control. The command bar is commonly used in dialog box, message box or a window that hosts a set of command buttons.   </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuicommandbaraccesskey.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI CommandBar AccessKey" border="0" alt="ClientUI CommandBar AccessKey" src="http://intersoftpt.files.wordpress.com/2010/05/clientuicommandbaraccesskey_thumb.png?w=675&#038;h=238" width="675" height="238" /></a> </p>
<p>The image above shows a message box with predefined <em>YesNo</em> commands. Users can quickly access a command by pressing the first character of the command, i.e, “o” in OK, or “c” in Cancel. The same behavior is also consistently implemented in platform standards such as Windows or Macintosh.</p>
<h2><strong>Default Command and Visual Feedback</strong></h2>
<p>To create rich and consistent user experiences that follow standards-compliance design discipline, simply having aesthetic dialogs and form controls aren’t enough. We also make available several exciting features related to commanding such as default focus and visual feedback to the Silverlight platform.</p>
<p>A default command, when correctly implemented, should be the default action to be initiated when users pressed Enter key anywhere in the form, particularly within the input controls. Furthermore, a default command, according to platform-standards guidelines, should have unique visual presentation to distinct itself from other commands. This allows users to intuitively recognize the default action when they committed the changes. The following shows how Windows and Mac implemented the default command mechanism.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/platformstandardsdefaultcommand.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Platform Standards Default Command" border="0" alt="Platform Standards Default Command" src="http://intersoftpt.files.wordpress.com/2010/05/platformstandardsdefaultcommand_thumb.png?w=642&#038;h=482" width="642" height="482" /></a> </p>
<p>Similarly, ClientUI implements the default command mechanism in all its button family. The following illustration describes ClientUI’s default command implementation in more details.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuinativedefaultcommand.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI Native Default Command" border="0" alt="ClientUI Native Default Command" src="http://intersoftpt.files.wordpress.com/2010/05/clientuinativedefaultcommand_thumb.png?w=742&#038;h=782" width="742" height="782" /></a> </p>
<p>As seen in above illustration, a default command implementation that follows platform-standard UX guidelines isn’t as simple as it seems to be. That’s because the implementation involves a lot of details related to logical and keyboard focus and primarily the user interaction. Built upon its bare-metal architecture, ClientUI satisfies all these comprehensive implementations required in such a default command pattern.</p>
<h2><strong>Input Modality</strong></h2>
<p>Input modality is one of the most fundamental UI architectures that has been long adopted by popular platforms such as Windows and Mac. Unfortunately, I found out that today’s RIAs typically overlooked this architecture thus delivers impoverished applications that fail to provide consistent user experiences.</p>
<p>Despite the various theoretical definition of <a href="http://en.wikipedia.org/wiki/User_interface#Modalities_and_modes" target="_blank">input modality</a>, the simplest way to understand input modality is to see and experience it yourself. The most common implementation of input modality can be often found in dialog boxes, menu, and popup. When the UI requires a sole user focus, the UI routes all input events to that particular UI elements allowing users to easily focus on a specific single task, for example, when selecting a command from a menu, the user input is modal to the menu element. The following image illustrates the input modality example in Windows, Mac and ClientUI for Silverlight.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuiinputmodality.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI Input Modality" border="0" alt="ClientUI Input Modality" src="http://intersoftpt.files.wordpress.com/2010/05/clientuiinputmodality_thumb.png?w=733&#038;h=1082" width="733" height="1082" /></a> </p>
<p>The input modality mechanism becomes more complicated when there are multiple UIs that require user focus. In this case, the precedence of modality should be applied to determine which input should be first processed. This scenario can be often found in multiple window interface applications where a window should be less modal than the taskbar UI, and the taskbar UI should be less modal than menu or popup. The picture below shows how the precedence in input modality is consistently implemented in platform standards such as Windows and Mac. And&#160; yes ClientUI – too.</p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuimodalityprecedence.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI Modality Precedence" border="0" alt="ClientUI Modality Precedence" src="http://intersoftpt.files.wordpress.com/2010/05/clientuimodalityprecedence_thumb.png?w=725&#038;h=847" width="725" height="847" /></a></p>
<p>As mentioned in the self-describing illustration above, rich user experiences emphasize on look and feel that behaves consistently throughout the applications – the one that users feel comfortable and intuitive to work with – before, during and after the use of the application. </p>
<p>Ultimately, input modality increasingly becomes a popular subject as modern UI platforms such as WPF and Silverlight are gaining converts from traditional line-of-business application developers. While Silverlight completely overlooked many usability implementations required in modern business apps, ClientUI comes to rescue by offering a wide range of ready-to-use tools that already meet the strict usability requirements of platform standards – which includes keyboard support, navigation, access key, default focus, input modality and much more.</p>
<h2>Summary</h2>
<p>User experiences, particularly in the scope of software applications, is a wide subject that can’t be learnt overnight. In this already-long post alone, I’ve cut-down three other sections and only managed to detail the first four sections of the key UX aspects that we implemented in the forthcoming ClientUI 2010. However, at least I hope you’ve got a clearer picture on UX in general, the benefits and the reasons why you should care about it.</p>
<p>To wrap up this post, I’d like to show the ClientUI version of dialog box and form controls implementation, as opposed to the Silverlight version that I described in the beginning of this post. ClientUI truly takes Silverlight apps to a whole new level with multitude of UIs that aren’t just rich, but also strictly complies to the usability and guidelines according to human interface’s ISO standards. The following is a edit dialog that you’d found in common LoB apps – but this one with 100% compliance to Windows 7 Human Interface Guidelines (HIG). </p>
<p><a href="http://intersoftpt.files.wordpress.com/2010/05/clientuiuserexperiences.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="ClientUI User Experiences" border="0" alt="ClientUI User Experiences" src="http://intersoftpt.files.wordpress.com/2010/05/clientuiuserexperiences_thumb.png?w=742&#038;h=682" width="742" height="682" /></a> </p>
<p>As I’ve revealed in the first four series of my blog, you may already discover the key potential of ClientUI particularly for Silverlight development. True, ClientUI 2010 will include tons of exciting features that seriously help you get into business – whether you’re a software architect, application developer or a senior UX designer.</p>
<p>There are still a lot of exciting aspects of ClientUI that yet to be revealed which I’m planning to write in the next couple posts before ClientUI goes official sometimes next month. If you have any feedback or questions regarding UX, usability or anything related to this post, please feel free to submit your comment.</p>
<p>Last but not least, I hoped you enjoyed reading this post. Thank you for your time and stay tuned for the next series!</p>
<p>All the best,    <br />Jimmy.     <br />Chief Software &amp; UX Architect.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intersoftpt.wordpress.com/1327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intersoftpt.wordpress.com/1327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intersoftpt.wordpress.com/1327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intersoftpt.wordpress.com/1327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intersoftpt.wordpress.com/1327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intersoftpt.wordpress.com/1327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intersoftpt.wordpress.com/1327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intersoftpt.wordpress.com/1327/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intersoftpt.wordpress.com/1327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intersoftpt.wordpress.com/1327/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intersoftpt.wordpress.com&blog=446337&post=1327&subd=intersoftpt&ref=&feed=1" />]]></content:encode><wfw:commentRss>http://intersoftpt.wordpress.com/2010/05/21/clientui-part-4-rich-ui-meets-iso-standards/feed/</wfw:commentRss></item><item><title>UPDATE: Intersoft WebUI Studio for Silverlight R1 SP1</title><link>http://ansoesil.wordpress.com/2009/09/02/update-intersoft-webui-studio-for-silverlight-r1-sp1/</link><comments>http://ansoesil.wordpress.com/2009/09/02/update-intersoft-webui-studio-for-silverlight-r1-sp1/#comments</comments><pubDate>Wed, 02 Sep 2009 07:06:55 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[General]]></category><category><![CDATA[Intersoft DataSource™]]></category><category><![CDATA[Intersoft Presenter™]]></category><category><![CDATA[Intersoft WebAqua™]]></category><category><![CDATA[Silverlight]]></category><description><![CDATA[Hi all, We just released the SP1 for Intersoft WebUI Studio for Silverlight R1. For existing customers the new service pack can be obtain from Developer Network 3, under My Components, and for prospects customers you can download the new service pack from Request Trial page. The main focus for this WebUI Studio for Silverlight [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=364&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/09/02/update-intersoft-webui-studio-for-silverlight-r1-sp1/feed/</wfw:commentRss></item><item><title>InDepth: Column Layout – Part 1</title><link>http://ansoesil.wordpress.com/2009/07/22/indepth-column-layout-part-1/</link><comments>http://ansoesil.wordpress.com/2009/07/22/indepth-column-layout-part-1/#comments</comments><pubDate>Wed, 22 Jul 2009 14:09:53 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[Intersoft Presenter™]]></category><category><![CDATA[Silverlight]]></category><description><![CDATA[Hi, In the previous posts i&#8217;ve discussed how to do data binding using Intersoft Presenter. One thing that is set by default is that the columns is automatically generated from the given item type. In most cases, we don&#8217;t want all the columns in the item type to be displayed so how can we manage [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=350&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/07/22/indepth-column-layout-part-1/feed/</wfw:commentRss></item><item><title>In Depth: Data Binding with Intersoft Presenter for Silverlight – Part2</title><link>http://ansoesil.wordpress.com/2009/07/17/in-depth-data-binding-with-intersoft-presenter-for-silverlight-%e2%80%93-part2/</link><comments>http://ansoesil.wordpress.com/2009/07/17/in-depth-data-binding-with-intersoft-presenter-for-silverlight-%e2%80%93-part2/#comments</comments><pubDate>Fri, 17 Jul 2009 05:57:18 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[General]]></category><description><![CDATA[Hi all, In the previous post we discuss about the various factor that you can do with data binding with intersoft presenter. Now i want to discuss about how to add additional query / custom query and how to change the data source of intersoft presenter at run time. Using custom query Often in developing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=340&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/07/17/in-depth-data-binding-with-intersoft-presenter-for-silverlight-%e2%80%93-part2/feed/</wfw:commentRss></item><item><title>In Depth: Data Binding with Intersoft Presenter for Silverlight – Part1</title><link>http://ansoesil.wordpress.com/2009/07/14/in-depth-data-binding-with-intersoft-presenter-for-silverlight-part1/</link><comments>http://ansoesil.wordpress.com/2009/07/14/in-depth-data-binding-with-intersoft-presenter-for-silverlight-part1/#comments</comments><pubDate>Tue, 14 Jul 2009 03:13:07 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[Intersoft Presenter™]]></category><category><![CDATA[Silverlight]]></category><description><![CDATA[Hi all, Silverlight 3.0 RTM is released and there are lots of new exciting features including the Microsoft .NET RIA services which give us a new way to perform data binding to Silverlight application.  I&#8217;ll cover this area later in other posts, as we still exploring the Silverlight 3.0 so stay tune. In this post [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=321&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/07/14/in-depth-data-binding-with-intersoft-presenter-for-silverlight-part1/feed/</wfw:commentRss></item><item><title>Intersoft WebUI Studio 2009 R1 is ready for RTM</title><link>http://ansoesil.wordpress.com/2009/06/12/intersoft-webui-studio-2009-r1-is-ready-for-rtm/</link><comments>http://ansoesil.wordpress.com/2009/06/12/intersoft-webui-studio-2009-r1-is-ready-for-rtm/#comments</comments><pubDate>Fri, 12 Jun 2009 03:58:58 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[General]]></category><description><![CDATA[Hi all, After receiving feedback and bugs reports from beta release, the Intersoft WebUI Studio 2009 R1 is finally ready for RTM. For the silverlight edition there are severals new API added which you can explore from our documentation. We also have numerous walkthrough and how-to topic in the documentation  to help you getting started [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=315&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/06/12/intersoft-webui-studio-2009-r1-is-ready-for-rtm/feed/</wfw:commentRss></item><item><title>Intersoft WebUI Studio 2009 R1 for Silverlight Beta is available!</title><link>http://ansoesil.wordpress.com/2009/04/29/intersoft-webui-studio-2009-r1-for-silverlight-beta-is-available/</link><comments>http://ansoesil.wordpress.com/2009/04/29/intersoft-webui-studio-2009-r1-for-silverlight-beta-is-available/#comments</comments><pubDate>Wed, 29 Apr 2009 03:06:36 +0000</pubDate><dc:creator>ansoesil</dc:creator><category><![CDATA[Intersoft DataSource™]]></category><category><![CDATA[Intersoft Presenter™]]></category><category><![CDATA[Intersoft WebAqua™]]></category><category><![CDATA[Silverlight]]></category><description><![CDATA[Hi all, the long awaited beta version for WebUI Studio 2009 R1 for Silverlight is up. This package includes the latest version of Intersoft Presenter for Silverlight, Intersoft WebAqua for Silverlight  and Intersoft DataSource for Silverlight. If you haven’t read the previous blog about the Intersoft Presenter and Intersoft Data Source, I suggest you do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ansoesil.wordpress.com&blog=6297402&post=294&subd=ansoesil&ref=&feed=1" />]]></description><wfw:commentRss>http://ansoesil.wordpress.com/2009/04/29/intersoft-webui-studio-2009-r1-for-silverlight-beta-is-available/feed/</wfw:commentRss></item><item><title>Intersoft Releases WebUI Studio® 2010 RC</title><link>http://intersoftpt.com/News.aspx?EventID=201</link><comments /><pubDate>6/30/2010 12:00:00 AM</pubDate><dc:creator>Intersoft Solutions</dc:creator><category><![CDATA[General]]></category><description><![CDATA[<p><strong>LOS ANGELES, CA, July 2nd, 2010</strong> &ndash; Intersoft Solutions is excited to announce the availability of WebUI Studio 2010 Release Candidate. The Release Candidate (RC) includes RTM-quality product bits with multitude of new business-inspiring samples and complete documentations enabling developers to immediately start leveraging Intersoft’s cutting-edge UI components in their business applications.</p><br /><p>WebUI Studio® 2010 is strongly focused in ClientUI®, a suite of 180 innovative UI controls for building next-generation Silverlight and WPF application. Beyond just a set of rich controls, it includes top features not available anywhere else – which includes solid MVVM Framework, routed events, commanding and drag-drop architecture supporting both Silverlight and WPF platforms. The extended designer support for Visual Studio® 2010 and Blend® deliver impressive visual development experiences and at the same time significantly accelerate development process. <a href="http://en.wordpress.com/tag/clientui-2010/" target="_blank" class="contentlink">Learn more</a> about the concept, implementation, and how ClientUI simplifies the Silverlight and WPF application development.</p><br /><p>For the ASP.NET platform, WebUI Studio® 2010 adds brand-new WebEssentials® lineups, the latest and the ultimate addition to the already-powerful WebUI Studio for ASP.NET. Enhancing visual and user experience, WebEssentials features 8 new amazing Web 2.0 widgets, ranging from intuitive accordion, iPhone-style sliding-menu, engaging rating system, to multi-purpose list box. <a href="http://en.wordpress.com/tag/webessentials/" target="_blank" class="contentlink">Learn more</a> about WebEssentials.</p><br /><p>WebUI Studio 2010 Release Candidate is now available for public download. Click <a href="http://www.intersoftpt.com/downloadrc" class="contentlink" target="_blank">here</a> to download and start building the next-generation RIA experiences. Full support for WebUI Studio 2010 starts along with this release. Two new forums for <a href="http://www.intersoftpt.com/Community/WebEssentials" target="_blank" class="contentlink">WebEssentials</a> and <a href="http://www.intersoftpt.com/Community/ClientUI" target="_blank" class="contentlink">ClientUI</a> respectively are officially open.</p><br /><p>ClientUI.com is now establish to represent the brand-new ClientUI®, Intersoft’s most advanced and innovative technology built for Silverlight and WPF application development. In this release, <a href="http://labs.clientui.com/mybusinessapp" target="_blank" class="contentlink">a rich Silverlight business application sample</a> is up to showcase various ClientUI components used in real-world business applications, such as nested child navigation, built-in role-based security, elegant transitions, intuitive UIs and much more.</p><br /><p>In addition, the live samples for ASP.NET lineups have been updated with over 50 new samples including both feature-based and business reference samples. Click <a href="http://live.intersoftpt.com" target="_blank" class="contentlink">here</a> to access the updated ASP.NET Online Demos.</p>]]></description><content:encode><![CDATA[<p><strong>LOS ANGELES, CA, July 2nd, 2010</strong> &ndash; Intersoft Solutions is excited to announce the availability of WebUI Studio 2010 Release Candidate. The Release Candidate (RC) includes RTM-quality product bits with multitude of new business-inspiring samples and complete documentations enabling developers to immediately start leveraging Intersoft’s cutting-edge UI components in their business applications.</p><br /><p>WebUI Studio® 2010 is strongly focused in ClientUI®, a suite of 180 innovative UI controls for building next-generation Silverlight and WPF application. Beyond just a set of rich controls, it includes top features not available anywhere else – which includes solid MVVM Framework, routed events, commanding and drag-drop architecture supporting both Silverlight and WPF platforms. The extended designer support for Visual Studio® 2010 and Blend® deliver impressive visual development experiences and at the same time significantly accelerate development process. <a href="http://en.wordpress.com/tag/clientui-2010/" target="_blank" class="contentlink">Learn more</a> about the concept, implementation, and how ClientUI simplifies the Silverlight and WPF application development.</p><br /><p>For the ASP.NET platform, WebUI Studio® 2010 adds brand-new WebEssentials® lineups, the latest and the ultimate addition to the already-powerful WebUI Studio for ASP.NET. Enhancing visual and user experience, WebEssentials features 8 new amazing Web 2.0 widgets, ranging from intuitive accordion, iPhone-style sliding-menu, engaging rating system, to multi-purpose list box. <a href="http://en.wordpress.com/tag/webessentials/" target="_blank" class="contentlink">Learn more</a> about WebEssentials.</p><br /><p>WebUI Studio 2010 Release Candidate is now available for public download. Click <a href="http://www.intersoftpt.com/downloadrc" class="contentlink" target="_blank">here</a> to download and start building the next-generation RIA experiences. Full support for WebUI Studio 2010 starts along with this release. Two new forums for <a href="http://www.intersoftpt.com/Community/WebEssentials" target="_blank" class="contentlink">WebEssentials</a> and <a href="http://www.intersoftpt.com/Community/ClientUI" target="_blank" class="contentlink">ClientUI</a> respectively are officially open.</p><br /><p>ClientUI.com is now establish to represent the brand-new ClientUI®, Intersoft’s most advanced and innovative technology built for Silverlight and WPF application development. In this release, <a href="http://labs.clientui.com/mybusinessapp" target="_blank" class="contentlink">a rich Silverlight business application sample</a> is up to showcase various ClientUI components used in real-world business applications, such as nested child navigation, built-in role-based security, elegant transitions, intuitive UIs and much more.</p><br /><p>In addition, the live samples for ASP.NET lineups have been updated with over 50 new samples including both feature-based and business reference samples. Click <a href="http://live.intersoftpt.com" target="_blank" class="contentlink">here</a> to access the updated ASP.NET Online Demos.</p>]]></content:encode><wfw:commentRss /></item><item><title>Exclusive offer: Double your development power at the price of one</title><link>http://intersoftpt.com/News.aspx?EventID=195</link><comments /><pubDate>3/9/2010 12:00:00 AM</pubDate><dc:creator>Intersoft Solutions</dc:creator><category><![CDATA[General]]></category><description><![CDATA[<div align="center"><img src="http://www.intersoftpt.com/News/double_your_development_power_newsletter_march.png" usemap="#map1" style="border: 0pt none;"><map name="map1"><area shape="rect" coords="285,430,380,465" title="Buy WebUI Studio for ASP.NET Subscription now!" href="http://www.intersoftpt.com/WebUIStudio/ASPNET/BuySubscription/"><area shape="rect" coords="184,740,245,755" title="Learn more about Subscription." href="http://www.intersoftpt.com/WebUIStudio/SubscriptionBenefits" target="_blank"><area shape="rect" coords="288,950,392,935" title="Email Intersoft Sales" href="mailto:sales@intersoftpt.com?subject=Double Your Development Power Promo" target="_blank"></map></div>]]></description><content:encode><![CDATA[<div align="center"><img src="http://www.intersoftpt.com/News/double_your_development_power_newsletter_march.png" usemap="#map1" style="border: 0pt none;"><map name="map1"><area shape="rect" coords="285,430,380,465" title="Buy WebUI Studio for ASP.NET Subscription now!" href="http://www.intersoftpt.com/WebUIStudio/ASPNET/BuySubscription/"><area shape="rect" coords="184,740,245,755" title="Learn more about Subscription." href="http://www.intersoftpt.com/WebUIStudio/SubscriptionBenefits" target="_blank"><area shape="rect" coords="288,950,392,935" title="Email Intersoft Sales" href="mailto:sales@intersoftpt.com?subject=Double Your Development Power Promo" target="_blank"></map></div>]]></content:encode><wfw:commentRss /></item><item><title>&lt;a href="http://www.intersoftpt.com/Corporate/PressRelease.aspx?page=PressRelease&amp;PressID=ab6b7595-1dc2-47c8-ac91-d513ed714888"&gt;Intersoft Updates WebUI Studio 2009 R2 SP1 with 100+ Enhancements &lt;/a&gt;</title><link>http://intersoftpt.com/News.aspx?EventID=198</link><comments /><pubDate>2/8/2010 12:00:00 AM</pubDate><dc:creator>Intersoft Solutions</dc:creator><category><![CDATA[General]]></category><description><![CDATA[]]></description><content:encode><![CDATA[]]></content:encode><wfw:commentRss /></item><item><title>Intersoft “Sim Ships” WebUI Studio 2010 with Visual Studio 2010</title><link>http://intersoftpt.com/News.aspx?EventID=197</link><comments /><pubDate>1/22/2010 12:00:00 AM</pubDate><dc:creator>Intersoft Solutions</dc:creator><category><![CDATA[General]]></category><description><![CDATA[<p><strong>Jakarta, January 22nd 2010</strong> – Intersoft Solutions, a Visual Studio Industry Partner, will simultaneously ship their flagship product, WebUI Studio 2010, with Visual Studio 2010’s spring release this May 5th. Developers will instantly enjoy the ultimate collection of over 70 Silverlight and ASP.NET UI controls, tightly integrated with Visual Studio 2010 IDE for exceptional, accelerated web development.</p><br /><p>Intersoft Solutions and Microsoft believe the powerful combination of WebUI Studio and Visual Studio allows developers access to sophisticated tools without the steep learning curve. Additionally, the low barrier to adoption combined with WebUI Studio’s innate ease of use means faster time to market and reduced development costs.</p><br /><p> “As Visual Studio 2010 evolves, so does WebUI Studio 2010,” says Jimmy Petrus, Intersoft’s CEO. “The upcoming WebUI Studio 2010 will deliver over 50 new components for Silverlight and WPF 4 that not only provides support for Visual Studio 2010, but go beyond the box with richer designer capabilities – making the most of your investments in both Microsoft’s Visual Studio and Intersoft’s WebUI Studio.”</p><br /><p>Jemmy Haryono, Marketing VP of Intersoft Solutions believes that “this collaboration is testament to the value we place on our customer’s investment, and our commitment to continuously provide cutting-edge technology for rapid web application development.”</p>]]></description><content:encode><![CDATA[<p><strong>Jakarta, January 22nd 2010</strong> – Intersoft Solutions, a Visual Studio Industry Partner, will simultaneously ship their flagship product, WebUI Studio 2010, with Visual Studio 2010’s spring release this May 5th. Developers will instantly enjoy the ultimate collection of over 70 Silverlight and ASP.NET UI controls, tightly integrated with Visual Studio 2010 IDE for exceptional, accelerated web development.</p><br /><p>Intersoft Solutions and Microsoft believe the powerful combination of WebUI Studio and Visual Studio allows developers access to sophisticated tools without the steep learning curve. Additionally, the low barrier to adoption combined with WebUI Studio’s innate ease of use means faster time to market and reduced development costs.</p><br /><p> “As Visual Studio 2010 evolves, so does WebUI Studio 2010,” says Jimmy Petrus, Intersoft’s CEO. “The upcoming WebUI Studio 2010 will deliver over 50 new components for Silverlight and WPF 4 that not only provides support for Visual Studio 2010, but go beyond the box with richer designer capabilities – making the most of your investments in both Microsoft’s Visual Studio and Intersoft’s WebUI Studio.”</p><br /><p>Jemmy Haryono, Marketing VP of Intersoft Solutions believes that “this collaboration is testament to the value we place on our customer’s investment, and our commitment to continuously provide cutting-edge technology for rapid web application development.”</p>]]></content:encode><wfw:commentRss /></item><item><title>&lt;a href="http://www.intersoftpt.com/Corporate/PressRelease.aspx?page=PressRelease&amp;PressID=6de8e871-ce7f-475e-a197-be0c2897bcc2"&gt;Intersoft Solutions releases WebUI Studio 2009 R2&lt;/a&gt;</title><link>http://intersoftpt.com/News.aspx?EventID=192</link><comments /><pubDate>12/11/2009 12:00:00 AM</pubDate><dc:creator>Intersoft Solutions</dc:creator><category><![CDATA[General]]></category><description><![CDATA[]]></description><content:encode><![CDATA[]]></content:encode><wfw:commentRss /></item></channel></rss>