Export (0) Print
Expand All

Transforming a Legacy LOB Application into a Microsoft IT Modern App

Technical Case Study

Published April 2014

Learn what it takes to develop a modern app and the fundamental changes required in project management methodologies, design and engineering approaches, and deployment strategies. By embracing a user-centric IT strategy, Microsoft IT was able to redesign and transform its leading global Learning and Readiness Application, Role Guide, into a sleek modern app built on the Windows 8 ecosystem.

Download

Download Technical Case Study, 571 KB, Microsoft Word file

Situation

Solution

Benefits

Products & Technologies

The legacy Role Guide web application, a learning and development dashboard that is part of the Microsoft Learning and Readiness ecosystem, lacked the design elements required to provide a good user experience on modern devices, such as Windows 8 tablets.

Microsoft IT decided Role Guide was the perfect line-of-business (LOB) application to showcase Windows 8 app capabilities and deliver a modern app designed and delivered around a user-centric experience. Transformed into a modern app, Role Guide provides Microsoft employees with an immersive, seamless learning development experience.

  • Increased productivity through user-centric experience
  • Tied talent strategies to corporate strategies through targeted, just-in-time training
  • Improved and streamlined development processes
  • Simplified and flexible deployment options
  • Windows 8 and Windows 8.1
  • Microsoft Internet Explorer 10 and Internet Explorer 11
  • Microsoft Internet Information Services (IIS) for Windows Server
  • Microsoft .NET Framework
  • Microsoft Visual Studio
  • HTML5
  • Cascading Style Sheets (CSS) 3

Situation

As the global workforce becomes savvier with technology, IT enterprises face a proliferation of new devices and technologies in the workplace and the growing challenges that are created by the bring your own device (BYOD) culture. Employees expect rich and compelling line-of-business (LOB) applications that work and have a modern look and feel across multiple devices—not just a single corporate-owned and provisioned device—but from their own personal devices.

To address this challenge, enterprises must transform existing classical LOB applications by reimagining them into apps that provide a modern, fluid, touch-enabled, and deeply engaging experience for their employees.

Microsoft identified their Role Guide application as an ideal candidate for this transformation. Role Guide is part of Microsoft's Learning and Readiness ecosystem. Role Guide provides employees with a learning development dashboard where they can see the list of courses, with links, accessible to them based on their role, region, and specializations. Role Guide provides:

  • Required training in the way of career progression and compliance to all Microsoft users.

  • Recommended product knowledge and sales readiness training for a focused group of 40,000 plus key users in Microsoft Sales, Marketing, and Services Group (SMSG).

SMSG readiness training is critical to Microsoft. SMSG is the group at Microsoft responsible for servicing the needs of Microsoft customers and partners. It is essential that these employees remain informed about products and services within their areas of expertise and, in turn, educate and inform Microsoft customers about these products and services. Role Guide was the ideal LOB application to transform into a modern app as it would enable this key Microsoft employee group with the opportunity to leverage the latest technology as they consume their required training—allowing them to experience the world the way their customers and partners do and better prepare them to service those customers.

The legacy Role Guide web application was customizable and flexible, but the application did not provide the best user experience on devices such as Windows 8 tablets. Navigating the web application involved switching between several different web interfaces launched from Role Guide and had the potential to involve up to four browser windows open to access a single course—including a new browser window for the course player. The SMSG Readiness team wanted to provide a more streamlined Role Guide experience to Microsoft employees with a new Windows 8 app.

As Role Guide is a key LOB application, it was critical that Microsoft IT remain risk neutral while providing a seamless transformation of the application. The project required Microsoft IT to:

  • Build the entire user experience (UX) as an app on Windows 8.0 geared towards a fluid, touch-based experience.

  • Deliver in a very condensed time frame to keep in sync with rhythm of business (ROB) and release to Microsoft users as the first enterprise-grade app built and bundled with the roll out of Windows 8 within Microsoft.

