Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory

Keywords: Match:
Introducing the Mobile Client Software Factory
by Microsoft Corp. (Jun. 13, 2006)

Foreword -- Developers building line-of-business applications for Windows Mobile devices now have a new source of assistance. The Microsoft patterns and practices team has released a Community Technology Preview (CTP) of its new Mobile Client Software Factory (MCSF), formerly known as the Mobile Baseline Architecture Toolkit. Architects can use the offering to create a baseline architecture for their organization, according to Microsoft, and then, developers can use that baseline architecture to create mobile client applications in a predictable and agile way.

Basically, MSSF includes:
  • Prescriptive architecture documentation
  • A reference implementation including sample application source code
  • Application blocks that provide reusable self-contained components
  • How-to topics containing step-by-step instructions
  • A Guidance Automation Toolkit package that automates common mobile client development tasks in Visual Studio
The following Microsoft-authored article introduces the MCSF and provides information on how to take advantage of what it has to offer.



Introducing the Mobile Client Software Factory

by Microsoft Corp.


Summary

The Mobile Client Software Factory provides an integrated set of guidance to help architects and developers create line-of-business Windows Mobile applications that interact with back-end systems over various networks (WiFi, GPRS, etc.) that might be intermittently available. A mobile smart client line-of-business application has one or more of the following characteristics:
  • It has a rich user interface that takes advantage of the power of the Windows Mobile device.
  • It connects to and exchanges data with multiple back-end systems through a gateway server through the most cost effective underlying network technology.
  • It takes advantage of local caching and processing to enable operation during periods of no network connectivity or intermittent network connectivity.
  • It is easily deployed and configured.
  • It keeps local, potentially confidential information secure.
The guidance assets included in the Mobile Client Software Factory take different forms: patterns, step-by-step instructions (How-to topics), sample application source code (reference implementation), reusable self-contained components (application blocks), a Guidance Automation Toolkit package that automates common mobile client development tasks in Visual Studio, and architecture documentation.

This offering also leverages the following existing patterns & practices assets:
  • Composite UI Application Block ported into the .NET Compact Framework
  • Specific application blocks for logging, data access, and so on
  • Guidance Automation Toolkit
Architects can use the offering to create a baseline architecture for their organization. A baseline architecture is a starting point for implementing instances of similar applications -- in this case, a mobile application -- that includes the most critical mechanisms and shared elements common to those applications. Developers can use the baseline architecture to create mobile client applications in a predictable and agile way.

The Mobile Client Software Factory has been developed following an agile, community-connected process. This means that both frequent drops and milestone releases (Community Technology Previews, also known as CTPs) are made available to the community. A milestone release provides a high level of quality and consistency of the factory. The weekly drops are works-in-progress used to obtain early feedback from the community. The community feedback influences the contents and direction of the deliverable.


Overview


Architects and developers identify and discover proven practices and patterns through application development. This is an extensive process, especially when proven practices and patterns are discovered later in the application life cycle and force application refactoring. Alternatively, development teams can investigate and attempt to identify proven practices and patterns before starting the application development project. This also can be a time consuming and difficult activity because patterns and practices are most easily identified during actual application development.

With the Mobile Client Software Factory, architects and developers can quickly incorporate many of the proven patterns and practices of mobile client development. The offering provides you with a set of proven practices that are exposed through patterns, How-to topics, reference implementations, Visual Studio Guidance Automation Toolkit packages, reusable components, and documentation. The factory content guides you through the development of mobile applications based on the Compact Composite User Interface Application Block architecture. By using the factory, architects and developers can focus more of their efforts on implementing business requirements.

Scenarios

The growing capabilities of mobile devices such as the Pocket PC, and their increasingly widespread usage within the commercial world, provide an opportunity for business solutions to broaden their spread to include remote and mobile workers. This may be sales staff traveling away from the office, goods dispatch workers in a warehouse, or offsite engineers. All of these may require access to the corporate IT system in either a connected or a disconnected scenario.

For example, sales staff may need to check product specifications or delivery schedules while on a customer's premises. This scenario suits an offline (disconnected) model, where the central system updates the data stored on the mobile device at specific intervals - perhaps when the user is in the office each morning, or connected from home or a hotel room in the evening. At the same time, the device pushes updates, such as new orders, back to the central server.

