MS Programming - Educational Consultancy

MS Phone and Windows 10 Training Services

MS Mobile Device Programming

MS .NET Training Sitemap || MS Applications Training Sitemap

Submit Programming Language Questions MS Internet Programming MS .NET Schedule
Definition of Service Delivery Medium Web-based Training Services
     

MS Phone Application Development

Implementation and BYOD

Operational Challenge API and Functions Client Requirements
MS Windows Phone Applications MS Windows Phone and SharePoint Best Practices and Guidelines
Copyright Acknowledgement
 

Operational Challenge

Organizational enterprise is increasingly dependent on application development environments to facilitate business over the Internet.

Information technology departments and support personnel are being challenged to support BYOD: Bring Your Own Devices.

  • How to design and implement applications for Windows applications that take advantage of remote services to obtain and upload data as part of the smartphone user experience.

  • Integrating the Windows Phone as a client device for a cloud-based application.

  • Make design and technology decisions based upon an accurate assessment of solution architectures and Microsoft products.

  • Create scalable and secure applications that extend beyond the client/server desktop into a portable accessible environment.

API and Functions

The Windows Phone SDK can be used to create Silverlight and XNA Framework projects for either the Windows Phone OS 7 or 8. Existing Windows Phone OS 7.x projects can be upgraded to utilize the new Windows Phone OS 8 features. Apps and games that work on Windows Phone OS 7.x phones will continue to work on Windows Phone OS 8 phones. The Windows Phone SDK can be used to build several new classes of applications.

The MS Windows Phone SDK provides API functions including:

Function Description
Alarms and Reminders Alarms and reminders can be created which display a dialog box on the screen or play a sound at a specified time.
Application Bar The Application Bar has two sizes: default and minimized. The minimized Application Bar is optimized for use on panorama pages.
Application Performance Analysis The use of system resources such as CPU and memory can be profiled and measured; navigation can be performed directly from the results to the code.
Background Agents Code can be run in the background independent as to whether an application is running in the foreground. The two main types of background tasks are periodic and resource-intensive agents.
Background Audio Audio applications can be run in the background, while the user launches other apps. The user has access to the volume controls.
Background File Transfers File downloads can be initiated and continue running in the background.
Camera There is programmatic access to the camera on Windows Phone devices, including real-time access to raw frames. This provides the capability to create scanning and augmented reality applications. The flash and focus can be adjusted in applications.
Contacts and Calendar Read-only access is provided to the userís contacts and calendar data. Applications can query and interact with the userís data: choosing from a list of contacts, sending e-mails, searching for contactsí birthdays, and others.
Device Status The DeviceStatus class provides expanded programmatic access to a userís Windows Phone device through. It can be used to determine whether the device is on battery or external power, whether a keyboard is available or deployed, and the device manufacturer specific information.
Isolated Storage Explorer A command line tool which provides the capability to list, copy, and replace files and directories in the isolated storage.
Launchers and Choosers There are several new Launchers and Choosers. From an application, an address can be chosen, an invitation extended to players in a game session, or a ringtone saved. A location can be shown on a map at a preset zoom level, or directions can be shown between two points on a Bing map.
Live Tiles Application Tiles pinned to the Start screen have two sides and they flip periodically. Applications can have more than one Tile pinned to Start.
Local Database Relational data can be stored in a local database that resides in the applicationís isolated storage container. An application can use LINQ to SQL to perform database operations. There are new APIs which enable programmatic database upgrade scenarios.
Multitasking An application can to perform actions even when it is not in the active foreground.
Network Information Applications can access information about the network and network interfaces. It is possible to determine the mobile operator and network capabilities of a userís phone and get and set connection preferences and requirements.
On-Screen Keyboard New on-screen keyboards have specialized uses with applications: e.g. number-only and formula-optimized keyboards.
Search Extensibility App Connect can be used to extend the search experience on Windows Phone. Users that search the web with the Search button can launch applications directly from Bing search results.
Sensors In addition to the accelerometer, applications can access the compass and gyroscope sensors. This can be used to development of apps and games where the physical device itself is a means of user input. There is a combined motion API that provides data for attitude- yaw, pitch, and roll - device acceleration, and rotation rate.
Sockets Support Applications can communicate over sockets using the TCP and UDP protocols. Sockets allow two-way communication with cloud services, and enable scenarios such as instant messaging and multi-player gaming.
WebBrowser Control Support is provided for Internet Explorer 9; this results in increased performance and the capability for HTML5 rendering. The cookie collection of a WebBrowser control can be programmatically accessed through the WebBrowser extension methods.
Windows Phone Emulator Has been enhanced to simulate sensor data and the allows for the initial testing of applications that use sensor data directly in the emulator.


Client Requirements

MS Windows Phone Applications

Utilize Microsoft's production quality libraries to extend a Microsoft web-based networking architecture. SYS-ED staff and CETi technology partners provide case studies and exercises to:

  • Design applications for the Windows Phone - user interface, performance, storage, and connectivity.
  • Build the mobile client - form factors, MVVM: Model-View-ViewModel Design Pattern, and navigation.
  • Use services on the phone - data storage and manipulation, synchronization, capturing pictures, sound, and location.
  • Connect with services - authentication, service design, filtering, and notifications.
  • Apply development and test practices.
  • Recognize the differences between XNA and Silverlight and Prism and Sync Framework.
  • Navigating between pages.
  • Restoring an application after deactivation.
  • Validating data entry input.
 
The MS SharePoint training program can be extended to include MS Phone connectivity and application development. The MS Windows Phone device requires SharePoint Server, as well as Microsoft ForeFront Unified Access Server. This provides the capability to connect the phone securely to the SharePoint Server and browse, open files, create bookmarks, etc.


Best Practices and Guidelines

SYS-ED staff and CETi technology partners have been testing code and evaluating white papers in conjunction with verifying best practices and guidelines.
  • Efficient coding requires the separation of a computer program into distinct features which have minimal overlapping functionality.
    • With MS Phone, a concern is any piece of interest or focus in a program.
    • SoC: Separation of Concerns is the process of separating a computer program into distinct features which have minimal overlapping functionality: view, presentation, services, and data.
  • An application strategy is required: installation, app prioritization, identifying internal and externally written apps and web apps, and virtualization strategy.
    • Packaging standards need to be defined.
  • SCCM: System Center Configuration Manager to assess and update computers and devices across physical, virtual, distributed, and mobile environments.
    • SCCM can be used with Zero Touch and User Driven Installations; it also will provide centralized reporting on the steps during the migration.
    • SCCM integrates with the MDT: Microsoft Deployment Toolkit and provides the capability for automating many deployment operations.
  • MS App-V: Application Virtualization is used for transforming applications into centrally managed services.
    • SCCM should be used to delivery infrastructure for applications virtualized by App-V; this will reduce the costs associated with moving to a virtualized application infrastructure.

Copyright Acknowledgement

Microsoft Phone, Microsoft Windows, Microsoft .Net, and Microsoft SharePoint are registered trademarks of Microsoft Corporation.

Microsoft .Net is the registered trademark associated with the intellectual property and software copyright of Microsoft Corporation. In order to distinguish the SYS-ED training service from Microsoft certification, the Computer Education Techniques course search engine and SYS-ED websites spells lower case "dot net" .NET in all upper case.