Integration, focused investments to propel Windows Phone: By Kevin Kwang , ZDNet Asia on May 23, 2012 (2 hours a... http://t.co/E7tsZbHJ
53 minutes ago by Easyforexdotcom on twitterZDNet is available in the following editions:
The User Interface Process Application Block (UIPAB) introduces a new task-based design pattern to help .NET developers create more intuitive interfaces. This article discusses the new flexibility--and complexity--inherent in the UIPAB.
To use the software, the projects must be compiled with the provided Solution files. The DLL—Microsoft.ApplicationBlocks.UIProcess.dll—needs to be referenced with the Add Reference menu item in the context menu of the Solution Explorer. One other thing: The UIPAB, as with six of the eight blocks, is not supported by the 1.0 version of the Framework, only 1.1. Visual Studio .NET 2003 is needed to even open the solutions. This might explain why six of the blocks were announced at once, 18 months after the launch of the last block.
A sophisticated solution
The UIPAB is sophisticated
software that forces developers to genuinely plan software around the use of the
block. It defies easy description, so bear with me while I attempt a clear
explanation.
The UIPAB is a user platform-independent component that provides integrated and important parts of the user experience, navigation, and state management. The stated goal of the block is to allow for the abstraction of the user experience from the actual forms that make up the interface. This has many obvious benefits, not the least of which is that you can avoid coding navigation into a form, which would negate the ability to reuse the form in a different form factor.
In the world of Web application programming, many developers use HTML-style INCLUDE statements (or .NET user controls) for page headers, footers, and navigation. Because we can handle details like showing and hiding parts of the navigation system in these files, they abstract not only the physical instance of the common imagery and text, but the logic too.
The UIPAB takes this to a new extreme. Using a task-based design pattern called the model-view-controller, the UIPAB provides the actual physical navigation through the ControllerBase class and management of state through the State class. Essentially, this covers the model (state) and controller (navigation) aspects of the pattern.
Using the MVC pattern
Most
of us use the MVC pattern without even knowing it. The MVC pattern describes
three objects that control the user experience, each specifically suited to its
task. These objects are the controller, view, and model. The controller
interprets commands from the user. The view gives feedback to the user
based on said commands. The model manages the logic surrounding both of these
and, most specifically, the state of the application as it relates to the
navigation.
In the Windows world, this is often described best by considering a wizard—a common logical structure. There are separate screens, each with its own functionality. These are views. The forward, back, and cancel buttons represent the control. The most important and least visible of the parts is the model, which remembers which screen the user is on, determines what screen is next, and decides what to do if, say, the user quits in the middle.
You can see that the navigation and state components of the UIPAB
are intrinsically linked. This makes for a sophisticated deployment. In this
short article, I'll give you enough of the basics to decide whether the UIPAB
could be useful in your applications.
Designing for the UIPAB
To get started using the
UIPAB, we first need to define tasks in our application. Assuming the use cases
are well defined in the requirements documentation, an excellent step would be a
statechart diagram. A statechart is a description of a use case or class that
documents events and transitions that occur due to interaction with a user. It
is a decomposition diagram for object-oriented systems. For instance, Figure
A provides a look at a save operation for Microsoft Word.
| Figure A |
![]() |
Essentially a flowchart, the statechart focuses on the state of an application at a given point and how it gets there. From the MVC perspective, the "create new file" state requires a view, which would be the Save dialog in a Windows environment, while the "save existing file" is without a view. This represents a single task even though there are two states.
Coding for the
UIPAB
Let's discuss the steps you follow to put the UIPAB to work.
From there, you'll need to examine the examples provided by the Microsoft Patterns and Practices team.
Not for the timid
At this point, it should be obvious
that this is not a quick-and-dirty navigation solution; it is a large, scalable,
comprehensive structure for navigating well-designed applications. There are
significant configuration options using XML files, and we didn't even touch on
accessing the state object to pause and continue tasks. If you are looking at
creating a sophisticated application, with numerous user tasks, security levels,
or tiers of views, consider the UIPAB. It might not be less work, but the
application will be better for it.
Integration, focused investments to propel Windows Phone: By Kevin Kwang , ZDNet Asia on May 23, 2012 (2 hours a... http://t.co/E7tsZbHJ
53 minutes ago by Easyforexdotcom on twitterIntegration, focused investments to propel Windows Phone http://t.co/u9TqjQ8C
1 hour ago by ashvin_9 on twitterAsiaClassifiedToday. Integration, focused investments to propel Windows Phone - ZDNet Asia: S... http://t.co/47tdjZyG #asia #google #biz
2 hours ago by ChemarieMonica on twitterMalaysian organizations are apathetic about information security and fail to realize they are potentially under... http://t.co/XeuvbXrs
3 hours ago by SalesInAsia on twitterBig data acquisitions pave way to fast, effective innovation - ZDNet Asia News http://t.co/vDZpl0lu
4 hours ago by servicemarq on twitter"Big data acquisitions pave way to fast, effective innovation" including @Vivisimo_Inc (client) in @ZDnetAsia http://t.co/yNSdPqbb
4 hours ago by FreestylePR on twitterHomegrown smartphone OSes gaining favor in China: 59 Jakarta 10350, Indonesia Locally-made mobile operating syst... http://t.co/BruP98Es
5 hours ago by SmartPhoneHonch on twitterRT @MDMGeek: Big data acquisitions pave way to fast, effective innovation - ZDNet Asia http://t.co/ky8YgPAn #Bigdata #analytics via @ciropuglisi
5 hours ago by data_nerd on twitterIntegration, focused investments to propel Windows Phone http://t.co/6JkDa9sB
5 hours ago by bestwaytoinvest on twitterRT @AsianFashionLaw: Malaysia offers some manufacturing benefits over China http://t.co/bMquIFiX
5 hours ago by Serend1p1ty9 on twitterAcquisitions in the Big Data market increasingly important to enterprises… http://t.co/Br4BkXyZ
5 hours ago by iProConLtd on twitterExperience trumps content in apps monetization http://t.co/iaCY5ebX
6 hours ago by monetize_me on twitterMalaysia offers some manufacturing benefits over China http://t.co/bMquIFiX
6 hours ago by AsianFashionLaw on twitterRT @MDMGeek: Big data acquisitions pave way to fast, effective innovation - ZDNet Asia http://t.co/ky8YgPAn #Bigdata #analytics via @ciropuglisi
6 hours ago by GarnieBolling on twitterSo much as we know , MTK6575 extremely integrated frequency1GHz ARM Cortex-A9 processor, the superiority of 3G / HSPA Modem, and help the...
1 day ago by y15822137359 on 5 SaaS adoption speed bumps to avoidI reckon your view: "CRM is strategy, not software", if a company replicating the approach uses in ERP implementation into CRM, what they...
2 days ago by wykoong on Gartner: Mobile CRM gives better ROI than socialThis video will teach you about the Excel fill handle but also provide you with a workook to download... http://www.youtube.com/watch?v=...
3 days ago by TradeBrother on A quick fill handle trick for Microsoft Excelwaiting...
5 days ago by eapete on What should count in a company's market value?Boy, you've opened a can of worms now.
Wait for the rants & raves.
I was puzzling before this whether to replicate the success formula we executed for a financial institute, and come out with a standard s...
5 days ago by wykoong on Drop the egos, copy ideas, then innovateThreats and malware know no boundaries. Neither should your web security. See how far Blue Coat Unified Web Security goes to protect your network.
Echelon 2012 - The Awesomer Tech Event in Asia
Echelon 2012 – SEA’s longest running tech startup event goes Awesomer. Catch 50 of Asia’s most promising startups & over 40 international speakers on June 11-12.
Startup Asia Jakarta showcases new product-ready tech startups. Plus: hackathon, exhibition, and speakers. Use promo code CBSi50 for 50% discount.
ZDNet Asia Intelligent Singapore video series
Featuring inteviews with CXOs who define "intelligence" in their markets and reveal how their companies drive business efficiencies through ICT.