Windows 10 & Raspberry Pi 2
Brisbane itWomen Coding Software
9th July 2015
BYTE MINDED> educating kids bit by bit
What is Windows 10?
BYTE MINDED> educating kids bit by bit
Next version of Windows … of course, LAST version of Windows??
Windows as a service
Reinvigoration of the Windows desktop
One OS for a universe of device types
Universal Windows App Platform
Windows 10 is currently in preview, public release expected around
October 2015.
Universal Windows Platform
BYTE MINDED> educating kids bit by bit
XboxIoT
Universal
Windows
Platform
Windows Core
BYTE MINDED> educating kids bit by bit
 Refactored core that’s on every device –
super lean version of windows
 Single set of APIs that are available on all
devices
 Universal driver layer – network I/O, file I/O
are the same across all devices
Windows Core
Desktop
SKU
Phone
SKU
Xbox
SKU
Desktop
Device
Phone
Device
Xbox
Device
Architecture Diagram
BYTE MINDED> educating kids bit by bit
One Windows
Desktop
SKU
Mobile
SKU
PC
2 in 1
Tablet
Phablet
Phone
Xbox Band Raspberry Pi
Home
Automation
Surface Hub HoloLens
Xbox
SKU
IoT
SKU
IoT headless
SKU
Surface Hub
SKU
Holographic
SKU
Extensions
BYTE MINDED> educating kids bit by bit
Universal Windows Platform
Windows as a Service
BYTE MINDED> educating kids bit by bit
Windows Core
Adaptive
User
Interface
Natural
User
Inputs
One SDK
+ Tooling
One
Store +
One Dev
Center
Reuse
Existing
Code
Universal Windows Apps
Devices +
IoT
Mobile PC Xbox
Surface
Hub
HoloLens
Design
BYTE MINDED> educating kids bit by bit
Responsive Design
 Flexible layout responds to small changes
 Many controls handle basic responsiveness
Adaptive Design
 Smart layout adjusts to large changes
 Features like visual states aid in this design
Tailored Design
 A device specific app can simplify design
Adaptive Design
BYTE MINDED> educating kids bit by bit
Tailored Design
BYTE MINDED> educating kids bit by bit
Visual Studio IDE
BYTE MINDED> educating kids bit by bit
Every project type
 Desktop, Windows, Phone, Service, Web, Game, more …
Every developer task
 Code edit, architecture design, UX design, debug, profile, review, test
Every development language
 C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, more …
Visual Studio Online
 Project management, bug tracking, more …
Template10
BYTE MINDED> educating kids bit by bit
A new blank template
 Includes a few files & empty folders to guide conventions
Similar to the MVC templates
 Add-on components to solve common problems
Solving for the 90%
 The code will solve the 90% use case
Contribute to Template10
 http://aka.ms/template10
What does all this really mean?
BYTE MINDED> educating kids bit by bit
Apps don’t target Windows 10, apps target the platform.
You’re writing for every device, when you write for Windows 10.
You’re writing for the platform, you’re writing adaptive UI and adaptive
code.
 One Operating System
 One App Platform
 One Dev Center
 One Store
But wait, there’s more …
BYTE MINDED> educating kids bit by bit
Within 2 – 3 years of launch, Microsoft predicts Windows 10 will be
running on 1 billion devices!!!
Bridges lower the barriers to entry onto the Windows platform for apps
developed for other platforms
 .Net & Win32
 Android – Java/C++
 iOS – Objective C
Developer Resources
BYTE MINDED> educating kids bit by bit
Microsoft Virtual Academy
http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-
10-preview?prid=ch9courselink
Channel 9
https://channel9.msdn.com/Series/Developers-Guide-to-Windows-10-Preview
Github
http://microsoft.github.io/windows/
Hands on Labs … coming soon.
BYTE MINDED> educating kids bit by bit
Second generation Raspberry Pi
 900MHz quad-core ARM
Cortex-A7 CPU
 1GB RAM
Runs ARM GNU/Linux
distributions, including Snappy
Ubuntu Core, as well as Microsoft
Windows 10 IoT Core
Raspberry Pi 2
BYTE MINDED> educating kids bit by bit
The Internet of Things (IoT) is
the network of physical
objects or "things" embedded
with electronics, software,
sensors, and connectivity to
enable objects to exchange
data with the manufacturer,
operator and/or other
connected devices.
Internet of Things (IoT)
BYTE MINDED> educating kids bit by bit
RPi Projects
BYTE MINDED> educating kids bit by bit
Why?
+
Win10 IoT Core on RPi2 Links
BYTE MINDED> educating kids bit by bit
Github Sample Code
https://github.com/ms-iot/samples
Installing Win10 on RPi2 without Win10
http://www.radio.cc/post/installing-windows-10-on-my-raspberry-pi-2
Enable Device for Development
https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx?f=255&MSPPError=-
2147217396
Blinky Sample – Step by Step Guide
http://oliviaklose.com/hello-blinky/