Developing a modern app was new to Microsoft IT, requiring they embrace smart project management methodologies, circumvent multiple challenges around engineering approaches, adopt new design paradigms and deployment strategies, and—most importantly—effectively communicate with business sponsors throughout the project cycle.

Solution

Microsoft IT collaborated closely with the SMSG Readiness team to re-design and transform Role Guide into a modern app that provides an immersive, seamless learning experience for employees and that helps target the right training courses to the right audience. The interface design gives employees quick access to important information, such as course progress and learning results.

Microsoft IT had lofty goals for transforming Role Guide as a modern app. They wanted to showcase Windows 8 app capabilities and to deliver a modern app designed and delivered around a user-centric experience. To meet these goals, the modern Role Guide app had to:

  • Deliver a modern, showcase user experience.

  • Provide the right performance and right scalability for Microsoft users.

  • Deliver the modern app before key rhythm of business event.

  • Increase customer satisfaction for the application.

  • Minimize any business impact on SMSG Readiness team.

Creating a modern app isn't just about moving a traditional or web-based LOB application to a new look and feel. Microsoft IT spent a considerable amount of time at the drawing board to understand the existing application dependencies before setting on the journey of transformation—a journey which required new and innovative approaches around:

  • Project Management

  • Design

  • Development

  • Quality Assurance

  • Deployment

  • Operations

Project Management

The larger and more complex a project is, the more challenges arise for project management (PM). It is key for enterprises to determine the correct methodology to help address those challenges.

For Microsoft, this required they look at the project constraints for time and business requirements. They also needed to factor in that developing a modern app was new for Microsoft IT. They chose a hybrid approach that exploited the best of Waterfall and Agile methodologies:

  • Waterfall provides a very good idea about the overall vision and high level timeliness with emphasis on planning and alignment with business ROB dates. Microsoft IT used a Waterfall (SDLC) model for the overall key milestones and business deliveries.

  • Agile planning is all about moving from pivoting on a single release and single product to a scenario over multi-releases, adapting to more opportunities occurring quicker. Microsoft IT used an Agile (Scrum) model for incremental deliveries around key technology adoption and integration points.

Figure 1. Hybrid process of developing apps—shifting from a strictly Waterfall method to an Agile method.

Figure 1. Hybrid process of developing apps—shifting from a strictly Waterfall method to an Agile method.

The initial project occurred during the Windows 8 OS development cycle. Microsoft IT targeted a 23-week window to analyze, design, develop, and deploy the new Role Guide app. When defining the project tollgates and milestones, Microsoft IT:

  • Implemented a process to accommodate for ever-changing requirements/versions and set realistic expectations.

  • Created four parallel Scrum streams, each three weeks in length, with multiple releases within each stream. These were mainly to deliver the modern user interface (UI) design, SOA/integration layer, compatibility and application-specific changes. Multiple Scrum streams enabled the team to demonstrate to the business where the project stood to increase stakeholder confidence.

  • Chose to build a full-featured app with all the functionality of the legacy application plus additional features, providing a modern user experience within the defined time frame while accepting the fact that the first release of the app may not be perfect. The new Role Guide app provided the rich modern experience, but the app had potential performance and technology challenges due to the fact that it was built in parallel with the Windows 8 OS development.

  • Factored in the extensive use of scenario-focused engineering to build mock-up screens and prototypes, even before the project kicked off.

  • Established a solid communication channel with geographically dispersed teams, driving the project from two locations—United States and India. By planning a solid communication channel, Microsoft drove solution design, performed scenario walk-throughs, and previewed the app with the user community—collating and swiftly acting on feedback provided.

Microsoft IT's phased approach

Microsoft IT took a phased approach to deploying the new, modern Role Guide app. Phasing allowed Microsoft IT to move a key enterprise application to an app format, and then to gradually phase features into the app while scaling out the infrastructure and ensuring performance. The following table highlights what happened during each phase.

Phase

