SlideShare a Scribd company logo
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
@mrlacey
The leading cross-promotion network for
Windows Phone and Windows Store apps
Write Once, Run
Everywhere
&
Windows 10
Write Once,
Run Everywhere
Write Once,
Run Anywhere
Write Once,
DEBUG Everywhere
Write Once,
SUCK Everywhere
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
Mobile
Server
Enterprise
Card
FX
Personal
"Write Once, Run Everywhere" & Windows 10
<html>
<head>
<title>
Written Once and Running Everywhere?
</title>
</head>
<body>
<p>
Pretty much anything can serve plain
text in HTML. Right?
</p>
</body>
</html>
"Write Once, Run Everywhere" & Windows 10
#define
"Write Once, Run Everywhere" & Windows 10
•Design
•Write
•Compile
•Test
•QA
•Distribute
•Support/maintain
•Update
… Once, Run Everywhere
"Write Once, Run Everywhere" & Windows 10
Cross Platform (X-Plat)
Want
• Lots of users
• Work on multiple devices
• Good UX
• Native functionality
• Homogeneity
Don’t want
• Unnecessary duplication
• Unnecessary work
• Unnecessary costs
What do we mean by the
“every” in “everywhere”?
What do we mean by the
“any” in “anywhere”?
What about Windows 10?
UNIVERSAL
Windows?
Universal?
What about…
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
Windows 10
Universal Windows Platform
(UWP)
UWP App
Build one package and distribute to and
run on all versions of Windows 10
UWP App
Build one package and distribute to and
run on all versions of Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
File > New UWP App
One project that runs on desktop and
mobile
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
File > New UWP App
One project with UI that adapts
depending on where it’s running
File > New Win10 Mobile App
One project that only runs on Mobile
devices
"Write Once, Run Everywhere" & Windows 10
"Write Once, Run Everywhere" & Windows 10
Win10 != one OS
"Write Once, Run Everywhere" & Windows 10
File > New UWP App
One project with code that adapts
depending on where it’s running
Why care about
Windows 10 Mobile?
Mobile != Phone
Hope
probably isn’t enough
Continuum
"Write Once, Run Everywhere" & Windows 10
IoT != cheap PC
"Write Once, Run Everywhere" & Windows 10
One device and
apps Everywhere
One device and
apps Anywhere
"I love idea of 'Write Once Right
Everywhere', which was rebranded to
'Universal apps', but how does UWP
help my app run on Android and iOS?“
- A windows developer
"Write Once, Run Everywhere" & Windows 10
File > New Many Apps
All the platforms sharing code
and, optionally, some UI definitions
"Write Once, Run Everywhere" & Windows 10
…so preoccupied with whether or not they could
that they didn't stop to think if they should.
Yes “mobile first”
but actually everything
is mobile
Limitations:
Creativity
Demanded
So how does
Windows 10
measure up?
•Design
•Write
•Compile
•Test
•QA
•Distribute
•Support/maintain
•Update
… Once, Run Everywhere
Cross Platform (X-Plat)
Want
• Lots of users
• Work on multiple devices
• Good UX
• Native functionality
• Homogeneity
Don’t want
• Unnecessary duplication
• Unnecessary costs
• Unnecessary work

More Related Content