Windows 10 & Raspberry Pi 2

  • 1.
    Windows 10 &Raspberry Pi 2 Brisbane itWomen Coding Software 9th July 2015 BYTE MINDED> educating kids bit by bit
  • 2.
    What is Windows10? BYTE MINDED> educating kids bit by bit Next version of Windows … of course, LAST version of Windows?? Windows as a service Reinvigoration of the Windows desktop One OS for a universe of device types Universal Windows App Platform Windows 10 is currently in preview, public release expected around October 2015.
  • 3.
    Universal Windows Platform BYTEMINDED> educating kids bit by bit XboxIoT Universal Windows Platform
  • 4.
    Windows Core BYTE MINDED>educating kids bit by bit  Refactored core that’s on every device – super lean version of windows  Single set of APIs that are available on all devices  Universal driver layer – network I/O, file I/O are the same across all devices Windows Core Desktop SKU Phone SKU Xbox SKU Desktop Device Phone Device Xbox Device
  • 5.
    Architecture Diagram BYTE MINDED>educating kids bit by bit One Windows Desktop SKU Mobile SKU PC 2 in 1 Tablet Phablet Phone Xbox Band Raspberry Pi Home Automation Surface Hub HoloLens Xbox SKU IoT SKU IoT headless SKU Surface Hub SKU Holographic SKU
  • 6.
  • 7.
    Universal Windows Platform Windowsas a Service BYTE MINDED> educating kids bit by bit Windows Core Adaptive User Interface Natural User Inputs One SDK + Tooling One Store + One Dev Center Reuse Existing Code Universal Windows Apps Devices + IoT Mobile PC Xbox Surface Hub HoloLens
  • 8.
    Design BYTE MINDED> educatingkids bit by bit Responsive Design  Flexible layout responds to small changes  Many controls handle basic responsiveness Adaptive Design  Smart layout adjusts to large changes  Features like visual states aid in this design Tailored Design  A device specific app can simplify design
  • 9.
    Adaptive Design BYTE MINDED>educating kids bit by bit
  • 10.
    Tailored Design BYTE MINDED>educating kids bit by bit
  • 11.
    Visual Studio IDE BYTEMINDED> educating kids bit by bit Every project type  Desktop, Windows, Phone, Service, Web, Game, more … Every developer task  Code edit, architecture design, UX design, debug, profile, review, test Every development language  C++/CX, C#, Visual Basic, JavaScript, XAML, HTML, more … Visual Studio Online  Project management, bug tracking, more …
  • 12.
    Template10 BYTE MINDED> educatingkids bit by bit A new blank template  Includes a few files & empty folders to guide conventions Similar to the MVC templates  Add-on components to solve common problems Solving for the 90%  The code will solve the 90% use case Contribute to Template10  http://aka.ms/template10
  • 13.
    What does allthis really mean? BYTE MINDED> educating kids bit by bit Apps don’t target Windows 10, apps target the platform. You’re writing for every device, when you write for Windows 10. You’re writing for the platform, you’re writing adaptive UI and adaptive code.  One Operating System  One App Platform  One Dev Center  One Store
  • 14.
    But wait, there’smore … BYTE MINDED> educating kids bit by bit Within 2 – 3 years of launch, Microsoft predicts Windows 10 will be running on 1 billion devices!!! Bridges lower the barriers to entry onto the Windows platform for apps developed for other platforms  .Net & Win32  Android – Java/C++  iOS – Objective C
  • 15.
    Developer Resources BYTE MINDED>educating kids bit by bit Microsoft Virtual Academy http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows- 10-preview?prid=ch9courselink Channel 9 https://channel9.msdn.com/Series/Developers-Guide-to-Windows-10-Preview Github http://microsoft.github.io/windows/ Hands on Labs … coming soon.
  • 16.
    BYTE MINDED> educatingkids bit by bit Second generation Raspberry Pi  900MHz quad-core ARM Cortex-A7 CPU  1GB RAM Runs ARM GNU/Linux distributions, including Snappy Ubuntu Core, as well as Microsoft Windows 10 IoT Core Raspberry Pi 2
  • 17.
    BYTE MINDED> educatingkids bit by bit The Internet of Things (IoT) is the network of physical objects or "things" embedded with electronics, software, sensors, and connectivity to enable objects to exchange data with the manufacturer, operator and/or other connected devices. Internet of Things (IoT)
  • 18.
    BYTE MINDED> educatingkids bit by bit RPi Projects
  • 19.
    BYTE MINDED> educatingkids bit by bit Why? +
  • 20.
    Win10 IoT Coreon RPi2 Links BYTE MINDED> educating kids bit by bit Github Sample Code https://github.com/ms-iot/samples Installing Win10 on RPi2 without Win10 http://www.radio.cc/post/installing-windows-10-on-my-raspberry-pi-2 Enable Device for Development https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx?f=255&MSPPError=- 2147217396 Blinky Sample – Step by Step Guide http://oliviaklose.com/hello-blinky/

