Universal Windows Platform, Windows 10, and Boinc

Message boards : Number crunching : Universal Windows Platform, Windows 10, and Boinc
Message board moderation

To post messages, you must log in.

Profile zoom314
Volunteer tester

Send message
Joined: 30 Nov 03
Posts: 61539
Credit: 46,702,901
RAC: 14,289
United States
Message 1911285 - Posted: 6 Jan 2018, 21:52:22 UTC
Last modified: 6 Jan 2018, 22:27:17 UTC

Has anyone thought of developing Boinc and by extension Seti for this?

Xbox One
Windows 10
In this guide, you'll learn about the Universal Windows Platform (UWP) and Windows 10:

What a device family is and how to decide which one to target.
What an Extension SDK is and how it provides access to APIs specific to a class of devices.
New UI controls and panels for adapting your UI to different screen sizes or rotations.
How to understand and control the API surface that is available to your app.

Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform on every device that runs Windows 10. The UWP provides a guaranteed core API across devices. This means you can create a single app package that can be installed onto a wide range of devices. And, with that single app package, the Microsoft Store provides a unified distribution channel to reach all the device types your app can run on. Apps that target the UWP can call not only the WinRT APIs that are common to all devices, but also APIs (including Win32 and .NET APIs) that are specific to the class of device that the app is running on.

I don't know how to program really, oh at one time I could and did understand Basic, and I typed in a lot of Compute! magazine code, plus I do have an understanding of computers, since 1980. But nothing in C# or even C++, since when I started, those weren't available on a 64K computer.
ID: 1911285 · Report as offensive

Send message
Joined: 5 Sep 12
Posts: 2898
Credit: 1,969,058
RAC: 6
Message 1911341 - Posted: 7 Jan 2018, 0:19:51 UTC

Perhaps a standard for that of programming is needed first Vic, before next the other things.
ID: 1911341 · Report as offensive
Profile zoom314
Volunteer tester

Send message
Joined: 30 Nov 03
Posts: 61539
Credit: 46,702,901
RAC: 14,289
United States
Message 1911397 - Posted: 7 Jan 2018, 2:20:11 UTC - in response to Message 1911341.  

Perhaps a standard for that of programming is needed first Vic, before next the other things.

They do mention more at the link, I don't know if you have read the entire website or not.

So I'll include some more here:

Here are some considerations to help you decide which device family to target:

Maximizing your app's reach

To reach the maximum range of devices with your app, and to have it run on as many devices as possible, your app will target the universal device family. By doing so, the app automatically targets every device family that's based on universal (in the diagram, all the children of universal). That means that the app runs on every OS based on those device families, and on all the devices that run those operating systems. The only APIs that are guaranteed to be available on all those devices is the set defined by the particular version of the universal device family that you target. To find out how an app can call APIs outside of its target device family version, see Writing Code later in this topic.

Limiting your app to one kind of device

You may not want your app to run on a wide range of devices; perhaps it's specialized for a desktop PC or for an Xbox console. In that case you can choose to target your app at one of the child device families. For example, if you target the desktop device family, the APIs guaranteed to be available to your app, include the APIs inherited from the universal device family, as well as the APIs that are particular to the desktop device family.

Limiting your app to a subset of all possible devices

Instead of targeting the universal device family, or targeting one of the child device families, you can instead target two (or more) child device families. Targeting desktop and mobile might make sense for your app. Or desktop and HoloLens. Or desktop, Xbox and Surface Hub, and so on.

Excluding support for a particular version of a device family

In rare cases, you may want your app to run everywhere except on devices with a particular version of a particular device family. For example, let's say your app targets version 10.0.x.0 of the universal device family. When the operating system version changes in the future, say to 10.0.x.2, at that point you can specify that your app runs everywhere except version 10.0.x.1 of Xbox by targeting your app to 10.0.x.0 of universal and 10.0.x.2 of Xbox. Your app will then be unavailable to the set of device family versions within Xbox 10.0.x.1 (inclusive) and earlier.

By default, Microsoft Visual Studio specifies Windows.Universal as the target device family in the app package manifest file. To specify the device family or device families that your app is offered to from within the Store, manually configure the TargetDeviceFamily element in your Package.appxmanifest file.
Extension SDKs

Once you have decided on the device family that your app will target, add a reference to the Extension SDK(s) that implement the APIs for that device family. If you are targeting the Universal device family, you don't need to reference an extension SDK. But if you are targeting a device family besides Universal, in Visual Studio you will add a reference to the extension SDK that matches the device family you have chosen. For example, if you are targeting the mobile device family, you would add a reference to the Windows Mobile Extensions for the UWP in Visual Studio's Reference Manager.

Selecting a device family does not prohibit you from adding extension SDKs for other types of devices. You will just need to ensure that you test for the presence of APIs not included in the device family you have chosen as described below in Writing Code.
UI and universal input

A UWP app can run on many devices that have different forms of input, screen resolutions, DPI density, and other unique characteristics. Windows 10 provides new universal controls, layout panels, and tooling to help you adapt your UI to the devices your app may run on. For example, you can tailor the UI to take advantage of the difference in screen resolution when your app is running on a desktop computer versus on a mobile device.

Some aspects of your app's UI will automatically adapt across devices. Controls such as buttons and sliders automatically adapt across device families and input modes. Your app's user-experience design, however, may need to adapt depending on the device the app is running on. For example, a photo app should adapt to the UI when running on a small, hand-held device to ensure that usage is ideal for single-hand use. When a photo app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.

Windows helps you target your UI to multiple devices with the following features:

Universal controls and layout panels help you to optimize your UI for the screen resolution of the device.
Common input handling allows you to receive input through touch, a pen, a mouse, a keyboard, or a controller such as a Microsoft Xbox controller.
Tooling helps you to design UI that can adapt to different screen resolutions.
Adaptive scaling adjusts to resolution and DPI differences across devices.

Universal controls and layout panels

Windows 10 includes new controls such as the calendar and split view. The pivot control, which was previously available only for Windows Phone, is also now available for the universal device family.

Controls have been updated to work well on larger screens, adapt themselves based on the number of screen pixels available on the device, and work well with multiple types of input such as keyboard, mouse, touch, pen, and controllers such as the Xbox controller.

You may find that you need to adapt your overall UI layout based on the screen resolution of the device your app will be running on. For example, a communication app running on the desktop may include a picture-in-picture of the caller and controls well suited to mouse input:

My Computer Builds and Other Projects
My Amazon Wishlist
ID: 1911397 · Report as offensive

Message boards : Number crunching : Universal Windows Platform, Windows 10, and Boinc

©2019 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.