Staff working within the corporation premises may also require a mobile solution, such as when checking stock in a warehouse or assembling orders for dispatch. A connected (online) model suits this scenario.

Offsite engineers may require live data for some or all of the time but be out of range of the corporate wireless network. In this case, a cellular telephone connection can provide an online experience for periods where this is required, while an offline model may be suitable for other tasks.

Add to these scenarios the fact that users will often require several applications to be available, perhaps dependent on roles defined within the main system, and all integrated with a back-end Enterprise Resource Planning (ERP) or Contact Relationship Management (CRM) platform. All these factors combine to require something more than simple individual applications. Instead, as demonstrated by the example application shown in Figure 1, the requirement is for comprehensive, extensible, and flexible mobile business solutions.


Figure 1. An example of a mobile business solution
(Click image to enlarge)

Figure 2 shows the common elements of a mobile business solution based on the Microsoft operating system and a range of applications and services. The Microsoft platform provides the core features required for all applications, including the tools and code libraries required to build mobile applications, and the services to provide data and integration facilities to these applications. In most cases, complex mobile solutions will integrate with a back-end ERP or CRM system or other corporate application.


Figure 2. The base platform, layers, and components of a mobile business solution
(Click image to enlarge)

The upper section of Figure 2 shows the approach to mobile business solution development that the Mobile Client project enables. The proven techniques and code blocks developed by the patterns & practices group, together with code blocks developed by Microsoft partners, implement the services and components for applications running on the mobile client device.

Meanwhile, Figure 3 shows the actual architecture of a simple mobile application. The common elements include:
  • User interface layers that consist of:
    • Views -- These are controls on the screen that the user can interact with.
    • Presenters -- These are classes that drive the views.

  • Business logic layers, consisting of:
    • Business entities -- These are classes that represent business concepts such as "Customer", "Bank Account," or "Address."
    • Business logic components -- These are classes that implement the majority of the business logic within the application.
    • Business workflows -- These drive the overall flow of control within the application.

  • Resource and data layers consisting of:
    • Data access components -- These can fetch data from a local store such as Microsoft SQL Server Mobile Edition, and they may use infrastructure components to manage data subscriptions and expirations.
    • Service agents -- These act as proxies to external Web services and meet the additional challenge of working in occasionally connected environments.


Figure 3. Common components and layers of a mobile line of business application
(Click image to enlarge)

Building applications that follow the design and structure shown in Figure 3 requires infrastructure components that implement common tasks, including:
  • Management:
    • Logging -- This includes storing data about instrumentation events that can be collected on the server when connected.
    • Deployment -- This makes it easier to deploy applications to the device and update them as you add new functionality.
    • Configuration -- This includes supporting rich storage mechanisms and allowing the server to push complex data such as specific configurations per user or per device

  • Security:
    • Credential management -- This includes storing user credentials so that calls to occasionally connected Web Services can be authenticated.

  • Connectivity:
    • Connection and network management -- This includes providing features for assessing the current connectivity of the device and reacting to changes in connectivity.
You can also simplify the application architecture and development of its internal logic by use of the container model. The Mobile Client Software Factory uses the Compact Composite UI Application Block as the basis for this container. The Composite Application Block included in the mobile project is an almost exact replica of the Composite Application Block that is available for desktop .NET applications, which means that you can take advantage of existing skills and code across both environments.

Architect Scenarios

As the architect, you want to make sure that your mobile smart client applications derive from a sound, proven practice-based foundation that:
  • Provides a standard approach to application development.
  • Promotes re-usability of common architectural components.
  • Hides complexity.
  • Allows developers to focus on business problems instead of infrastructure components.
The Mobile Client Software Factory provides a starting point for creating that foundation. It provides out-of-the-box implementation of a set of features and mechanisms that are common to mobile applications. Additionally, you can customize and extended it to better fit your specific needs. You can add your patterns, How-to topics, and extend the Guidance Automation Toolkit packages to meet specific requirements for your organization.

Developer Scenarios

