12. User Experience in Software? Ease of Use Learn ability Performance Reliability Security Optimized form factors Legibility / Readability Relevance / Contextualization Richness Graphics & Media Data Visualization Higher Fidelity Information Globalization Accessibility Hardware & Printing Integration Windows Vista Office 2007 Measuring UX ROI (end user behaviors / benefits) Success Productivity Retention Comprehension Conversion Satisfaction Excitement Repeat Use
WPF also allows you to build applications that can be hosted within a web browser . This flavor of applications is termed as XAML Browser Application (XBAP). These pages are simple to ASPX pages but with file extension of .xbap. These *.xbap applications are either hosted within in IE or FireFox. No other browsers supports. Windows forms are based on native windows controls that make use windows handles that are based on screen pixels. Whereas WPF is based on DirectX . In WPF support for media (i.e., sound and video) included. Using the Silverlight SDK, it is possible to build browser-based applications that can be hosted by Mac OS X as well as Microsoft Windows (additional operating systems are supposedly also in the works).
WPF is a new graphical subsystem in Vista or advanced that provide holistic means for combining user interface, 2D and 3D graphics, documents and digital media. WPF uses vector based composition engine (Powerful graphic hardware). This allows for graphics to scale based on screen-specific resolution without loss of quality , something nearly impossible with fixed-size raster graphics. The other advantages of WPF over windows forms are: WPF was designed from the ground up for managed code. So it benefited 5 years experience of .NET. Disadvantages of WPF are: At present time there are certain controls available in Windows Forms there is no WPF equivalent. (Eg: DataGridView control, etc., ) The learning curve of WPF is very, very steep. Windows forms are based on native windows controls that make use windows handles that are based on screen pixels. Whereas WPF is based on DirectX . In WPF support for media (i.e., sound and video) included.
User experience is more than “looks”. User experience represents the overall interaction process of the user with an object. This interaction provides the user with an added value benefit. In this case the benefit that both tools offer is “opening a can”. However it is evident that the can opener will provide the user with a better overall user experience on obtaining the benefit. It is more secure, easier to use and can achieve the benefit faster than the knife. Let’s take this example even further. What is the difference between 2 cars - a 10K car and a 40K BMW? Both take you from point A to point B. There’s a world of difference. For one, the BMW has a much superior user experience (styling, handling, performance, etc.) In addition, notice that a BMW offers its owners an emotional connection, a “pride of ownership.” This gives BMW a unique brand in the eyes of its owners, and to the millions of potential owners who dream of buying this car some day! This shows us that user experience has tremendous business value – ability to differentiate products, create brand awareness, and customer satisfaction.
We say earlier how user experience is so common-place in consumer goods. Yet, when it comes to software, we are happy to live with “good enough” experiences. When was the last time you had a very satisfying experience with your software, where you thought to yourself “I Love my Software.” Is this because user experience in software does NOT matter? Microsoft firmly believes that user experience in software does matter. Even with our own products, such as Windows Vista and Microsoft Office 2007, Microsoft is delivering software with amazing user experience. User Experience (UX) matters because it helps end-users use products in an easy way (easy to use, relevant, secure, etc.). The things that make a software have a good UX is richness, data viz, globalization, accessibility, etc. UX can be easily measured based on success of usage, productivity, retention, comprehension, and so on.
Deliver Innovative User Interfaces Unified approach to UI, media, and documents Vector-based composition engine, hardware acceleration, resolution independent graphics engine Works on Windows Vista, Windows XP and Windows Server 2003 Increase Developer-Designer Productivity Visual Studio IDE for developers; Microsoft Expression for designers Declarative programming (XAML) for better designer-developer collaboration Common code base and flexible deployment as stand-alone client or in browser Leverage Existing Code Base and Skill Set Interoperability with Windows Forms, Win32, DirectX, MFC, ActiveX Leverage vested knowledge in .NET Framework, CLR languages, and Visual Studio IDE WPF, a .NET Framework component, is Microsoft’s strategic presentation technology for Windows smart client user experiences. Use WPF to deliver innovative user interfaces through support for UI, media, document services, hardware acceleration, vector graphics, resolution-independent DPI for different form factors, data visualization, and superior content readability. Increase developer-designer productivity and collaboration through Visual Studio, Microsoft Expression Interactive Designer, and XAML. Write code once, and deploy as stand-alone client or in a browser. Incrementally embrace WPF through interoperability with Win32 and Windows Forms. Leverage vested knowledge in .NET Framework, CLR languages and Visual Studio IDE. Derive business value through new paradigms of user experiences, business intelligence through data visualizations, brand awareness through differentiated customer experiences, and customer loyalty through higher customer satisfaction.
The Silverlight Toolkit is a set of additional controls that are available outside of the core control set. These include charting controls, date/time controls, accordions and much more. Silverlight is cross browser cross platform implementation of .NET Framework for building and delivering the next generation of media experiences and Rich Interactive Applications (RIA) for the web. Silverlight runs in the browser as a " sandbox " - a secure zone installed into the browser that accommodates Silverlight functionality while completely protecting the host platform from any possibly adverse actions performed by Silverlight. In Silverlight the UI is typically created using XAML. Silverlight currently supports the following major user interface elements: Canvas, Rectangle, Ellipse, Line, Path, Polyline, Polygon , Image, MediaElement, TextBlock. You’ll use XAML to define your Silverlight user interface. Using an XML-based language helps ease the downloading of the UI through any firewalls and simplifies the process of generating it dynamically: It is easy to use XSL/T to transform data into the UI, and you can predefine templates and use standard XML querying techniques to insert live data into the relevant placeholders. Like HTML, Javascript , the Silverlight runs on web browser. To run Silverlight application on browser it doesn’t required ASP.NET to be run on server side. Silverlight applications simply require a Web server to be equipped as they would be for hosting HTML documents ( i.e., It doesn’t required any additional features ). Executing Silverlight on a Web client machine requires Silverlight plug-in is installed on that machine. Silverlight has very rich support for reading data of numerous types from web services to RSS feeds to static XML files. Silverlight also introduces what is known as the DLR, or Dynamic Language Runtime. This allows you to write code in non-traditional .NET languages such as IronPython or IronRuby . Silverlight 2 runtime features are: 2D, Graphics, Audio, Video, Animations, Text, TextInput, Data Binding, HTTP(S) Sockets, .NET Support (C#, VB.NET), LINQ, XML API, Generics, JSON Serializer, HTML Integration, Local Storage, Threading, Crypto API. Silverlight 2 SDK Libraries: Dynamic Languages Jscript IronRuby IronPython Additional Controls LINQ for XML XML Serialization Syndication APIs (RSS)
Tools for WPF and Silverlight are: Expression Design Expression Blend VS 2008 Expression Media Expressions Blend is a Visual Studio like tool for designing WPF user interfaces. While Blend is intended for use by Designers, it is sufficiently superior to the equivalent designer in Visual Studio that most Developers will likely use it in conjunction with Visual Studio. Expression Blend makes designing easy by providing an interface where you can visually draw shapes, paths and controls, import images and videos, and so forth, and then manipulate their properties. You can also animate any element of your design by creating storyboards. Microsoft Expression Blend 2 is an application included in the Microsoft Expression Studio 2 software package. Expression Blend can open and work with Visual Studio 2008 projects and solutions. So, if you open a Silverlight project in Expression Blend and Visual Studio at the same time, any changes you make to the Silverlight file in Visual studio would be immediately applied in Expression Blend, too.