Editor's Notes

  • #3 UWP – application model First look at UWP which will lead into the concepts of One OS for all device types and then windows as a service.
  • #4 Device types that are using the same OS.
  • #5 Design – Responsive, Adaptive (utilise real estate, responsive), Tailored (better layout for the device), one design language (continuous experience across device types – mobility of the experience), one control set – APIs are the same, control renders differently across device types. More power to tailor to the device.
  • #6 Develop – review. Extension APIs Debug – visual studio 2015. Live visual debugging features. Real time performance monitoring while you debug. PerfTips between debugger breaks and CPU and Memory utilisation graphs while debugging. Distribute – one app submission, powerful new insights – how your apps and features are being used.
  • #8 Architecture Diagram Showing SKU add ons – versions of windows. Each family just adds features to the ones that it inherits. The SKU adds features to One Windows. These are extension SKUs and they don’t invalidate binaries on other devices.
  • #9 These are extension SKUs and they don’t invalidate binaries on other devices. Every device has windows core, every device has UWP (not UAP). Add on individual SDKs, stubs has the presence of APIs, but non-implemented, so that you can compile. The device families you choose determines which APIs you can call freely. One simple, unified, integrated development environment.
  • #10 UWP – mechanisms available for targeting these device types. This is where app development kicks in. Single API surface that’s guaranteed through windows core and that’s going to be the same on all devices, apps don’t target Windows 10, apps target the platform now. So what does that mean? It use to be that Microsoft would retarget for every operating system as they would rev up the OS to the next version. So you have an 8.0 application, don’t forget to target it to 8.1, don’t forget to retarget it to windows 10. Those days are gone because now you target a platform which can run on all the different versions. So it’s not just multi device, it’s multi version. Because windows is now a service and the platform is now a service. They don’t care what version of windows you are running, as long as you have the right platform – these are the guaranteed APIs. The UWP updates on it’s own –at it’s own cadence – can go as fast or as slow as it needs to.
  • #11 Responsive and adaptive design – means you can scale your app UI across multiple devices Tailored design – means you can still create separate Uis for each device type Design – Responsive, Adaptive (utilise real estate, responsive), Tailored (better layout for the device), one design language (continuous experience across device types – mobility of the experience), one control set – APIs are the same, control renders differently across device types. More power to tailor to the device.
  • #12 Responsive and adaptive design – means you can scale your app UI across multiple devices Tailored design – means you can still create separate Uis for each device type
  • #13 Responsive and adaptive design – means you can scale your app UI across multiple devices Tailored design – means you can still create separate Uis for each device type
  • #14 Not matter what the project is or task in the development lifecycle, it’s always Visual Studio. Compiler is called Roslyn and is written in .Net. Blend for Visual Studio – the XAML Develop Debug – visual studio 2015. Live visual debugging features. Real time performance monitoring while you debug. PerfTips between debugger breaks and CPU and Memory utilisation graphs while debugging. r’s IDE – quicker access to certain types of functionality. Template 10
  • #16 And you can develop on: Windows 10 – requires Visual Studio 2015 Windows 8.1 and Windows Server 2012 – visual studio designer does not function, debugging requires a Windows 10 device or remote debugging tools Distribute – one app submission, powerful new insights – how your apps and features are being used.
  • #19 Upgrades from model 1 Technical Specifications: Broadcom BCM2836 Arm7 Quad Core Processor powered Single Board Computer running at 900MHz 1GB RAM 40pin extended GPIO 4 x USB 2 ports 4 pole Stereo output and Composite video port Full size HDMI CSI camera port for connecting the Raspberry Pi camera DSI display port for connecting the Raspberry Pi touch screen display Micro SD port for loading your operating system and storing data Micro USB power source
  • #21 3D LED Cube Retro Arcade Games Rpi Cluster Bartendro – cocktail dispensing robot Weather Station Add-on boards – wifi, camera, audio, displays