ScopeFeaturesTechnologiesKey Learnings
Phase 1
Initial Release
  • First and best release goal
  • Scenario-focused engineering
  • Modern user experience
  • Touch-first browsing
  • Start screen tile
  • Focus on content
  • Share data with other apps
  • CSS, HTML5, and JavaScript
  • Reuse existing foundational elements
  • Lazy loading
  • Include design changes to fit modern design principles.
Phase 2
Stability and Performance
  • Address existing issues
  • Address user feedback
  • Responsive UI design
  • Asynchronous design
  • Client-side cache
  • IndexedDB
  • Service layer cache
  • AppFabric cache
  • Leverage caching extensively.
  • Design to keep transactions over the wire minimal.
Phase 3
Additional Features
  • Peak adoption
  • Increase reliability and stability
  • Consumerize service layer
  • Schema optimization
  • Interoperability increased with scalable services and leaner schema
  • Microsoft SQL Server 2012
  • Web API
  • Rewiring with new services layer and schema is almost like developing a v1.0 app.
  • Recommend thinking from the ground up when designing modern apps.
Phase 4
Cloud Enablement
  • Available off the corporate network (CorpNet)
  • Content published to new ecosystem on the cloud
  • App available anytime/anywhere
  • Auto scale feature available with cloud infrastructure
  • Manageability and maintainability of the application is increased
  • Azure hosted services
  • Windows Azure SQL Database
  • Windows Azure Cache Services
  • Azure Blob Storage
  • Windows Azure Media Services
  • Complexity of the system is increased if on-premises and Azure systems must be maintained with real-time data integrity.
  • Recommend moving to Azure without on-premises dependencies, if possible.

Design

One of the major changes with designing a modern app is the importance of the user interface. The design process requires not only determining what the app will look like but the right tools with which to develop that look and feel. The design also needs to factor in how the app will integrate with existing infrastructure.

Microsoft IT performed a lot of scenario focus engineering. They used focus groups as the business wanted the new UI to enhance the overall user experience. When considering the new UI, there were a few key guiding principles:

  • Efficiency. The new modern app must have the ability to enable users to efficiently find and launch their training. Microsoft wanted to push the right training to the users in a very intuitive way instead of having users spending time trying to search for relevant training. They wanted to include business processes that were in the old Role Guide web application, such as highlighting required, recommended, and past due training but streamline those processes to make it quick, relevant, and seamless for users to access.

  • Mask IT complexity. The new modern app must be seamless and intuitive for the user. Users must be able to see and register for a course from the same screen and include an embedded launch experience, allowing users to launch a course directly from the app.

  • Built-in workflows. Provide a simple front-end user experience that allows users to quickly, with the least amount of clicks, get to and complete their training.

  • Accessibility. The app must be designed with user accessibility in mind, regardless of the device, and accommodate for users with a mouse and desktop as well as those predominantly using a touch-based system. The new app must be developed to the most restrictive device to make it easy on the user.

Figure 2. Role Guide user interface.

Figure 2. Role Guide user interface.

It is difficult for enterprises to decide if they want to discard investments they have made across many years and start over again with a new infrastructure plus a new modern app. Enterprises are more likely to decide to "stick the app onto our existing infrastructure and see what that looks like." While financially that may seem to make sense, existing infrastructure and processes aren't typically tuned to work the way a modern app works. And designing the app as an add-on likely brings along all the limitations and issues from the infrastructure and process bottlenecks of the existing environment.

For Microsoft, how the new modern app integrates into the existing infrastructure was another factor in the design. Some key areas of consideration included:

  • Programming language. The engineering team must determine the right language to use for developing the modern app. For Microsoft, they also needed to consider the impact of the modern app on existing Role Guide courses. Many of their existing courses were developed in Microsoft Silverlight, which isn't supported with modern apps and must be retired with HTML5.

  • Existing investments. Due to the very condensed time frame, Microsoft IT decided to build upon the existing foundational elements. Building on what was already there required Microsoft IT to build within the constraints and limitations of that code base. To mitigate that, they looked at a second project phase to go back and evaluate ways to improve performance. One of the advantages of their approach was it enabled them to keep their existing legacy application in place alongside the new modern Role Guide app, enabling users to choose which version was right for them.