As an application developer, you want to focus on the business logic and the user experience of your application. You want to use a baseline that provides you with the necessary infrastructure and the architecture mechanisms that you need. That baseline is the Mobile Client Software Factory modified and extended by the architect.

You will review the patterns, the How-to topics, and the reference implementation to understand the proven practices for developing smart clients. After you are ready to build your application, you will use the Guidance Automation Toolkit packages to generate items such as your initial solution, modules, and service agent.

Benefits

The Mobile Client Software Factory provides the following benefits:
  • Accelerated start -- It provides an effective way for architects and developers to create a high-quality starting point (baseline) for their solutions. The baseline includes code and patterns that are typically discovered in Iteration 0, or the inception and elaboration phases, of a project. This means that projects begin with a greater level of maturity than applications developed without source code or guidance.

  • Reduced risk -- It provides you with a proven baseline architecture. The baseline addresses the architecturally significant use cases by exposing design decisions and risks early in the development cycle.

  • Increased quality -- It provides reusable assets, guidance, and examples that address common smart client scenarios and challenges. The code and guidance have been tested for the target scenarios. Tests are supplied as part of the package and they can be extended and used to automatically verify changes and identify problems.

  • Increased productivity -- It includes automation for Visual Studio 2005. With this automation, developers can easily apply guidance in consistent and repeatable ways.

  • Ease of adoption -- It is open and customizable. Architects and development leads can customize the factory to meet specific needs. The factory is fully documented.


Factory Contents


The Mobile Client Software Factory contains the following:

Documentation:
  • Introduction to the Mobile Client Software Factory -- This provides a vocabulary and framework that the remaining documentation uses to describe the mobile client architecture.

  • Mobile Client SF Application Blocks -- This provides a thorough description of common, reusable building blocks inspired in popular desktop application blocks like the Composite UI Application Block and Enterprise Library; and other more specific ones like the Orientation Aware Control Application Block.

  • Patterns -- This introduces patterns that provide solutions to common mobile client design, implementation, and deployment challenges.

  • Quick Starts Examples -- Simple, introductory, step-by-step instructions to build a mobile application using the Compact Composite UI Application Block.

  • Reference Implementation -- This describes the requirements, architecture, and implementation of the AdventureWorks2Go reference implementation.

  • Reference implementation -- The reference implementation is an executable sample application that demonstrates the mobile client guidance in action. You can use the reference implementation to learn how the factory's deliverables are applied, or you can use it to copy code or concepts into your applications.

  • Guidance package -- The Mobile Client Development Package automates development activities that developers would usually have to manually perform frequently by following a series of instructions. It helps developers build smart client solutions in a way consistent with the architecture guidance.

Existing patterns and practices Assets

The factory uses a ported version of the Composite UI Application Block to address the core Client UI patterns -- such as composite, provider, event broker, and layout management. The Composite pattern combines simple user interface parts to create a complex user interface while allowing the parts to be independently developed, tested, and deployed. For more information, see the Composite UI Application Block.

The factory also uses modified versions of Enterprise Library to address common challenges such as data access.

The toolkit uses the Guidance Automation Toolkit to automate common development tasks that simplify the development of templates and recipes. The Guidance Automation Toolkit is a lightweight Visual Studio extensibility mechanism. For more information, see the Visual Studio Team System Developer Center.

Many patterns implemented in the Mobile Client Software Factory are also available for desktop Smart Clients in the Smart Client Software Factory.

Intended Audience

This guidance is intended for software architects and software developers. To develop using this guidance, you should have an understanding of the following technologies:
  • Microsoft Visual C# or Microsoft Visual Basic 2005
  • Microsoft .NET Framework 2.0 and .NET Compact Framework 2.0
  • Windows Forms
  • Windows Mobile 5.0
Applications built using this guidance will require the .NET Framework 2.0 to run.


System Requirements and Installation


The minimum requirements for satisfactory performance when developing Mobile Client applications are:
  • Using an external device:
    • Windows XP or Windows Server 2003
    • 1.5 GHz processor
    • 512 MB memory (1 GB preferable for best performance)
    • 20 MB free disk space
    • Pocket PC device with 512 MB memory available

  • Using the Visual Studio Mobile Device Emulator:
    • Windows XP or Windows Server 2003
    • 1.5 GHz processor
    • 1 GB memory (2 GB preferable for best performance)
    • 20 MB free disk space