PDF
2014 docker boston fig for developing microservices
PPTX
Community day mvvmcross
PDF
Desert code camp 2014, iOS and Android development for c# developers with Xam...
PPTX
Intro to Windows Presentation for CSS NC-2.pptx
PPT
Dot net universal apps
PPTX
Developing windows 10 universal apps
PDF
DotNet Cologne 2015 - Windows 10 AppDev, Teil1: App Developer Basics- (Daniel...
2014 docker boston fig for developing microservices
Community day mvvmcross
Desert code camp 2014, iOS and Android development for c# developers with Xam...
Intro to Windows Presentation for CSS NC-2.pptx
Dot net universal apps
Developing windows 10 universal apps
DotNet Cologne 2015 - Windows 10 AppDev, Teil1: App Developer Basics- (Daniel...

Similar to "Write Once, Run Everywhere" & Windows 10 (13)

PPTX
Universal Windows Platform Overview
PPTX
App Studio: Hands-On
PPTX
Windows Universal Apps
PPTX
Universal Apps for windows 8.1
PDF
201500912 Hello Windows 10
PPTX
An Introduction to Universal Windows Apps
PPTX
Windows 10 pentru dezvoltatori - InfoEducație 2015
PPTX
Universal Apps for Windows
PDF
WP7 Motivation
PPTX
Universal windows platform - Application development done right
PDF
WP7 Motivation
PPTX
Universal Windows Platform Development in Windows 10
PPTX
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Universal Windows Platform Overview
App Studio: Hands-On
Windows Universal Apps
Universal Apps for windows 8.1
201500912 Hello Windows 10
An Introduction to Universal Windows Apps
Windows 10 pentru dezvoltatori - InfoEducație 2015
Universal Apps for Windows
WP7 Motivation
Universal windows platform - Application development done right
WP7 Motivation
Universal Windows Platform Development in Windows 10
Visual Studio 2015: novità per gli sviluppatori iOS, Android e Cross-Platform
Ad

More from Matt Lacey (20)

PPTX
Modern XAML Development - Matt Lacey
PPTX
Is your mobile app as secure as you think?
PPTX
A look behind the scenes: Windows 8 background processing
PPTX
Intro to the App Developers Alliance @ WPUG
PDF
Wpug vserv developer deck- march 2014 global
PPTX
Pricing mobile apps
PPTX
10 tips for porting to Windows Phone 8
PPTX
Preparing for WP8
PPTX
Thinking mobile and beyond (Dundee)
PPTX
Awesome Windows Phone Development (Aberdeen)
PPTX
WPSDK 7.1.1
PPTX
Deep linking and secondary tiles
PPTX
PhoneGap @ LDNUG
PPTX
Introducing Windows Phone 7 Development
PPTX
WP7Dev with HTML & JavaScript
PPTX
Xna for wp7
PPTX
Why care about mobile? And what is Windows Phone 7?
PPTX
Developing for Windows7 with the APICodepack
PPTX
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
PPTX
Mobile Web 2.0 (DDD Scotland - Grok Talk)
Modern XAML Development - Matt Lacey
Is your mobile app as secure as you think?
A look behind the scenes: Windows 8 background processing
Intro to the App Developers Alliance @ WPUG
Wpug vserv developer deck- march 2014 global
Pricing mobile apps
10 tips for porting to Windows Phone 8
Preparing for WP8
Thinking mobile and beyond (Dundee)
Awesome Windows Phone Development (Aberdeen)
WPSDK 7.1.1
Deep linking and secondary tiles
PhoneGap @ LDNUG
Introducing Windows Phone 7 Development
WP7Dev with HTML & JavaScript
Xna for wp7
Why care about mobile? And what is Windows Phone 7?
Developing for Windows7 with the APICodepack
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
Mobile Web 2.0 (DDD Scotland - Grok Talk)
Ad

Recently uploaded (20)

PPTX
Chapter 5: Probability Theory and Statistics
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
Architecture types and enterprise applications.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
STKI Israel Market Study 2025 version august
Chapter 5: Probability Theory and Statistics
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
1. Introduction to Computer Programming.pptx
Hybrid model detection and classification of lung cancer
Architecture types and enterprise applications.pdf
A novel scalable deep ensemble learning framework for big data classification...
Module 1.ppt Iot fundamentals and Architecture
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
O2C Customer Invoices to Receipt V15A.pptx
Tartificialntelligence_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
WOOl fibre morphology and structure.pdf for textiles
OMC Textile Division Presentation 2021.pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
NewMind AI Weekly Chronicles - August'25-Week II
observCloud-Native Containerability and monitoring.pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Programs and apps: productivity, graphics, security and other tools
DP Operators-handbook-extract for the Mautical Institute
STKI Israel Market Study 2025 version august

"Write Once, Run Everywhere" & Windows 10

Editor's Notes

  • #6: Consultant Windows
  • #7: I do some work for them If you are building apps for Windows then I’d love to talk to you about how you promote them and if cross promotion is right for you
  • #8: So, this is my topic for today
  • #9: You may know this idea like this
  • #10: Or like this But really they’re the same thing
  • #11: IF you’re familiar with the concept you may also know it as THIS
  • #12: You’ve probably also heard this as
  • #13: So what’s the history?
  • #14: It all starts with Java I haven’t locked down the exact history but Used about them, before Java launched, in March 1995 Used by Sun in Jan 1996 The great promise of bytecode
  • #15: But their isn’t just one lot of bytecode There are differences and some criticisms of having different versions. What if you could have identical bytecode on all platforms?...
  • #16: Squeak scratch Bit identical bytecode everywhere : Everywhere = Windows, Mac & Linux What if we wanted to really go to as many platforms as possible and without intermediary compilers
  • #17: No images – images get complicated when you’re on lots of platforms and devices I’m old enough to remember text only web sites but they don’t really cut it. This is probably a bit to far for us to take our users just for the sake of making it easy for us to only have to write once. What if we need more sophistication and low level power in code
  • #18: Runs everywhere – but with lots of different compilers Powerful with low level access But to run everywhere has some implications
  • #19: If your code needs lots of these, is it really writing once? Or writing lots of versions at the same time? If we did write once but have to compile multiple times is that an issue? Possibly. There’s more to creating an app than just writing code. Obviously there’s the compile step but there’s more.
  • #20: Regardless of the process you use to build apps there’s a lot more than just writing the code that you’d ideally like to only do once.
  • #21: If these are tasks you’re doing for every platform the app runs on then only doing them once is ideal. Why is it ideal?
  • #22: Because it all comes down to business. WORE is primarily a business driven goal to reduce costs. Both dev & maintenance IME - Developers either like the idea for the technical challenge or dislike ti because they fear for their job security.
  • #23: Our indirect business goal is cross platform development. I’m aware we’re moving away from how things work on Windows 10. but bear with me. I know where I’m going. So what about everywhere
  • #24: OR
  • #25: Do we mean 100% absolutely all platforms/devices/countries/languages? For how long? Future devices? Old devices? (in & out of warranty?)
  • #26: 85Million users so far Aiming for a billion users. Could be worth investigating. What’s the idea behind creating an app that runs on all Windows 10 devices?
  • #27: Windows 10 allows creating hat it calls universal apps
  • #30: Windows 8.1 had “universal apps” but they were different.
  • #32: Win10 diffs from 8.1 with the idea of a UWP.
  • #33: Here’s the promise of UWP. That certainly sounds a lot like WORE – and press have picked up on that.
  • #34: But there are some subtleties. Let’s first look at what we mean by “all versiosn”
  • #35: Here’s the 6 families of Win10 Actually 7
  • #36: Here’s a better idea of how different devices running different families work. 2 you might not be as familiar with
  • #37: Surface hub At it’s simplest it’s an expensive whiteboard But potential to be so much more Can preorder now for del starting Jan next year
  • #38: HoloLens AR, not VR Entirely self contained Very few details
  • #39: So, lets actually look at some code. ** That’s great but what if you want something different across devices : 6 strategies
  • #40: reposition
  • #41: resize
  • #42: reflow
  • #43: reveal
  • #44: replace
  • #45: Re-architect
  • #46: It’s not just a mobile vs table/desktop issue though. Look how different the sizes are. Look at the wall – see how different the sizes are. How do we cope with creating one app that may be on anything between 4 and 84 inches
  • #47: Effective pixels resolution (no. of pixels) - physical size - expected viewing distance
  • #48: Instead of 4-84 inch range VGA >~ 2K
  • #49: Different resources Different pages (code, folder, name)
  • #50: CHEATING – COMPILING MULTIPLE TIMES – BUT CAN PACKAGE ALL IN ONE GO But if just want one platform only need one
  • #53: Multiple families of OSs
  • #54: Each extension is like an interface It’s like Each OS release knows that all the interfaces exist but has implementations that just throw NIEs Except it isn’t as it really does it with reflection
  • #55: Here’s how that looks
  • #57: Mobile also means small tablets – in theory
  • #58: Why care? – not for fanbois
  • #59: Our survey says: don’t know but like it and most excited about it “An app experience transcends a single device. And a device transcends a single configuration.”
  • #60: Connect phone to a monitor, and maybe mouse and keyboard too and you have a PC for those times you really need one. Experience determined by power/capabilities of the phone If I have the monitor & mouse & keyboard at home why not get a PC as well. Not for people who can Hot desking to the extreme At home why not use a Raspberry Pi as a cheap PC? It’s one OS and apps run everywhere
  • #61: Prototyping and embedded devices No store access Surface Hub isn’t a massive tablet – collaboration device. No persisted user state. HoloLens is completely different again. – but will allow deploying of a UWP
  • #62: 7B people in world but only 3B on the internet - I suspect that this is part of the reason that WP might have survived so long. Not just that mobile is everything. Next x billion Gonna be mobile first (and probably mobile only) But sometimes will want more Games Media Office Built in companion app or two Yes it’s been tried before. Samsung/Android – Ubuntu phone
  • #63: Continuum means USE it everywhere Content, data and docs are everywhere.
  • #64: Take it anywhere
  • #65: That’s all good but There’s still lots of confusion
  • #66: Xamarin let us reuse the skills used for building on Windows and create native iOS and Android applications
  • #67: Look. Here’s a solution So that takes windows devs to “everywhere” What about making Win10 part of “everywhere” for people with iOS & Android code bases?
  • #68: So we can build apps that run everywhere….
  • #69: Do you really want the same things everywhere? – companion apps? Do your users? Platform differentiation – may need a custom UI Some platforms let you do things others don’t You may not want to put all your eggs in one basket. Not all apps make sense on all platforms – beyond mobile Increased complexity of putting all in one place Shared vs single user devices Volume of resources in bundle – MRT We’ve spent the last few years telling developers they shouldn’t try and squeeze everything from the desktop version of an app into a mobile one -
  • #70: Don’t end up with a desktop app that is just a mobile app stretched – Adobe LCD
  • #73: Don’t end up with a desktop app that is just a mobile app stretched – Adobe LCD
  • #75: Homogenity is key. The feedback I’m hearing a lot is not that people want to WORE but that they want to have knowledge and tools that will let them build for everywhere.