Equally as important is determining what features will be developed within the new modern app. For Microsoft, they approached the design by building a Windows 8 app user experience on top of their Learning and Development ecosystem. The user experience was not built as a satellite app with only one or two functions. Instead, the user experience was built as the primary transaction app that included all the functionality of the existing application, but this too required some key design decisions.

  • Platform support. In a web-based application, most form factors can be accommodated for by making changes within the user experience. However, a modern app requires a bit more design planning. Microsoft IT needed to decide which form factors they would design for. They determined to support all Windows platforms except Windows Phone for the initial release of the new Role Guide app and to defer development for Windows Phone for a future project.

  • Feature set. Enterprise LOB applications typically have a great deal of functionality and a large feature set. When translating this feature set to a modern app experience, it is essential to critically evaluate each one and to determine how each fits into the final user experience. When designing a modern app experience, think about whether the app will be the only application serving your customers or if it will be a complementary experience. It is not just about a web application versus a modern app, but where does the modern app fit into the overall strategy to serve your customers? For example, based on usability and typical user behaviors, determine whether administrative functionality should be included as part of the same app as the end user functionality. The Role Guide web application included a lot of built-in administrative functionality and reporting. This required the team to have a critical conversation around whether or not the app was the right place for those administrative features.

Microsoft's Role Guide application was awarded the gold award from Brandon Hall - the industry leader in talent management - as the best new product in learning technology, winning from amongst more than 1,200 other entries.

  • Performance. Developing and delivering a modern app experience is not equal to delivering a web experience—not just from the user experience but what goes behind the experience. Performance and scale must be baked into the design right from the outset. The design must weigh a chatty app framework that pulls in the key bits of data as, and when, needed against one that pulls all the necessary data into the client for further processing. For Microsoft IT, key determining factors included how often the data changes, how users interact with the data, and how those interactions change the behavior of the app and the user flow.

Design challenges

The biggest design challenge is changing the mindset from a web experience to that of an app experience. Owners of LOB applications may have a preconceived notion of what the app will look like and try to align the user experience and user interface with that of a web application. End users may try to bring in what they know from their existing application into the new app. This creates a constant struggle to move from the old way of thinking to a new way of thinking.

Most applications, and especially enterprise scale applications, will face this challenge—not just on the business side but also on the end user side in terms of end user adoption. To mitigate these challenges:

  • Utilize scenario focused engineering techniques to capture all the functional scenarios with desired business outcomes, a key exercise to capture solid business requirements.

  • Bring in user experience designers to help guide you in terms of what your app will look like with your feature set. A modern app user experience must be more comfortable, convenient, intuitive, and pleasurable to the user compared to that of a web application.

  • Conduct focus groups and usability studies to ensure the app design meets user expectations.

  • Seek out evangelists who are eager to get onto the latest product versions.

Development

One of the differences between a web-based application and a modern app is where it is deployed. Web-based applications do not require application installation on the user's computer. All updates are in real time and do not impact end users. With modern apps, the app deploys to the user's machine. Understanding this difference helps in determining your design and development strategy, such as caching and chunky versus chatty decisions.

The first step for Microsoft IT was the determination of the correct development tool set for the job. They chose HTML and JavaScript but could have used C# (C sharp) and XAML. Development teams can make their decision based on skill set, functionality, and time frame. Microsoft IT decided to go with HTML and JavaScript based on:

  1. CSS flexibility for UI-UX design.

  2. Existing JavaScript skill set as they had a stringent deadline to meet.

  3. Local storage usage.

  4. Assumption that code could be directly ported to web apps.

  5. Assumption that Windows Phone 8 would directly support HTML and JavaScript.

