The client (or presentation) tier of our applications is taking on an increasingly important role. Users are expecting more compelling user interfaces, but they also want more functionality from their applications. In this ArcReady we examine how to design and deliver well architected client applications that will be easy to maintain and extend.
Session 1: Trends and patterns on the client tier
In our first session we will take a vendor and platform neutral look at some of the trends and emerging technologies that can be used on the client tier. We will look at techniques like Mashups, technologies like Natural User Interfaces (NUI) and the increasing importance of the mobile platform. We will also look at some common patterns that can be used in the architecture of the client tier.
Session 2: Applying Microsoft technology on the client tier
In our second session we will take some look at how we can use Microsoft technologies to create well architected and compelling client applications. We will look at technologies like Silverlight and WPF that can be used to create compelling clients. We will also look at technologies that can be used to make your applications more extensible for future development. We will also examine some architectural guidance developed by the Microsoft Patterns and Practices group.
2. About ArcReady…
• A forum for aspiring and practicing architects
to discuss industry trends
• An overview of Microsoft’s roadmap as it
relates to software architecture
• A mechanism to solicit your feedback
• An opportunity to showcase the work you do!
13. 6 key trends
These 6 scenarios have been identified as
top tasks across markets:
1:*
Entertainment Sharing Social Communication
Search, News
Memories Shopping Networking
and Research
Richer, more active, and meaningful digital experiences.
62. What is Silverlight?
<MediaElement
x:Name=‘myMediaPl
ayBack'
Canvas.Left='532'
Canvas.Top='184'
AutoPlay='false'
Height='185'
Width='350'
Opacity='0'>
Plug-in with cross ~4Mb Download (2) Extends browser
browser & capability with
OS support XAML
63. Silverlight 3 Themes
Support for Higher
Quality Video & Audio
Empowering
Rich Experiences
Improving
RIA Productivity
Out of Browser
Capabilities
Expression Blend 3
Preview
65. WPF Vision
• Unified approach to UI, Documents,
and Media
– Integration as part of development
and experience
• Integrated, vector-based composition
engine
– Utilizing the power of the PC
throughout the graphics stack
• Declarative programming
– Bringing designers directly into
application development
• Ease of deployment
– Allowing administrators to deploy and
manage applications securely
66. Windows Presentation Foundation
XAML
eXtensible Application Markup Language
C# XAML VB.NET
Button b1 = new Button(); <Button Width=quot;100quot;> OK Dim b1 As New Button
b1.Content = quot;OKquot;; <Button.Background> b1.Content = quot;OKquot;
b1.Background = new LightBlue b1.Background = New _
SolidColorBrush(Colors.LightBlue); </Button.Background> SolidColorBrush(Colors.LightBlue)
b1.Width = 100; </Button> b1.Width = 100
67.
68. Where to apply it
Web + Standards Rich Web Ultimate Experience
AJAX + .NET,
HTML + AJAX .NET
JavaScript, DL Support
CSS / DHTML XAML XAML
69.
70.
71.
72. Windows Client Strengths
Windows Full Hardware
Office Integration Offline Support Other Scenarios
Integration Access
Shell (Gadgets, DirectX
Disconnected
Sideshow, Acceleration 3D
Outlook Scenarios
notifications)
Full Threading And
Scheduling APIs
File Associations Sync Frameworks Rich Typography
Tablet, Touch, and
OBAs
other Input Modes
Desktop Stickiness
International
(Start Menu, Caching
Character Sets
System Tray)
Accessibility Aids
Phone Integration
Search Provider Security and File System Access Flow Documents
Encryption
And then the web happened – and we were back into the world of CICS – and semi-dumb terminals. HTML provided formatting, but little local functionality.
But pages and applications got better and we started moving forward again with local code – mostly script and dynamic again.
Picture is the House of the Future exhibit in the Redmond Executive Briefing center. This was the proofing ground for a lot of the concepts in the video.
While sites using other, non-Microsoft technologies had a viewing experience that lasted an average of 3 minutes per user, on the NBCOlympics.com site, the average viewing time was over 27 minutes per user
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
NBCOLYMPICS.COM ROLLS:NBCOlympics.com followed up its record day on 8/8/08 with another enormous day of traffic. On Saturday (traditionally the lowest trafficked day of the week), the site garnered 62.7 million page views an increase of 475 percent from the opening day of competition of the Athens Games in 2006 (10.9 million). Through two days NBCOlympics.com has totaled 132.6 million page views compared to 17.9 million page views for the first two days of the Athens Games an increase of 641 percent. NBCOlympics.com registered 3.1 million video streams yesterday. By comparison, in Athens, the first day of competition received 115,014 video streams. 4.83 million unique users logged onto NBCOlympics.com yesterday an increase from the 4.21 million for 8/8/08 and nearly six times the unique users from the first day of competition in Athens (816,609 million). NBC Universal, broadcasting its record 11th Olympics and surpassing ABC for the most Olympics broadcast by any network, will present an unprecedented 3,600 hours of Beijing Olympic Games coverage, the most ambitious single media project in history featuring the most live coverage (nearly 2,900 live hours in total), across the most platforms, of any Summer Olympics in history.
http://www.flickr.com/photos/lifeisaprayer/2282011834/Storage – Who has enough?Key factors in client is managing and working with files. Storage has increased from 10MB to 2TB in less than 20 years. It isn’t going to stop increasing.Could show BumpTop or WinBlinds here – easier demo is to show tagging, libraries, views, and searches in Win7.
http://www.flickr.com/photos/lifeisaprayer/2282011834/sizes/o/Hardware is still relevantDrivers require the clientWho doesn’t have wires? Really?External storage, custom mice or I/O
http://www.flickr.com/photos/equinoxefr/2538032455/As the realtors say, Location, Location, Location.GPS, network awareness, Video recognition, etc. All require client software. Sensors are high value – accelerometers, thermometers, RFID readers, etc.
http://blogs.msdn.com/tims/archive/2009/03/24/extending-your-brand-to-the-desktop-with-windows-7.aspxThe client has been declared dead since before it really existed. But as we can see today, it’s still around and learning new tricks. Desktop Mashups with Gadgets, search connectors, jump lists, edge snapping. Architecturally show that all this is simple to consume or base your own apps on.
http://www.flickr.com/photos/iandrake/1367406603/sizes/o/The next generation, we had flipped the equation. All you had was (limited) processor and display/keyboard. All your instructions and data were kept elsewhere (where you generally couldn’t get to it except with greenbar.) Architecture moved out of the power and water space and into how systems talked with each other. EBCIDC is the interoperability standard of the day.
http://www.flickr.com/photos/yoshihuang/3217621271/sizes/l/And mobile happened – remember that first “laptop?” Mobility comes into it’s own, but again, the experience changed dramatically.
(Office Labs photo)And the change is accelerating rapidly. The WIMP interface won’t be extinct, but it is in the process of being augmented by a wealth of interfaces to supplement it, all enabled by hardware advances in power and cost.
(SxSW lounge)But today things are changing further. Devices are moving from multi-touch to multi-user. Interfaces are becoming multi-dimensional. All this requires resources, and more importantly requires hardware level access. Sensors and I/O are critical.
http://www.pranavmistry.com/projects/sixthsense/#PICTURESAnd the interface race doesn’t stop with the
Information/reference applications: Web/local mixes, search, multimedia, hypertext, user participation Data Viewer/Editor applications: Collaboration, workflow, screen reading, manipulation, searching, sorting, local or remote database records Document Viewer/Editor: Content creation and distributionE-commerce applications: Carts, privacy, database browsing Utility applications: Guiding users through infrequent tasks (with Inductive User Interfaces), express installation and use Entertainment applications: Immersive, text/audio chats, presence
(Office Labs photo)And the change is accelerating rapidly. The WIMP interface won’t be extinct, but it is in the process of being augmented by a wealth of interfaces to supplement it, all enabled by hardware advances in power and cost.
Understanding our platform
New Features in Silverlight 3: Fully supported by Visual Studio and Expression Blend, highlights of new features and functionality of Silverlight 3 include: major media enhancements, out of browser support allowing Web applications to work on the desktop; significant graphics improvements including 3D graphics support, GPU acceleration and H.264 video support; and many features to improve RIA development productivity. Also, in order to fully integrate all the .NET developer tools, Visual Studio 2008, Visual Studio 2010 and Visual Web Developer Express will support a fully editable and interactive designer for Silverlight. New features in Silverlight 3 include:
Context: These are the four goals of Avalon – next few slides drill down further on each of them.Building UI, graphics, documents and media into a single environment: providing a richer experience by unifying these together, allowing them to be integrated in a far deeper way than before, and reducing the number of APIs developers have to track by putting things into a single managed object-orientated interface.Rich graphics processors woefully underused by modern applications. 128MB memory, rich 3D capabilities. Avalon takes advantage of these capabilities using a DirectX-based model. Vector- rather than bitmap-based, supports high-dpi, double buffering. Declarative and procedural programming supported for designers and developers to do what they want to do.Need to make it as easy as “clicking on a link” to deploy an Avalon application: either via a browser or via a standalone app.
http://www.thirteen23.com/experiences/desktop/blu/XBAP install.Auto updatesEasily skinnableAsynchronous functionality.Uninstall after each talk to show the XBAP.Alternate demo could be any XBAP app – WittyTwitter is another that is useful to show.
Let’s start with Graphics.DirectX is HUGELY powerful. A greatly underappreciated framework.Is the primary reason why PC’s are still the top tier gaming platform.Used not just for graphics, but for sound and I/O. Makes huge amounts of functionality possible.
Master Chief wants to remind you that DirectX was instrumental in defeating the Covenant.
Bumptop.comBumpTop uses DirectX and the Windows 7 foundations to provide advanced experiences and functionality for users.Completely different user experiences can use the foundation and change things up. Installer is in the mesh, demo on the TouchSmart if you have it at your event.