Before using the Mobile Client Software Factory, you must install some tools and utilities. The requirements for developing with and using the Mobile Client Software Factory are:
  • Visual Studio 2005, available from here
  • .NET Compact Framework 2.0, installed with Visual Studio 2005 or available separately from here and here
  • SQL Server 2005 Mobile Edition, available with some versions of Visual Studio 2005 and SQL Server 2005, or from here and here
  • Windows ActiveSync 4.1, available here
  • Windows Mobile 5.0 Pocket PC SDK from here and here
  • Localized emulator images are available from here and here

Alternatively, you can download the Windows Mobile 5.0 Developer Resource Kit from here. This contains:
  • A 90-day trial version of Visual Studio 2005 Professional Edition
  • Windows Mobile 5.0 SDKs for Pocket PC and Smartphone
  • ActiveSync 4.1
  • .NET Compact Framework 2.0
  • Localized emulator images and other useful developer tools
  • SQL Server 2005 Mobile Edition

The mobile devices tested against the Mobile Client Software Factory, based on their capabilities.
  • Windows Mobile 5 phone devices:
    • The Cingular 8125 PocketPC phone is a GSM-capable device that has a quarter VGA screen and a slide-out keyboard. It is useful for testing screen orientation changes, and keyboard support. This phone has features that are hard to test with the emulator.
    • The T-Mobile MDA is a GSM-capable device.
    • The Verizon XV6700 (the same as the Sprint PPC-6700) is a CDMA-capable device.

  • Mobile devices with a square display:
    • The Palm Treo700w is a Windows Mobile 5.0 phone with a square screen, useful for testing with a square screen and keyboard support. You can also use the equivalent emulator for this type of testing.
    • The HP iPAQ hw6515 phone has a square screen with a keyboard below, but is a Windows Mobile 2003 device.

  • Mobile devices with a VGA screen:
    • The Dell Axim x51v has a VGA screen.


Mobile Client Software Factory Features


Table 1 lists the features the Mobile Client Software Factory provides guidance for.

Table 1: Guidance for Mobile Client Software Factory Features
Smart client feature Guidance Automation
Asynchronous communication to Web services, queuing messages, and working offline Patterns
Reference Implementation
Connection Monitor Application Block
Service Agent Application Block
X
Building complex UIs based on independently developed, tested, and deployed parts (smart parts) Compact Composite UI Application Block
QuickStarts
Reference Implementation
X
Building UIs that are independent of screen sizes, screen resolutions, and screen orientations. Orientation Aware Control Application Block
Reference Implementation
Loosely coupled components communicating by way of events Compact Composite UI Application Block
Reference Implementation
Configuration Configuration Application Block
Reference Implementation
X
Synchronizing reference data Reference Implementation
Unit testing components on the device Reference Implementation
TestRunner for Compact Framework



Getting Started


The following recommendations provide a way to quickly use the guidance in this toolkit according to your needs.

To learn about proven practices of mobile client development:
  1. Install the software factory.
  2. Read the documentation for common patterns that you can use.
  3. Review the reference implementation.
  4. Read and follow the procedures in the QuickStarts.
To create a mobile client application using the assets and prescriptions of the package:
  1. Install the software factory.
  2. Use the templates and recipes in the guidance package.
  3. Read and follow the procedures in the QuickStarts example.
  4. Review the Reference Implementation. Use it as a starting point for your own application
Note:

To download the Windows Installer for the toolkit, you have to register with the Mobile Client Software Factory Community. The download and installation process installs a Getting Started page on your Start menu. For more information about Getting Started, click Start on the taskbar, click All Programs, click Microsoft patterns & practices, click Mobile Client Software Factory, and then click Getting Started.


Other Topics


Community

The Mobile Client Software Factory, like other patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future offerings and download additional content such as extensions and training material.

Future Plans