The next step was to adopt good practices for coding the app by:

  • Understanding asynchronous programming.

  • Keeping over-the-wire transactions to a minimum to improve performance.

  • Utilizing caching heavily to improve performance and scalability.

  • Building the app to be resilient to data retrieval failures.

Development challenges

Keeping up with the pace of change creates a challenge. Each new release of Windows can introduce new feature sets that require that you remain open minded about your long-term development path. New features may require you to re-evaluate your end user experience to determine if you can provide your users with any new feature sets.

Microsoft IT needed to embrace a new mindset, changing their approach from traditional to modern development methodology and adopting new skill sets to take full advantage of the Windows 8 ecosystem and support of feature sets such as Windows Library for JavaScript (WinJS). Microsoft IT had to move away from classic web application design to thinking in terms of asynchronous programming. Modern applications are dynamic and intuitive without being disruptive. Designing an app without losing the core of a modern experience while adding usability is key.

Quality Assurance

Quality assurance (QA) is another critical factor when moving from web-based application to modern app development. The cultural shift to smaller, lightweight devices, such as Windows 8 tablets, increases demand for better performing and faster applications.

Typically, in a web application, you can create an automated script to reduce testing times. With a modern app, there are new challenges. Unlike when Microsoft IT developed web-based applications, they did not have the same ability to automate testing of the modern Role Guide app. Microsoft IT had the ability to automate testing of the services layer but not the app itself. Given that the new Role Guide is a client app, Microsoft IT needed to ensure they tested on the right mix of devices—and for the right mix of resolutions that users are likely to use. In addition, they had to think about whether the UI experience and rendering supported Microsoft accessibility requirement. Given this was Microsoft IT's first modern app project, they performed a significant amount of user experience testing within the system integration testing (SIT) phase in order to exercise the entire workflow and all the processes of the new app.

Before the user acceptance testing (UAT) cycle, vetting of the user interface and the flows with key users within your user community, influencers or champs that represent the overall user community must be complete. Prior to the development phase, Microsoft IT performed user studies where they provided focus groups with mocked-up wireframes of the app's screens and what IT thought represented the user flow in a mocked-up UI. Then they had the focus groups go through the screens and flows to see if it was intuitive and had the right look and feel. When Microsoft IT came to the UAT cycle, they used the same wireframes, but those wireframes were now tied to the underlying infrastructure, data, and so on. UAT was performed with a much wider group from the field, and it was a much broader UAT group than used for a traditional application.

QA challenges

You must get feedback from the field of the wireframe mock-ups, so you know that your end product is going to be usable and function for your users. But this is also a challenge in that your users are familiar with a web application and may be biased when evaluating a modern app. You must critically evaluate the feedback that you receive and maintain a broad enough audience to overcome any bias.

Deployment

Installation and upgrade of a modern app is typically done via the Windows Store, whereas a traditional web application only requires the user to enter a URL in a web browser.

Role Guide is a Microsoft internal app requiring that the Role Guide team adhere to the Microsoft internal app certification process before deployment of an app. This process includes the following requirements:

  • Apps must run and pass all certification tests.

  • Manifest declarations must meet Microsoft guidelines for C#/VB/C++ and XAML.

  • Apps accessing corporate data must implement authentication control.

  • Apps must use the approved LOB app components.

  • Apps, bug fixes, and updates must have security and privacy signoffs.

  • App images and graphics must be socially acceptable and consistent.

To make the app accessible to their users, Microsoft IT provided four deployment options:

  • Through the Company Portal, their internal app store (primary deployment option)

  • As part of the Microsoft IT images used to refresh every laptop, tablet, and PC

  • Pushed via Microsoft System Center Manager

  • Sideloaded (downloadable) from a file share (fallback option)

As Role Guide was Microsoft's first Windows 8 app, the Role Guide team helped streamline the Microsoft internal processes around development and deployment.

