Case Study
Background
You are developing a Universal Windows Platform (UWP) app for LitWare, Inc. that will assist video artists. The app allows artists to create videos, share videos through other mobile apps, and upload the videos through
LitWare, Inc.’s web services. What helps set LitWare Inc.’s app apart from competitors is their focus on speed and performance.
Business Requirements
Support many devices
Users may have phones, tablets, or laptops. The app must support all devices with a fluid layout that grows off-screen and adapts to each device.
Record video
Users must be able to record videos and view them in their videos library.
The app must display information about the recorded video.
Users must be able to edit the upload queue in the app.
Branding
The app must have consistent branding throughout all views.
Upload videos
The app must allow deferral and scheduling of video uploads.
Users must be able to view the status of uploaded videos.
Any videos created with this app or shared with this app must be uploaded without user interaction.
Download video
The app must have the option to automatically download videos.
Users must be able to initiate downloading of videos.
Share video
The app must allow be allowed to receive videos from other apps.
Technical Requirements
Support multiple devices
The app must support the following:
Use horizontal layout for larger screens.
User vertical layout for smaller screens.
Use one layout control per view.
The app must be compatible with current and future XBOX apps that use C++.
Uploading and downloading
The app must use a background operations to upload and download videos.
Code reuse
The app must use a common pool of XAML resources and custom controls. All custom controls must use a consistent theme throughout the app.
You must create code that can be reused in C++, C#, JavaScript, whenever possible.
The app must call the background service to avoid duplication of code.
Security
End users must be authenticated using OAuth.
Web services must be authenticated.
Users must have the option to use single sign-on.
Recording
The app must use the microphone and webcam to support audio and video recording. In addition, the app must support the use of the back and camera buttons, if present.
Integration
Other apps must be able to share videos with this app through a Universal Windows Platform (UWP) app service.
Architecture and coding style
The app must follow the Model-View-ViewModel (MVVM) pattern.
The app’s user interface (UI) must be optimized for performance.
The app must use compile time coding techniques over runtime.
Application structure
Package.appxmanifest
Relevant portions of the app files are shown below. Line numbers in the code segments are included for reference only and include a two-character prefix that denotes the specific file to which they belong.
BackgroundTask.cs
Relevant portions of the app files are shown below. Line numbers in the code segments are included for reference only and include a two-character prefix that denotes the specific file to which they belong.
You are a developer for Litware, Inc.’s Universal Windows Platform (UWP) app.
Access to the hardware within the app is not functioning correctly.
You need to add the capabilities to the package.appmanifest file.
Which markup segment should you insert at line PM16?