The Mobile Client Software Factory will continue to evolve through June 2006. During this period, the team will continue to publish weekly drops. The team uses the community, partners, customers, and product groups to prioritize the exact capabilities to build into the toolkit.

Feedback and Support

Questions? Comments? Suggestions? To provide feedback about this toolkit, or to get help with any problems, visit the Mobile Client Software Factory Community. The message board on the community Web site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. Alternatively, you can send e-mail directly to the Microsoft patterns & practices team at devfdbck@microsoft.com, although we are unable to respond to every message.

The Mobile Client Software Factory is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. For more information, see Table 2.

Table 2: Mobile Client Software Factory Attributes
Attribute Description
Support Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff. The patterns & practices team works with product support and will assist them with escalations as needed. Customers are encouraged to support one another through online communities.
Functionality This guidance provides a flexible and architecturally sound solution to a common enterprise development challenge. The guidance addresses the challenges by using base platform features and adhering to proven practices. The guidance is designed to be extended and customized by users.
Release Guidance releases are typically developed in a 3 -- 6 month life cycle. Assets are released as they become ready on the currently available platform. New versions of existing assets (possibly revised to run on later versions of the platform) are released if there is sufficient customer demand.
Compatibility Code-based guidance is designed to help solve problems on specific versions of Microsoft products. As the products change, the guidance issued may change or become obsolete. When possible, the patterns & practices team Microsoft develops guidance with future releases in mind. There are no guarantees about compatibility with earlier releases of guidance or with past or future platform releases. A phased migration strategy is recommended, and coexistence of multiple versions of the guidance is given high priority by the patterns & practices team.
Form factor This guidance is released as source code. Variability is provided through configuration and defined extensibility points, as well as through direct modification of the source code. Documentation focuses on how to use the asset, how to extend it, and the goals, patterns, and tradeoffs that drive its design.


Authors and Contributors


The Mobile Client Software Factory was produced by the following individuals:
  • Program and product management: Per Vonge Nielsen and Eugenio Pace (Microsoft Corporation)
  • Architect: Edward Jezierski (Microsoft Corporation)
  • Development: Francis Cheung (Microsoft Corporation); John Socha-Leialoha; Daniel Cazzulino (Clarius Consulting), Santiago Blason and Jose Salazar (Clarius Consulting / Q4 Tech)
  • Test team: Carlos Farre and Mohammad Al-Sabt (Microsoft Corporation); Rohit Sharma and Terrence Cyril Joseph Anthuvan (Infosys Technologies Ltd)
  • Documentation: Alex Homer (Content Master Ltd.)
  • Release management: Sanjeev Garg (Microsoft Corporation)
The Mobile Client Software Factory was developed in collaboration with Microsoft Mobile Application Group:
  • Erik Dibbern Roser, Ricky Kaare Rasmussen, Laurent Lopez, and Bjarne Schon
And the Mobile and Embedded Devices Group in Microsoft Corporation:
  • Eric Engineer, John Dietz, and Loke Uei Tan
Patterns & Practices also thanks the following expert advisors, who provided invaluable assistance throughout the development of the project:
  • Alex Yakhnin (Infusion Development), Andy Wigley (Andy Wigley Computing Ltd), Dan Fergus (Forest Software Group), Daniel Moth (Microsoft UK), Keni Barwick (Conchango), Leandro Olivestro (Q4Tech S.A.), Maarten Struys (PTS Software bv), Nickolas Landry (Infusion Development), and Peter Nowak (T-Systems Enterprise Services GmbH, Germany)


Related resources



For more information on this and related software development topics, visit Microsoft's Patterns & Practices Developer Center


Copyright (c) 2006 Microsoft Corp. All rights reserved. Reproduced by WindowsForDevices.com with permission.



Related stories:

(Click here for further information)


Windows XP for Embedded Applications
This white paper describes the benefits of using Windows XP when developing embedded applications.

A Manager's Guide to Selecting a Mobile Device Operating System
This white paper offers a comparative review of Microsoft Windows CE and Windows Mobile.

Visual Basic 6.0 to .NET Migration
This paper focuses on the methodology and techniques which Infosys (Microsoft Technology Center) has developed for migrating VB 6.0 Applications to .NET. Our approach ensures a smooth, cost effective, and efficient migration.

Mobile Device Security: Securing the Handheld, Securing the Enterprise
This whitepaper identifies security threats to corporate data on mobile devices and details how mobile devices can become a "backdoor" to the enterprise.

Mobile Device Security: The Eight Areas of Risk
It's common knowledge that adding mobile devices to your network increases security risks. There are multiple facets to mobile security, all of which should be paid close attention to. This E-Guide presents a more in depth look into the eight key areas of securing wireless devices.

Quality Assurance and .NET
This paper discusses best practices for functional, regression and load testing of .NET applications.

SCADA Security in Integrated Networks
As businesses leverage their SCADA systems by integrating them into the business networks, they must also assure the security of the SCADA system.

The Advantages of Small Form Factor HMI
HMIs have mutated and changed with new requirements, and they have become more flexible and capable. And while they've been doing that, they've become smaller and more useful.

9 Critical Requirements for Web Application Security
Learn why your Web applications expose dangerous security breaches and what’s required to effectively protect your Web applications and the sensitive information behind them.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)


Updated! The latest Windows-powered...

mobile phones!

other cool
gadgets

HOT TOPICS
Microsoft targets PNDs with new embedded OS
Microsoft tips .NET MF 3.0 highlights
Microsoft previews Windows Embedded Standard
Microsoft offers free Windows CE 6.0 textbook
Microsoft renames embedded operating systems
Microsoft unveils Windows Mobile 6.1
New Atom models target low-cost PCs
REFERENCE GUIDES
Windows Device Showcase
Intro to Windows Embedded
Intro to Shared Source
Real-time Windows Embedded
Windows Embedded books
Join our Windows Embedded discussion forums:
Windows XP Embedded
Windows CE
Windows Mobile


Windows Embedded developer newsgroups
Windows CE
XP Embedded
PocketPC
Smartphone

Microsoft's Windows Embedded resources
Embedded dev center
Mobile dev center
Windows CE tutorials
XP Embedded tutorials
Windows Embedded seminars
Windows Embedded application categories
3rd-party partners


BREAKING NEWS

• Cross-platform dev tool adds Windows Mobile
• Freescale wants out of cellular business
• Touch Cruise gets Windows Mobile 6.1
• Zune software slated for Windows Mobile
• Embedded confab does Windows
• GPS module sips 1.8 Volts
• Windows Mobile phone sports custom interface
• Webcast demos "battery-friendly" Windows Mobile apps
• Ethernet module runs .NET MF
• Speech tech supports Windows devices
• Windows Mobile devices attack desktops via ActiveSync
• Atom-based module trims COM Express
• MID runs Windows XP on Atom
• PND sports "Knight Rider" interface
• Slate-style tablet PC runs Windows


MOST POPULAR (last 90 days)
• "Netbook" uses Intel's Atom N270
• Windows CE takes on Linux in low-end netbooks
• Windows Mobile 6.1 phone has GPS
• T-Mobile's Touch Diamond clone does HSUPA
• iPhone-like Windows Mobile device has 16GB of storage
• HTC phone has slide-out keyboard and TV output
• Windows Mobile trouncing the iPhone?
• HTC releases Touch Diamond ROM upgrade
• Sprint upgrades HTC Touch, Mogul
• Intel's Atom powers mini-ITX board
MOST POPULAR (Classics from the vault)
Windows XP Embedded USB boot
Troubleshooting Windows XPe's blue screen "Stop 0x0000007B" error
Asus reveals $190 mini notebook
Windows Mobile 6 SDKs available for download
Windows Mobile VPN client plays with Cisco
HTC adds GPS to Windows Mobile Touch line
Microsoft unveils Windows Mobile 6.1
Guide to HTC's Windows Mobile smartphone platforms
Customizing Windows XP Embedded thin clients
Visual Studio 2008 adds mobile application features

Also visit our sister sites:


Sign up for WindowsForDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Windows is a trademark or registered trademark of Microsoft Corporation in the United States and/or other countries and is used by WindowsForDevices under license from owner. All other marks are the property of their respective owners. WindowsForDevices is an independent publication not affiliated with Microsoft Corporation.