Enterprises must determine their own deployment requirements. If you plan to certify your app, you must plan as certification of the app takes time. To be able to consume internal modern apps, enterprise customers must address these key requirements:

  • All app packages require PKI signing component to sign code.

  • The PKI trusted root must be in the client certificate cache.

  • A group policy (or local policy) must be set to allow trusted apps to install.

  • The Windows SKU must be an enterprise SKU and not a retail SKU.

Note: For more information on requirements to certify and deploy a modern app, see Certify your app andSideload Windows Store Apps in Windows 8.

It is also important to consider how corporate governance will impact user onboarding, such as any security requirements that require more time for the user to install the app.

Operations

Operations is another area to think about when moving to an app model. At the onset of design of a modern app, it is important to identify how you will track errors and logs from the end user side and how you will pull them for your support team so that they can resolve end-user issues.

For example, in an early version of Role Guide, Microsoft IT saw a series of crashes within the app. The crashes occurred randomly in different places in the application, and it wasn't easy to get reliable information about the crashes as the application provided limited information for operations to use for troubleshooting the actual error. In addition, operations couldn't always get access to the user's machine and when they did, the issue wasn't always repeatable. Eventually, Microsoft IT found out the crashes were caused by a piece of code that required coding in a different way.

When designing a modern app, enterprises must consider:

  • Client systems. With consumerization of IT and BYOD, there are many user devices that are not IT managed devices, meaning that the ecosystem that you test within is not the ecosystem in which the app will be deployed. Non-IT managed devices also means that IT has no control over what the user carries out on their machine. Any issue a client reports is critical for IT, but how do you weed out the noise—those single issues or small number of users that are reporting issues, such as the app not starting up?

  • Monitoring. Operations are very clear on identifying what issues happened, where they happened, and what bottlenecks happened when it comes to servers, network, and the infrastructure as monitoring is already in place. But with the modern app, monitoring becomes more challenging as the context of the client ecosystem is introduced into operations.

  • Availability. Availability is now determined by more than just network and servers. The client OS, installed drivers, and recent patches are all thrown into the mix along with potential network glitches in the particular user's geographic area. Determining the root cause requires more analysis with very limited information.

Microsoft IT needed to figure out how to get information from the user's machine to their operations team as seamlessly as possible. They decided to have the Role Guide app log as much information as possible about user actions—when the app opens, during use, and when the app closes—so there is a trail, a sequence of events of what the user carried out and where the issue is likely to happen. The Role Guide app sends the log as batch files to a back-end system where operations can analyze and work with the data to troubleshoot the issue.

Microsoft IT also created a standard script for operations to use when dealing with end-user issues. The script gathers information about the issue the user faced. They also have scripts that operations can run on the user's machine (or have the user run and pass back the log file) which details everything that happened, including the event log on the user's machine. It is useful to have scripts handy and to build the scripts out over time.

Benefits

Microsoft has realized several important benefits from the implementation of Role Guide as a modern app.

  • Increased productivity through user-centric experience. By investing time and effort into developing the user experience, employees:

    • Have an easy-to-navigate portal in Role Guide where they can manage their learning.

    • Are empowered with access to the right information at the right time.

    • Can consume Role Guide content in the way that is works best for them. Employees have the option to use the interface that best suits their needs or the task that they are performing.

    • Have a modern and touch-based design, usable on their modern devices.

    • Use a seamless, engaging, and intuitive workflow built into the app.

  • Manage teams more effectively. The my team dashboard provides managers a single place to view and manage their team's training plan.

  • Tie talent strategies to corporate strategies. Role Guide provides:

    • Visual multi-year roadmap and curriculum views to track long term training goals.

    • Integrated tacking to align Q1 commitments, quota, and review tasks.

  • Uninterrupted experience for the end user.

    • Upgrades are pushed to users.

    • Users always have the latest app without the need to proactively download.

  • Improved development processes. The Role Guide app helped Microsoft streamline their processes around how internal modern apps are developed and certified.

  • Simplified deployment. The Role Guide app is available through a centralized internal app store, the Company Portal, along with other modern apps. It is also included as part of the Microsoft IT images used to refresh every laptop, tablet, and PC.

