Title: Presentation Technologies Design considerations for Smart Client Applications
1Presentation Technologies Design considerations
for Smart Client Applications
- Tim Huckaby
- CEO - InterKnowlogy
- Microsoft Regional Director
- Ken Spencer
- KenSpencer_at_FrameworkMasters.com
- Microsoft Regional Director
2About
- InterKnowlogy (www.InterKnowlogy.com)
- Tim Huckaby, CEO
- Custom App Dev / Consulting / Software
Engineering Firm headquartered in Carlsbad, CA - Microsoft Gold Partner managed in Socal and
Redmond - Design, Architect, Build and Deploy enterprise
class applications - Industry Experts
- 90 of the company is published
- Microsoft .NET Application development for 5
years! - Microsoft .NET Smart Client pioneers / industry
leaders - Information Worker Solutions
- Integration / Messaging, B2B / B2C, Wireless /
Mobility - Microsoft BizTalk Web Services, Microsoft
Active Directory, Security, SSO, Authorization,
Authentication - Solutions on the emerging Microsoft servers
- Largest Client Microsoft
3About
- Ken Spencer (KenSpencer_at_FrameworkMasters.com)
- Architect and Software Developer
- Microsoft Regional Director
- Custom App Dev / Consulting / Software
Engineering based in North Carolina - Works with local Eastridge Technology (Microsoft
Gold Partner) and others - Industry Presence
- Well published (books and magazines)
- Frequent public speaker
- Microsoft .NET Application development for 5
years! - Ken helps MS with its vision of next generation
software - MS Application experts with different UIs (Smart,
Web, Mobile, Automatic) - Integration of most anything with various MS
technologies - Solutions on the emerging Microsoft technologies
4Agenda
- The Spectrum From the Web to Windows
- Defining Smart Client Applications
- Building and Deploying Smart Client Applications
- .NET Smart Client Application Development
technologies - The Business Value /ROI of Smart Client
Applications - Smart Client Technology Roadmap
- Demos
5History
- Tim has done different versions of this session
at different technical / BDM levels all over the
world since May, 2003 - The VS.NET 2003 launch in Oslo, Norway
- The World Wide Partner Conference in New Orleans
up-leveled to a BDM audience. - Microsoft Tech Ed 2003 Australia, New Zealand and
Malaysia - Microsoft Tech Ed 2004 US and Malaysia
- Microsoft Tech Ed 2005 US Smart Client Keynote
- .NET User Groups in Arizona, California,
Colorado, Florida, Vermont, others for INETA - VS.NET Connections Conference in Palm Springs, CA
- As a chalk talk at the Microsoft Professional
Developers Conference in Los Angeles - As a brown bag lunch session to the Developer
Division of Microsoft - As two internal Microsoft presentations at the
.NET Partner Advisory Counsel - As MSDN WebCasts in May of 2004 and January of
2005 - Microsoft Smart Information Worker CIO Briefings,
Spring 2004 - SoCal Quarterly Architect Council Meetings,
Spring 2004 - At the Microsoft Global Briefing in July of 2004
6(No Transcript)
7(No Transcript)
8Windows and Web Application Comparison OWA and
Outlook
- Microsoft Outlook Web Access (OWA) is great
when out of the office - Would you use OWA in the office?
- Would you use OWA on a train or plane?
- Each has a target use, yet both implement the
same application logic
9VS.NET WinForms
10Smart Client Solution
- Long-term strategy is to deploy a single smart
client interface - UI is tailored based on role and context
- Single place where associates perform their work
- Need Service Oriented Architecture behind the
scenes - Built on a pattern-based framework
11VS.NET WinForms
12New ToolStrip Controls
- Common API for toolbars, menus, drop-down menus,
and context menus - ToolStrip, MenuStrip, StatusStrip,
ContextMenuStrip - Items inherit from ToolStripItem
- Premium design time experience
13New Layout Controls
- SplitPanel
- Replaces Splitter control
- FlowLayoutPanel
- HTML-style flow layout
- Automatically repositions children
- Horizontal or vertical flow direction
- TableLayoutPanel
- HTML-style table layout
- Cell merging for rows and columns
- Absolute, percentage, or autosizing columns and
rows
14New Control Properties
- Margin and Padding
- Margin - spacing that radiates outwards
- Padding - spacing that radiates inwards
- Defaults to Windows UI style guidelines
- AutoSize
- Applies to almost all controls
- Resize to accommodate contents
- Respects Padding and Margin
- More
15The Argument for Browser-Based Application
Development
- Easy Deployment
- Centralized code base on a server farm
- Easy to update application
- Save code in one place, everyone gets the latest
release - Central management of data
- Everyone access the same database
16The Argument Against Browser-Based App-Dev
- Must be connected 100 to run
- Assumes Internet is 100 reliable NOT
- High bandwidth requirements
- User Interface and Data must travel across the
Internet, each time - Lots of servers needed
- Application and data are centrally processed
- Lack of a rich integrated experience
- No access to and interaction with the users
personal context - No integration with other applications, access to
their printers, determining and using machine
characteristics, etc. - Users see every problem
- Their business shuts down when you have a problem
17Not too smart !!
18Challenge for the ArchitectDivide the Pros from
the Cons
- Browser Pros
- Save code in one place, everyone gets it
Install/Update - Central Data
- Broad Reach
- Rich Client Pros
- Rich Interface
- Common interface
- Leverage local CPU
- Leverage Internet, when available
- Code in one place!
- Central main data
- Work Offline
- Architectural Internet Strategy
- Use Internet to deploy data
- Use Internet to deploy application, not run the
application - Use asynchronous browser model to update the UI
and Data - Abstract Internet from running your business
19The Enterprise Last Mile Problem
- Intellectual capital stored in multiple systems
- Complexity increases as number of systems
increase - Users productivity decreases as number of
disparate systems and user interfaces increases - Systems effectiveonly if users can interact
with datanaturally - Need for data both online and offline
20(No Transcript)
21.NET Smart Client Applications - defined
- Capabilities / Attributes
- Takes advantage of locally installed software
resources - Connected
- Offline capable
- Intelligent deployment and update
- Multiple form factors
- End User Requirements
- Occasional users
- Highly responsive functional UI
- Mobile users
- Ecosystem collaboration
22Industry Momentum is Building
23Smart Client Technologies
Smart Clients
24Microsoft Smart ClientsThe Big Three most
compelling .NET Application Development Offerings
- Microsoft .NET Windows Forms
- Microsoft .NET Compact Framework
- Microsoft Visual Studio Tools for the Office
System (VSTO) - Word, Excel, Outlook, InfoPath
25Windows Forms Smart Clients
- .NET Framework distribution
- 120 million deployments
- Preinstalled on 60 of new machines and growing
- Included on SP2 CD
- Radically simplified application deployment
- ClickOnce deployment, update, rollback
- Visually Appealing UI
- New Data Controls
- Office Look and Feel
- Developer productivity
- Simplify working with data
- Fewer lines of code
- Few clicks
26Office System Smart Clients
- Connect live business data to your documents
access them off-line - Leverage existing Office experience of end users
- Leverage rich and robust Office functionality
- Platform Investments
27Visual Studio 2005 Tools For Office
- Strategic tool for developing Office solutions
- Currently supports building document-centric
solutions for Word and Excel 2003 - Office development approachable
- Provides all the productivity of Visual Studio
- Provides all the power of the .NET Framework
- Leverages the skills of .NET developers
- Secure and easy to deploy
- Based on .NET Code Access Security
- Online ClickOnce deployment model with Visual
Studio 2005
28- Visual Studio Tools for Office (VSTO) 2005
29Visual Studio Tools for Office (VSTO)
- Word, Excel, Infopath and Outlook
- Prerequisites (Development Computer)
- Visual Studio .NET 2003 / VS.NET 2005
- Microsoft Office Professional Edition 2003
30Windows Mobile Smart Clients
- Instant access to data anywhere, anytime
- Form factor and instant-on more appropriate for
most field work - Access existing Web Services
- Leverage .NET development skills and code on
devices with .NET Compact Framework
31Visual Studio 2005 Smart Device Applications
- Feature Overview
- Languages Microsoft Visual C, Microsoft
Visual Basic .NET (VB.NET), Microsoft Visual
C - Managed/Native Projects in one solution
- COM Interop
- Debugging
- Attach debugger to running process
- Integrated Microsoft Windows Mobile-based
Smartphone support - New Designers
- New Emulator
- CAB and Setup Projects
- Remote Tools
- Registry, process viewer, file viewer, heap
walker, etc.
32.NET Compact Framework 2.0
33Smart Client Deployment Options
VS.NET 2003
VS.NET 2005
VS.NET 2003
VS.NET 2003
34ClickOnce Deployment
Server
- ClickOnce application deployment published on a
web or file server
application files
- Client follows link to serverhttp//www.tempuri.o
rg/my.application - Application deployed locally in users profile
directory executed - Subsequent executions check for updates execute
local install
Client
35Deployment / Update with ClickOnce
36Application Development Smart Client vs. Web
- Web apps are still more difficult to build
- The rumor of HTMLs death was greatly
exaggerated - The Windows application environment is superior
- The Windows GUI is more intuitive / users are
more comfortable - Historically, Windows apps have been difficult,
if not impossible, to deploy - .NET deployment technologies have fixed most of
that
37Call to Action
- Architect in the design phase for how an
application should be surfaced - Get the Network and Infrastructure folks involved
in the design up front, at the start of a
project - Get the .NET Framework to your Client Machines
- Get Office 2003 Professional deployed
- The Future is Now!
Help drive the Smart Client Revolution
38Contact Tim and Ken
Get the Demos PPT at http//Blogs.InterKnowlogy
.com/TimHuckaby