Best Practices

Plan for change. It is common that organizations don't plan and estimate enough time for stabilization post go live. Paramount focus must be given to ensure enough time is set aside for stabilization post-release—especially for large, transformational projects. Designs that keep the nonfunctional requirements along with the functional requirements in mind and provide good scalability and fault tolerance options help ensure a smaller stabilization phase.

Phase your implementation. Phasing is something we recommend for enterprises looking at moving a key enterprise application to an app. Re-evaluate the application's features and design to fit modern app guidelines and principles, introducing ease of use. Plan on scaling out infrastructure to increase scalability and performance.

User experience design is paramount to adoption: Invest in designing a user experience that adheres to modern design principles. Utilize scenario-focused engineering techniques, and then bring in user experience designers to help guide you in terms of what your app will look like with your feature set. Use focus groups and usability studies to ensure that app design meets user expectations. A good design:

  • Provides users with an actionable\interactive home screen.

  • Avoids complex user controls.

  • Uses live tiles to provide real-time updates and alerts.

Design for scalability and performance. Ensure you design your application to minimize any impact to your network.

  • Design for asynchronous traffic and stability.

  • Transmit only required data with correct data model.

  • Design for failure. Smartly handle connectivity error scenarios by pre-checking with internal sites and ensuring users get details in case of connectivity failure.

  • Use RESTful service to scale for diverse devices.

  • Implement distributed caching to increase scalability.

  • Use client cache to reduce network traffic and user interface fluidity, providing a seamless and non-disruptive experience for the user moving from disconnected to connected mode.

Acknowledge adoption curve when evaluating improvements. If your enterprise supports a gradual adoption of a new app, you must keep in mind there is always an adoption curve for new experiences. At initial release, the volume of users on the new app experience is not high enough to trigger some performance bottlenecks. Realize that it is only as you get to or near the peak of the adoption curve that you start seeing performance issues—when you really want the app to be stable as that is when you really want to drive adoption.

Choose your programming language based on the app type. Understand the app need, complexity, and platform—and also available skill sets.

Language

Advantages

Disadvantages

C#/XAML

  • Developer friendly due to ease of coding and general .NET skills
  • Majority of tools support debugging and unit testing
  • Portable code library using C#
  • Data binding controls are much better and simpler
  • Managed code
  • UI and UX more stringent and complex design needed due to XAML design
  • Client cache\local storage must be implemented using isolated storage

Windows Library for JavaScript (WinJS)+ HTML

  • More flexible UX design due to powerful CSS
  • Many JavaScript libraries, for example: Node.js and Knockout.js
  • Business logic and JavaScript libraries can be shared to web applications
  • ndexedDB and other HTML5-based local storage options
  • Open Source resources and tools are readily available for development and debugging
  • Debugging and error handling
  • Specific skill set required for debugging
  • Unmanaged code

Develop a deployment plan with scale in mind. Determine how you will deploy your application.

  • Think in terms of deploying multiple apps versus focusing on the need of just one app and develop a centralized location or portal from which all apps are installed.

  • Allot enough time in your project to complete all the required certification tasks if you plan to certify your app.

Resources

Windows Dev Center & Windows Store apps

Envisioning Windows Store apps

Modern design principles

Make great Windows Store apps

App Development for Windows

Modern Applications

Microsoft Azure: The cloud for modern business

Related videos

Building for the Modern Web - Leveraging IE11 Developer Tools to Build Modern LoB Applications

8 traits of great Windows Store apps

For More Information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

http://www.microsoft.com

http://www.microsoft.com/microsoft-IT

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Internet Explorer, SQL Server, Visual Studio, Windows, and Windows Azure are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft