BUILD 2014 – Developing Apps Using the Common XAML UI Framework

BUILD 2014, San Francisco
Developing Apps Using the Common XAML UI Framework (2-507) – Tim Heuer

Day 1, 2 Apr 2014, 1:00PM-2:00PM

Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.


Tim Heuer – Program Manager, Windows Developer Experience Team, Microsoft

Focused on “native UI”–XAML is the public native UI surface area that we expose

Universal Windows apps, built on common Modern platform

  • Now about evolution of existing Silverlight apps for Windows Phone
  • Session also not about WPF
  • Tomorrow—panel discussion on WPF

“Marketecture” slide:

For Phone 8.1, common model allows you to create apps that span all devices

  • Platform & tooling

Present in Visual Studio 2013 Update 2 (currently RC)

Old world:

  • Custom build camps, share just code files
  • Maybe Portable Class Library (but didn’t support XAML)

Now:

  • Can share any asset from your project, across devices
  • E.g. Images, XML, resources, localized resources, shared UI (XAML)

Share your XAML UI

Other sessions: 3-591 – Using Visual Studio to build XAML Universal Apps (Saxena)

Goal is to maximize reuse of code

  • 3″ device to 40″ device

But you also need/want to tailor the GUI to each device

  • What should be common? What should be tailored?

Demo – Shared Projects in Visual Studio

Visual Studio Express also supports this

 

SportsLeague app in demo

Multiple projects in solution

  • Windows 8.1 project
  • Windows Phone 8.1 project
  • Shared project
    • Doesn’t output anything
    • Place to declare shared assets
    • Merged into other projects in solution

Sharing various assets, e.g. ViewModels

“Project heads”—e.g. “Windows Phone head”—the project that builds the final Windows Phone target

Start from scratch—various templates

If you have existing app

  • Rt-click existing Windows Phone project, then Add Windows Phone 8.1
  • Converts your project to Universal App
  • Doesn’t add any files—no assumptions about what you will want to share
  • Some assumptions when you start with new project

(demo ends)

Old world:

Goal was completely merged platform

  • We got close

What’s common and what’s not?

  • Windows Phone unique stuff are controls like unique picker controls, etc. (e.g. DatePicker with flyout)
  • Here’s raw data, gotten by doing diff

Three main areas to cover today:

We’ll focus only on Windows.UI.Xaml namespace today

Two main categories:

  • Controls – what controls can I use
  • Framework – e.g. data binding, input, etc.

Controls

  • Also: 2-516: Building Great UI in XAML (Oster)

‘Primitives’ – same (on both devices)

  • Layout: Panel, StackPanel, Grid, Border
  • Buttons, Slider, ToggleSwitch, CheckBox, RadioButton, ProgressBar
  • TextBox, TextBlock
  • Shapes, Path

Demo – Same API/Behavior

Start with existing app, add Win Phone 8.1 project

  • Move App.xaml, MainPage.xaml, etc. to Shared
  • Open XAML from Shared project
  • Can switch between views—different devices

E.g. StackPanel with Button

Intellisense works, same re-factoring works in editor

APIs that are the same, but where experience/behavior is slightly different

Fairly primitive—just three ComboBoxes

API is exactly the same on these devices

‘Primitives’ – same API, but with tailored behavior

  • Hub – “hero image” on Win 8, but experience on phone wraps
    • API identical, but experience tailors/adapts to device
  • AppBar/CommandBar
    • Can’t use AppBar on Win Phone 8.1
  • Date/Time Pickers and List Pickers
    • List Pickers—6+ items, you go to second screen
  • ListView
    • Multi-select; containers, swipe selection
    • Multi-select works differently on phone—checkboxes appear at left
    • But API is same, e.g. how you enable multi-select
  • Flyouts
    • Available on both devices
    • Phone—full screen; desktop—”full windows” is more like 70% of window
  • Media
  • Ads SDK*
    • Not really in XAML platform, but worth mentioning
    • Ad units is different, depending on platform

Demo – Same API, tailored behavior

Use of user controls lets you to create composite UI chunks

Sports app

  • Uses Hub control

Hub on Windows 8, when you get to the right, you’re done, can’t move further to the right

Run on Win Phone 8.1 emulator

  • Hint: use low memory profiler

Can swipe right, because Hub wraps on phone

Parallax effect, image slowly slides

Looking at code, Hub page is shared

  • <Hub> element
  • <HubSection>
  • XAML the same for both devices
  • Actual content of section
    • Composite user control
    • E.g. DataTemplate is <views:CoverStoryView>
    • User control CoverStoryView
    • Creating this view in both device-specific projects
  • This allows tailoring for each device in the user control
    • E.g. some textual changes, styling
    • Or in “points table”, show different # columns
  • User control allows you to break out pieces of GUI and tailor them

CommandBar in main page, shared XAML

  • Add AppBarButton
  • Then SecondaryCommands with some more AppBarButtons

Windows 8.1

  • Primary commands on right, secondary on left
  • Right-click or edge slide to invoke

Windows Phone 8.1

  • CommandBar is up by default, don’t need to do anything to make it appear
  • Secondary—list after clicking ellipsis, no visual

So the AppBar tailors itself for the device

  • And gracefully ignore things that don’t apply (e.g. icons for secondary buttons)

E.g. What if you have 20 commands, what happens on Phone?

  • Ignores the ones that won’t fit, beyond phone maximum

Can also add UI via code, but do it as shared

  • E.g. Ads, first add Ad SDK to both platform-specific projects
  • Ads team has controls for both platforms, but currently in different namespaces
  • So can’t add them in XAML, but need to do it in code
  • Can go into shared code-behind
  • Add #if WINDOWS_APP / #else
    • using ads = Microsoft.Advertising.WinRT.UI
    • or: using ads = Microsoft.Advertising.Mobile.UI
  • In Loaded event
    • Also #if
    • Set ad dimensions
    • Placeholder.Child = ads (new AdControl), where PlaceHolder is maybe a StackPanel defined in markup
  • Or could have done ads in user control

Using localization for tailoring experience

Device-specific APIs – things that aren’t common between the platforms

  • Windows
    • SearchBox
    • SettingsFlyout (these things don’t exist on phone, so not exposed from API on phone)
  • Windows Phone
    • Pivot – control on phone, doesn’t exist on Windows
    • AutoSuggestBox – new control for Phone 8.1
      • Similar to SearchBox on Windows, but not associated with contract
    • ContentDialog
      • Dialog with arbitrary XAML
    • Maps
      • Can tap into maps platform on phone
      • Part of XAML platform on Phone
      • Desktop does have maps, but via Bing SDK
      • Probably do platform-specific user control to do map stuff
    • System Chrome
      • Progress area, in-call UI
      • Not a lot of system chrome on desktop/tablet

System chrome

  • Blue at top – system chrome (system tray); contains in-call progress, notifications
    • Your page’s background
  • Green/red in middle—your UI
  • Bottom app bar is rendered as system UI, not part of your app
    • On desktop, it is part of your app

By default, render your app content in “visible bounds area”

  • E.g. in red rectangle in this picture
  • But you should set page background to the same as your app background color
  • E.g. in this example, you’d set Page.Background to red

Or you can opt out by setting desired bound mode

  • If you have game and want content to go edge to edge
  • Now you’re responsible for all of it

2-516: Building Great UI in XAML (Oster)building controls

Framework Areas

  • Animation, text, navigation, background, scaling, styling
  • (Data binding—identical across platforms)

Navigation Model

  • Navigation APIs same
  • Phone
    • Hardware Back button
  • Windows
    • In-app Back button
  • Project templates for Universal apps handle this already
  • 2-537: Navigation Model for XAML Apps (Karman)

Animations

  • API same
    • But device-specific on phone
  • ThemeAnimations
  • ThemeTransitions
  • Navigation
  • “ReaderBoard”
  • But they expose basic phone animations and you can now use in your apps
    • E.g. Mail list flyouts
    • I.e. system level animations
    • ReaderBoard

Text – new features for phone developers; same APIs

  • Typography.Caps
  • OpticalMarginAlignment
  • TextureBounds
  • TextWrapping
  • TextClipping
  • MaxLines
  • “Header” (Label) on input text controls

Text Enlargement

  • Accessibility
  • IsTextScaleFactorEnabled property

PasswordBox

  • Phone
    • Delay character reveal
    • Show password checkbox
  • Tablet
    • Just TextBox with password hide

Custom Tiles

  • Something like 65 custom tiles that you can use
  • Tiles rendered as background task
  • Now: XamlRenderingBackgroundTask – so that you can do custom tile
  • 2-253: Hidinger

Scale Factors and Effective Resolution

  • You really need to think about it
  • 3-541: From 4 to 40 Inches (Torr)

Styling and Theming

  • Accent Color
    • SystemColorControlAccentColor/Brush (exposed)
  • Text Styling
    • PhoneText
  • Focus visuals
    • Do not exist on phone (because no keyboard)
    • These just don’t show up on phone
  • Theme overrides and High Contrast—same!
    • Part of common platform
    • Override the theme that the user has picked

Other UI areas for XAML developers

  • Control developers
    • Needing 2 SDKs, what approach should you take
    • How to think about ‘adaptive’ in your own controls
    • 3-591: Saxena
  • Interaction areas with shell (share/settings)
    • File pickers (Continuation Model)
    • Share – entry point difference
    • Settings – entry point differences, no SettingsFlyout on Phone
    • E.g. Reserved spaces for these things on tablet

Other sessions that relate to this topic:

BUILD 2014 – Experience at the Intersection of Design and Development

BUILD 2014, San Francisco
Experience at the Intersection of Design and Development (9-003) – Charles Torre, Michael Neuman, Shane Ginsberg, Rick Barraza, Nathan Moody

Day 1, 2 Apr 2014, 12:20PM-1:00PM

Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.

Let’s talk about importance of design and user experience.

(left-right) Rick Barraza, Michael Neuman, Shane Ginsberg, Nathan Moody, Charles Torre

Charles Torre – Exec Producer – App Experience

Rick Barraza – Lead Design Evangelist, Microsoft

Michael Neuman – Senior UX Designer, Obscura Digital

Shane Ginsberg – President, Evolution Bureau

Nathan Moody – Design Director, Stimulant

Q: Keep hearing about mobile-first, cloud-first, ubiquitous computing, etc. What does that mean for people who design for people?

  • (Nathan) Convergence—need holistic approach to both technology and design; make sure everything is well integrated
  • (Shane) Internet of Things is about people, not things—figure out how to create magical experiences for people
  • (Michael) Create experiences where technology is invisible, seamless
  • (Rick) Need to make interface transparent, not invisible. It’s within context that’s appropriate. How do we enhance people’s lifestyle
  • (Shane) Our job is to make stuff disappear, but then it appears and surprises/delights

Q: How can developers improve our design skills, or improve designs?

  • (Michael) Can solve 80% of what user needs by ??
  • (Rick) Traditional development is design-first; for consumers, “minimum delightful product”, have strategists/designers/developers involved together from the very beginning
    • We’re talking about consumer-based stuff
  • (Shane) Design frames the problem; if you have eyes and some empathy, you can design something
    • Need to see it thru the eyes of the user
    • Framing the problem is 80%, solving the problem is 20%
  • (Rick) Design is not just what something looks like
    • But—are you solving the right problem the right way?
    • Visual Studio gives you intelligent defaults; good place to start, if you don’t know what you doing
    • But this isn’t the most that you can do; but then do brand differentiation
    • To differentiate, you often do need to be a bit different

Q: What design considerations should we have when thinking about Cortana?

  • (Nathan) We normally create mental models of how users think
    • But seeing a trend where we create personas for our devices
    • It’s about natural conversation and natural languages
    • The key is empathy—will give you heuristics for framing decisions about natural languages
  • (Shane) Voice is (maybe) interface of future (?)
    • 20 yrs of investment in building voice-based UIs
    • But if you use voice as principal interface on some devices, it’s still not great
    • E.g. “Silly accents” mess it up
    • Full of promise; a while to go before users feel comfortable with it
  • (Rick) I need to spend some time and think about it (voice)
    • Can be powerful
    • One guidance—for new technologies, e.g. voice/gestures, “form follows fiction”
    • People have seen these interactions already in fiction (e.g. Tony Stark, Master Chief)
    • Technologies will becomes something that we’re not expecting
    • But users will expect it to act a certain way

Q: As designers, how do you feel about Metro (Modern)? Did Microsoft go too far? Is iOS removal of skeumorphism a validation?

  • (Nathan) Have done a lot of work with Metro
    • Metro has made Microsoft better
    • “Authentically digital”
    • But many brands are very skeumorphic—how do you bridge the gaps? Need to be clever
    • Since Metro, has been big shift at Microsoft. Metro is starting point, but need to go where the brand leads you
    • Metro concepts work really well in touch-first environment
    • Bold move
    • Starting to see major ripple effects
  • (Shane) Skeumorphism vs. flat is a side point, not critical
    • Did Metro go far enough?
    • Metro “flattened”, but not just about flatness
    • Rather, need to think about context, humanity, what’s the problem?
  • (Michael) Superficial, would rather see UI where people aren’t also looking down at their hands
    • It really is all about interactivity, rather than about what it looks like
    • How are the displays touching you, rather than you touching the displays?
    • E.g. directional microphones
    • Old-school to think about what handset looks like
  • (Rick) Windows Design Language—apps are somewhere from transactional to immersive
    • I joined Microsoft because of trajectory of Metro and design language
    • Design is about solving problems
    • For transactional app (most apps), Metro forces you to think about how to solve the problem
    • Became two things
    • Prescriptive—people took it to be too prescriptive, even for immersive experience
    • Operating system shouldn’t be defining what immersive apps should look like
    • You don’t have to strip things down
    • This is Microsoft’s visual identity, for Microsoft apps and for traditional transactional apps
    • But customer’s apps should bring their own design look to it

Q: Charles – if you create design language, is it a base for everything? Why can’t I create my own visual experience (e.g. 3D gel)?

  • (Rick) That’s not the visual identity that Microsoft uses
    • There’s just “good design”, regardless of platform
    • Our visual design language is for Microsoft “first party” apps
    • So if you want to do something different, visually, you should do that and can do that
  • (Charles) So I can make a skeumorphic app; it’s “not scripture”
  • (Michael) Skeumorphic is less relevant as we do augmented reality
  • (Shane) Design is also subject to fashion
    • 20 yrs ago—flat, then skeumorphic, now flat again
    • Ultimate testament is how people use it; if consumers “dig it”
    • Very short cycle now to learn how users respond to stuff

Q: What advice for devs to improve UI skills?

  • (Shane) Go to favorite UI and ask “why” about everything
  • (Rick) Try to rebuild something
  • (Michael) Use case not predicate on software, e.g. animate a dream

Q: Universal App and impact on design?

  • (Charles) Shared experience across different devices? How do you design for this? Maintain empathy for customers..
  • (Rick) Hire a professional
    • If doing transactional app, you’re fine
    • But for immersive, need professional; no “magic pill”
  • (Shane) Responsive design
    • Design in context of its use; playing Halo is very different context to sitting at home
    • This is a challenge—universal, but with context awareness, design applicability
    • It’s hard
  • (Nathan) It’s hard, yes
    • Think about what service you’re providing—and think about what you want in the context in which you’re in
    • Context changes this a lot
  • (Rick) There’s range of software that won’t be apps
    • E.g. Obscura Digital, amazing experiences—e.g. sound, projection mapping
    • Shouldn’t just funnel it down to apps in Windows Store
  • (Michael) What excites us is things like luminescent paint on roads that shows that snow is coming
    • Not just about computers
    • User-centered experience
  • (Shane) World beyond the screen is what’s important
  • (Charles) Just be empathetic—think about who is using the software
  • (Rick) Commenting code, e.g.

Rick’s Kinect demo

Showing Kinect V2 sensor in Windows Store app

We need to encourage “play” on our platform. That’s how we get Natural User Interfaces

Channel 9 video

BUILD 2014 – Developing for Windows Phone and Windows

BUILD 2014, San Francisco
Developing for Windows Phone and Windows (9-002) – Charles Torre, David Treadwell

Day 1, 2 Apr 2014, 12:00PM-12:20PM

Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.

Charles Torre – Exec Producer – App Experience

David Treadwell – Corp Vice President, ISS Engineering

Story of Dave Cutler stopping in to ask Treadwell about afd.sys

Q: What goes through your mind, seeing how Windows has evolved over the years?

  • Back in the 1990s, more constrained, not nearly as robust (e.g. secure)
  • Runs on a great variety of devices

WinRT

  • Win32 was beautiful, in terms of how much power it has—maximum control
  • But “we need to modernize the platform”
  • Prevent application from negatively impacting the system
  • Viruses and malware are just not possible on the WinRT platform
  • “Safer, more appropriate”

WinRT running on Win32

  • Yes, runs in Win32
  • Win32 infrastructure supports WinRT
  • And can run modern apps on desktop (will support in future)

Q: Does Win Phone 8 support C++ AMP?

  • Don’t know

Q: Is Internet of Things a later update this year? (E.g. start screen in start button)

  • Many IoT things are headless
  • Start Screen UI thing that Terry showed is different from IoT

Q: Is graphical diagnostic tool available for all versions of VS 2013? (Kevin’s demo)

  • Don’t know

Q: When will dev preview for Win Phone 8.1 be available?

  • Mid-April
  • Includes Cortana

Q: Do Universal Windows app have same app lifecycle on all devices?

  • We’re working to make sure that it’s the same
  • Right now, some minor differences

Q: How is new C++14 standard being adopted?

  • Don’t know

Q: When you buy app on phone, will you also get it on tablet? Or separate purchases?

  • As dev, you can choose—use “shared app identity”, so user gets app on phone, PC, tablet

Q: What does ubiquitous computing mean for Windows?

  • Azure/cloud is all based on Windows
  • On devices, Windows is an “amazingly good” client platform

Q: Win XP ending soon

  • XP was where NT kernel became real/mainstream
  • But it’s time to advance (13 yrs old)
  • It’s in everyone’s interest that we move forward

Q: Will you keep doing minor upgrades to Win Phone 8?

  • For XBox 360, there’s just one version
  • For Windows, we want to think of it the same way—just one version; so always up to date
  • IE is example of why this is tough—a pile of different versions out there
  • Treat Windows infrastructure like services

Q: Install Phone app on tablet?

  • No, separate binaries

Q: Anything new on packaging front?

  • Shared app identities for Store—customer just buys single app

Note: XBox One based on Windows operating system

  • Different shell, but it’s really just Windows

Q: Is afd.sys on all these platforms?

  • Yes, still there; but different from original

Q: Will certification processes be unified?

  • Yes, working towards that
  • E.g. XBox “triple A games” go through very different process

Talk about hypervisor on XBox One

  • Early in design cycle, realized we need to support Windows apps
  • Also support triple A games—need to know exactly the resources they can have (i.e. more of a real-time OS)
  • “Game side” of OS—one game at a time, gets sole access to fixed set of resources
  • Other side is Windows side—traditional Windows environment
  • Games OS, Windows OS, then Hypervisor below these two, light runtime that switches
  • Dave Cutler still cutting code—XBox One Hypervisor

Q: Will Start Screen tiles be integrated into new Start button

  • Still working on this

Q: Can retail XBox One be used for app dev?

  • Working on this; intent is that this will be true
  • I.e. You’ll be able to use retail XBox One for dev

Q: Can you elaborate on relationship between BCL(?)/PCK(?) and Universal Apps?

  • Universal App can invoke anything in BCL

Q: Possible to integrate Action Center in 8.1?

  • Thinking about that

Q: When can we start building XAML apps for XBox One?

  • XBox One shell actually written in XAML
  • Not yet available, but we’re now looking at how to make this available

Q: How will apps be published on XBox One?

  • We’ll use Windows Store

 

BUILD 2014 – Day 2 Keynote

BUILD 2014, San Francisco
Keynote 2 – Scott Guthrie, Rick Cordella (NBC), Mark Russinovich, Luke Kanies (Puppet), Daniel Spurling (Getty), Mads Kristensen, Yavor Georgiev, Grant Peterson (DocuSign), Anders Hejlsberg, Miguel de Icaza (Xamarin), Bill Staples, Steve Guggenheimer, John Shewchuk

Day 2, 3 Apr 2014, 8:30AM-11:30AM

Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.

Scott Guthrie – EVP, Cloud + Enterprise

Azure

  • IaaS and PaaS
  • Windows & Linux
  • Developer productivity
  • Tons of new features in 2013
  • Lots more new features for 2014

Expanding Azure around world (green circles are Azure regions):

Run apps closer to your customers

Some stats:

Did he just say 1,000,000 SQL Server databases? Wow

Great experiences that use Azure

  • Titanfall
    • Powered by Azure

Video of Titanfall / Azure

  • Data centers all over
  • Spins up dedicated server for you when you play
  • “Throw ’em a server” – constantly available set of servers
  • AI & NPCs powered by server

Scale

  • Titanfall had >100,000 VMs deployed/running on launch day

Olympics NBC Sports (Sochi)

  • NBC used Azure to stream games
  • 100 million viewers
  • Streaming/encoding done w/Azure
  • Live-encode across multiple Azure regions
  • >2.1 million concurrent viewers (online HD streaming)

Olympics video:

Generic happy Olympics video here

Rick Cordella – NBC Sports (comes out to chat with Scott)

Scaling

  • All the way from lowest demand event—curling (poor Curling)
  • Like that Scott has to prompt this guy—”how important is this to NBC”?
  • Scott—”I’m glad it went well”

Just Scott again

Virtual Machines

  • Can run both Windows and Linux machines
  • Visual Studio integration
    • Create, manage, destroy VMs from VS (smattering of applause)
  • Capture VM images with multiple storage drives
    • Then create VM instances from that capture
  • VM configuration
    • Use frameworks like Puppet, Chef, Powershell
    • Use modules to set various settings
    • Deploy to Puppet Master or Chef Server
    • Spin up server farm and deploy/manage using this master server

Mark Russinovich – Technical Fellow

Demo of creating VM from Visual Studio

  • Create VM
    • Deploy into existing cloud service
    • Pick storage account
    • Configure network ports
  • Debug VMs from Visual Studio on desktop
    • E.g. Client & web service
    • Switch to VM running web service
    • Set breakpoint in web service
    • Connect VS to machine in cloud
    • Enable debugging on VM
    • Rt-click on VM, Attach Debugger, pick process
    • Hit breakpoint, on running (live) service
  • This is great stuff..
  • Create copy of VM with multiple data disks
    • Save-AzureVMImage cmdlet => capture to VM image
    • Then provision new instance from previous VM image
    • Very fast to provision new VM—based on simple Powershell cmd
  • Integration with CM, e.g. Puppet
    • Create Puppet Masters from VM
    • Puppet Labs | Puppet Enterprise server template when creating VM
    • Create client and install Puppet Enterprise Agent into new client VM; point it to puppet master
  • Deploying code into VMs from Puppet Master – Luke Kanies (Puppet Labs)

Luke Kanies – CEO, Puppet Labs

Puppet works on virtually any type of device

  • Tens of millions of machines managed by Puppet
  • Clients: NASA, GitHub, Intel, MBNA, et al

Example of how Puppet works

Puppet demo

  • Puppet module, attach to machines from enterprise console
  • Deploy using this module
  • Goal is to get speed of configuration as fast as creation of VMs

Daniel Spurling – Getty Images

How is this (Azure) being used at Getty?

  • New way for consumer market to use images for non-commercial use
  • The technology has to scale, to support “massive content flow”
  • They uses Azure & Puppet
  • Puppet – automation & configuration management
  • Burst from their data center to external cloud (Azure only for extra traffic)?

Back to Scott Guthrie

Summary of IaaS stuff:

Also provide pre-built services and runtime environments (PaaS)

  • Focus on application and not infrastructure
  • Azure handles patching, load balancing, autoscale

Web functionality

  • Azure Web Sites

  • Push any type of application into web site
  • AutoScale—as load increases, Azure automatically scales
    • Handle large spikes
    • When traffic drops, it automatically scales back down
    • You save money
  • Staging support
    • Don’t want site in intermediate state, i.e. always available
    • Create Staging version of web app
    • Used for testing
    • Once tested, you push single command (Swap), rotate Production/Staging
    • Old Production still there, in case something went wrong
  • WebJobs
    • Run background tasks that aren’t HTTP response threads
    • Common thing—queue processing
    • So user response better because you just submit task to queue, then later process it
    • WebJobs—in same VM as web site
  • Traffic Manager
    • Intelligent customer routing
    • Spin up multiple instances of site across multiple regions
    • Single DNS entry
    • Automatically route to appropriate geographic location
    • If there’s a problem with one region, it automatically fails over to other regions
    • For VMs, Cloud Services, and Web Sites

Demo – Mads Kristensen

Mads Kristensen

ASP.NET application demo

  • PowerShell editor in Visual Studio
  • Example—simple site with some animated GIFs (ClipMeme)
  • One way to do this—from within Browser development tools, change CSS, then replicate in VS
  • Now—do change in Visual Studio
    • It automatically syncs with dev tools in browser
    • BrowserLink
  • Works for any browser
  • If you change in browser tools in one browser, it gets automatically replicated in VS & other tools
  • Put Chrome in design mode
    • As you hover, VS goes to the proper spot in the content
    • Make change in browser and it’s automatically synched back to VS
  • Example of editing some AngularJS
  • Publish – to Staging
    • Publishes just changes
    • “-staging” as part of URL (is this configurable? Or can external users hit staging version of site)
  • Then Swap when you’re ready to officially publish
    • Staging stuff over to production
  • WebJobs
    • Run background task in same context as web site
    • Section in Azure listing them
    • Build as simple C# console app
    • Associate this WebJob with a web site
    • In Web app in VS, associate to WebJob
    • Dashboard shows invocation of WebJob, with return values (input, output, call stack)
    • (No applause??)
  • Traffic Manager
    • Performance / Round Robin / Failover
    • Failover—primary node and secondary node
    • Pick endpoints
    • Web site says “you are being served from West US”—shows that we hit appropriate region

Back to Scott

Summary of Web stuff:

SSL

  • Including SSL cert with every web site instance (don’t have to pay Verisign)

ASP.NET MVC 5.1

Every Azure customer gets 10 free web sites

Mobile Services

  • Develop backends with .NET or Node.js
  • Can connect to any type of device
  • Data stores supported: Table Storage, SQL Database, Mongo DB (No SQL)
  • Can push messages to devices
    • Notification hubs – single message to notification hub, then broadcast to devices
  • Authentication options
    • Facebook, Google, now Active Directory
    • Uses standard OAuth token – use to authenticate on your service
    • Can use same token to access Office 365 APIs
    • Works with any device (iOS, Windows, Android)

Yavor Georgiev

Demo – Mobile Services

Mobile Service demo

  • New template for Mobile Service (any .NET language)
  • Built on Web API
  • E.g. ToDoItem and ToDoItemController
  • Supports local development
  • Test client in browser
  • Local / Remote debugging work with Mobile Services

Demo – building app to report problem with Facilities

  • FacilityRequest app
  • Using Entity Framework code-first with SQL database
  • Mobile Services Table Controller
  • Derives from TableController<T>
  • Add authentication to API by adding attribute to controller (assume service already supports Active Directory)
  • Publish – deploy to service
  • App logic put in portable class library – can use on a variety of platforms
  • Authentication
    • Use Active Directory authent library—gives you standard login user experience
    • After login, pulls Active Directory assets into client
  • Can integrate to SharePoint
    • Call out to Office 365 via REST API
    • SharePointProvider

Another great Microsoft demo line: “it’s just that easy”

More demo, Xamarin

  • Portable library, reuse with Xamarin
  • iOS project in Visual Studio
  • Run iPhone simulator from iOS
  • Switch to paired Mac
  • Same app on iOS, using portable class library

Yavor has clearly memorized his presentation—nice job, but a bit mechanical

Back to Scott alone

Azure Active Directory service

  • Active Directory in the cloud
  • Can synch with on premises Active Directory
  • Single sign-on with enterprise credentials
  • Then reuse token with Office 365 stuff

Grant Peterson – CTO, DocuSign

Demo – DocuSign

  • Service built entirely on Microsoft stack (SQL Server, C#, .NET, IIS)
  • Take THAT, iPhone app!
  • 3,000,000 downloads on iPhone so far
  • Can now authenticate with Active Directory

  • Then can send a document, etc.
  • Pull document up from SharePoint, on iPhone, and sign the document
  • He draws signature into document

  • Then saves doc back to     SharePoint
  • His code sample shows that he’s doing Objective C, not C#/Xamarin

Back to Scott

  • Scott confirms—you can use Objective C and have Active Directory API
    • iOS, Android SDK

  • Offline Data Sync !
  • Kindle support

Azure – Data

  • SQL Database – >1,000,000 databases now hosted

SQL Server improvements

  • Increasing DB size to 500GB (from 150GB)
  • New 99.95% SLA
  • Self service restore
    • Oops, if you accidentally delete data
    • Previously, you had to go to your backups
    • Now—automatic backups
    • You can automatically rollback based on clock time
    • 31 days of backups
    • Wow !
    • Built-in feature, just there
  • Active geo replication
    • Run in multiple regions
    • Can automatically replicate
    • Can have multiple secondaries in read-only
    • You can initiate failover to secondary region
    • Multiple regions at least 500 miles away
    • Data hosted in Europe stays in Europe (what happens in Brussels STAYS in Brussels)
  • HDInsight
    • Big data analytics
    • Hadoop 2.2, .NET 4.5
    • I love saying “Hadoop”

Let’s talk now about tools

.NET improvements – Language – Roslyn

Anders Hejlsberg – Technical Fellow


Roslyn

  • Compiler exposed as full API
  • C#/VB compilers now written in C# and VB (huh? VB compiler really written in VB??)

Demo – C# 6.0

  • Static usings
    • You type “using Math”
    • IDE suggests re-factoring to remove type name after we’ve adding using
  • Roslyn helps us see preview of re-factored code
  • Can rename methods, it checks validity of name

Announcement – open-sourcing entire Roslyn project

  • Roslyn.codeplex.com
  • Looking at source code—a portion of the source code for the C# compiler
  • Anders publishes Roslyn live, on stage ! (that’s classy)

Demo – use Roslyn to implement a new language feature

  • E.g. French-quoted string literals
  • Lexer – tokenizing source code
  • ScanStringLiteral implementation, add code for new quote character
  • That’s incredibly slick..
  • Then launch 2nd instance of Visual Studio, running modified compiler
  • Holy crap
  • Re-factoring also automatically picks up new language feature

Can now use Roslyn compilers on other platforms

Miguel de Icaza – CTO, Xamarin



Demo – Xamarin Studio

  • Xamarin Studio can switch to use runtime with Roslyn compiler
  • E.g. pick up compiler change that Anders just submitted to Codeplex

Miguel gives a C# t-shirt to Anders—that’s classic

Back to Scott

Open Source

  • .NET foundation – dotnetfoundation.org
  • All the Microsoft stuff that they’ve put out as open source

  • Xamarin contributing various libraries
  • This is good—Microsoft gradually more accepting of the open source movement/community

Two more announcements

New Azure Portal

  • Scott mentions DevOps (a good thing)
  • First look at Azure Management Portal
  • “Bold reimagining”

Bill Staples – Director of PM, Azure Application Platform


Azure start board

Some “parts” on here by default

  • Service health – map
  • Can I make this a bit smaller?
  • Blade – drilldown into selected object – breadcrumb or “journey”

  • Modern navigational structure
  • Number one request—more insight into billing

  • “You’re never going to be surprised by bills again”
  • Creating instances:

  • Browse instances

Demo – Set up DevOps lifecycle

  • Using same services that Visual Studio Online uses
  • Continuous deployment—new web site with project to deploy changes

  • Open in Visual Studio
  • Commit from Visual Studio—to local repository and repository in cloud
  • Drill down into commits and even individual files
  • Looking at source code from portal

  • Can do commits from here, with no locally installed tools
  • Can do diffs between commits
  • Auto build and deploy after commit
  • “Complete DevOps lifecycle in one experience”

DevOps stuff

  • Billing info for the web app
  • Aggregated view of operations for this “resource group”
  • Topology of app
  • Analytics

  • Webtests – measure experience from customer’s point of view

  • “Average response time that the customer is enjoying”
  • Can re-scale up to Medium without re-deploying (finally!)

  • Database monitoring
  • I just have to say, that this monitoring stuff is just fantastic—all of the stuff that I was afraid I’ve have to build myself
  • Check Resource Group into source code – “Azure Resource Manager Preview”

PowerShell – Resource Management Service

  • Various templates that you can browse for various resource groups
  • E.g. Web Site w/SQL Database
  • Basically a JSON file—declarative description of the application
  • Can pass the database connection string from DB to web app
  • Very powerful stuff
  • Can combine these scripts with Puppet stuff

Azure portal on tablet, e.g. Surface

  • Or could put on big screen
  • Here’s the Office Developer site

  • Can see spike in page views, e.g. “what page was that”?

Azure Gallery:

“Amazing DevOps experience”

Back to Scott

Today

  • New portal
  • Resource Manager – single deployment of a resource group
    • Can include IaaS and PaaS pieces
  • Visual Studio Online general availability

Get started – azure.microsoft.com

Steve Guggenheimer – Corp VP & Chief Evangelist, Microsoft


Dialog starts with type of app and devices

Areas of feedback

  • Help me support existing investments
  • Cloud and Mobile first development
  • Maximize business opportunities across platforms

Should at least be very easy to work with “common core”:

“All or none”? — not the case

John Shewchuk – Technical Fellow


 

Support existing technologies

  • Desktop Apps
    • WinRT, WPF (e.g. Morgan Stanley)
    • Still going to build these apps in WPF

Demo – Typical App, Dental thing

  • Standard WPF app
  • Notice appointments in Office 365 for dentist
  • Active Directory in cloud is one of the big enablers
    • Full access to users’ calendar
    • Set ClientID GUID to hook application to Active Directory
  • WPF app that talks to Office 365 calendar service

New Office 365 APIs:

 

Demo – VB6 app – Sales Agent

  • VB6 App to Win Forms app
  • WebMap 2 transformation – UI projected out as HTML5
    • Win Forms form running as HTML5
  • Then move same app to phone

Internet of Things:

 

Demo of Flight app for pilots, running on Surface:


  • Value is—the combination of new devices, connecting to existing system

AutoDesk:

  • Building complimentary set of services

Flipboard on Windows 8

  • Already had good web properties working with HTML5
  • Created hybrid app, good native experience
  • Brought app to phone (technology preview)

  • Nokia 520, Flipboard fast on cheap/simple phone (uses DirectX)

Foursquare – tablet and Windows Phone app

  • Win Phone Silverlight 8.1
  • Geofences, little program packaged with app
    • Run operation goes to see nearby venues
    • E.g. Person goes to a geo location and live tile for Foursquare app pops up content

App showing pressure on foot – Heapsylon Sensoria socks

John Gruber – Daring Fireball

  • Video – partnership

  • Vesper – Notes app
  • Using Mobile Services on Azure
  • Wow—we’ve got John Gruber evangelizing about Windows? Whoda-thunkit!

Gobbler – service for musicians and other “Creatives”

  • Video

  • Communication between musicians and collaborator
  • DJ/Musician – sending files back and forth without managing data themselves
  • Everything on Azure – “everything that we needed was already there”

Gaming – PC gaming, cloud assistance

  • Destroying building, 3D real-time modeling
  • Frame rate drops
  • Overwhelms local machine (even high-end gaming gear)
  • But then run the same app and use cloud and multiple devices to do cloud computation
  • Keep frame rate high
  • Computation on cloud, rendering on client (PC)

Cloud-assist on wargaming game on PC:

Demo – WebGL in IE, but on phone:

Babylon library (Oculus):

  • Oculus rift, on PC, WebGL
  • Running at 200Hz

Cross-platform, starting in Windows family, then spreading out

  • Fire breathing with a 24 GoPro array
  • Video

  • Not really clear what’s going on here.. Skiing, guy with tiger, etc.
  • What’s the connection to XBox One and Windows 8?
  • Ok, In App purchases ?

Doodle God 2 on XBox:

  • Also running on PC
  • C++ / DirectX
  • Same set of files, running on Phone, XBox, PC
    • Just a couple of minor #ifdefs
  • Take an existing investment and spread it across multiple environments
  • Use cloud to connect various aspects of game together

Partnership with Oracle, Java in Azure

  • Demo in Azure portal
  • Click Java version in web site settings
  • Java “incredibly turnkey”

Accela demo

  • They want to create app powered by Accela data
  • Split out pieces of URL
    • data – from azure-mobile.net
    • news – elsewhere
    • etc
  • Common identity across many services
  • Code is out on codeplex
  • Application Request Routing (ARR)

Make something in Store available as both web site and app

  • New tool – App Studio – copy web site, expose as App
    • Then drop app into Store
  • App Studio produces Web App template
    • Driven by JSON config file
  • Challenges in wrapping a web site
    • What do you do when there is no network?
    • App just gets big 404 error
    • But you want app responsive both online and offline
  • New feature – offline section in Web App template
    • useSuperCache = true
    • Store data locally
    • Things loaded into local cache
    • THEN unplug from network
    • Then fully offline, but you can still move around in app, locally cached
  • Do the same thing, app on Windows phone
    • Dev has done some responsive layout stuff
  • Then Android device
    • Same web app runs here

Zoopla app on Windows Phone

  • Can easily take web content, bring to mobile app
  • Include offline

Xamarin – Bring Windows app onto iPad

  • Windows Universal project
  • Runs on iPad, looks like Win 8 app with hub, etc.
  • Also running on Android tablet
  • How is this working? HTML5?

Stuff available on iOS and Android:

All done!

 

 

 

 

 

 

 

BUILD 2014 – Day 1 Keynote

BUILD 2014, San Francisco
Keynote 1 – Joe Belfiore, Nick Hedderman, David Treadwell, Kirk Koenigsbauer, Harry Pierson, Terry Myerson, Stephen Elop, Satya Nadella

Day 1, 2 Apr 2014, 8:30AM-11:30AM

Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.

… missing content, due to Livestream being unavailable at start of Keynote …

Belfiore is showing off Cortana


Love that Joe is struggling to get Cortana to recognize his voice.. “Vagaries of a service that’s alive”

Future of Halo game? Cortana says sorry, you don’t have access to that info

Pretty sure that was a canned response

Love that Cortana is being sold as a “she”—competing with Siri, clearly. And targeting young white techie males and guys who enjoyed the movie “Her”

Nice that they talked to “real-world personal assistants”

People reminder

The next time I talk to so-and-so, ask her about her puppy.

  • But will the phone chirp in and say this out loud?

Using Cortana to tell Hulu to add something to his queue

  • Natural language

“What’s up with Terry”?

Cortana was on the Tonight Show?

Cortana is the first truly personal digital assistant

 

Nick Hedderman – Windows Phone 8.1

Various interesting things ..

Joe Belfiore

Joe is back, joining Nick.. 11:12am

Summary

  • Added various abilities
  • Partner ecosystem
  • Windows experience comes to life across variety of devices
  • Windows Phone is the right choice for business

Joe – Features Added to Windows Phone 8.1

Quick sampling of features put in to make you smile

Enhancements to Store experience

  • Happier finding apps

Pan left—”FOR YOU” area with recommendations

Also quick links, e.g. “New and Rising Apps”

 

Next—new calendar

  • Swipe to right to get to next day

For developers, have reimplemented using the public dev API only

 

Improve basic performance of Windows Phone

  • WiFi Sense – Suggest “good” WiFi spots

Can automatically sign-in without user intervention

Another scenario

  • Having to give friends your WiFi password
  • You can securely share your WiFi password with your friends
  • WiFi Sense Service lets them sign into hotspot, gives them access only to Internet
  • Don’t have to tell them the password

His sister calls:

Ahh, Cortana says—ask her about her new puppy.

Can elevate to Skype call

Nicely scripted—funny—”your new puppy is beautiful”.

Joe’s favorite feature in Windows Phone 8.1

  • Enhancements to WordFlow keyboard
  • Learns what you type
  • Much better in Win Phone 8.1
  • Addition of shape writing

Wow—incredibly fast


Outrageously fast typing, actually.

Here’s a video showing use of the keyboard, world record for typing on phone keyboard.

  • Beating Galaxy S4

WordFlow keyboard is now world-record holder for fastest typing on a smart phone.

 

How does Win Phone 8.1 work with Windows?

  • Auto upload to OneDrive (oops—started to say SkyDrive—laughter)

Settings

  • Password for WiFi shared
  • Theme color, etc.
  • IE11, now part of Win Phone 8.1
    • New reading mode

“Many, many delighters”

When will people get Win Phone 8.1?

  • Update in next few months to consumers
  • Pre-installed on new phones, starting in late-April
  • Will hear more about new phones later
  • David Treadwell will have something for you (in audience)

Love Joe’s red shoes

Windows 8.1 Update

  • On desktop, focus on mouse/keyboard
  • Boot/resume straight to desktop

Bing showing things that he told Cortana about

Enterprise Mode in IE11

  • Change user agent string et. al. to mimic IE 8, for legacy sites
  • IT managers can set list of sites that should auto-trigger this setting in IE11
  • Mix of modern rendering for new sites, older rendering within enterprise
  • Easier story for deploying on PCs in enterprise

UI improvements for mouse/keyboard

  • Taskbar
    • Have Title bar, Minimize icon in Modern apps (at least he didn’t say “Metro”)
    • Switch between Modern apps and Win 32
    • Same switching model for all apps
    • Polite applause
    • “Work that we did to make touch great is unaffected by these changes”

  • Start screen
    • PC Settings tile
    • Power button (the death of Charms?)
    • Right-click context menu: Unpin from Start, etc. (Microsoft is going back to these familiar paradigms, kicking and screaming)

Pre-pinning Store app to Taskbar

  • Likely because some users never found the Store app


When people search, make your apps more prominent—i.e. apps in Store show up in Search

New apps highlighted now in the All Apps list

Update will be available 8-Apr

“Windows 8.1 Update”

Have a terrific BUILD conference

Cortana introduces David

 

David Treadwell – Corp VP, Operating Systems Group

What we’re doing for developers in OS, tools, etc.

  • David has been at Microsoft for 25 year

  • Wrote Sockets layer for Windows NT

  • David describer driver architecture to prove he’s got “dev chops”
  • “Another freaking driver” (probably he said something else)
  • WinSock.dll and driver’s name became “AFD” (Another Freaking Driver)
  • Wow, this is going long
  • He named it the “Ancillary Function Driver”
  • To this day, afd.sys
  • Geez, that was a long joke

Three main areas where we’re listening to you as developers

  • Some secondary audio track is kicking in here
  • So I missed this, grr.

We all want same app experiences across all devices

Introducing Universal Windows apps

Use common code across phones, tablets, desktops

  • First in industry to make it easy to build apps across all these devices

User Interface

  • One app running across all form factors; should adapt GUI automatically
  • Adapt one design across devices
  • Tailor experience to the form factor

  • Bulk of the code is the same across all devices

App Model

  • Based on Windows Runtime

  • Use the programming language that you love

Kevin Gallo – Visual Studio

Is “Universal App” taken from iOS? I.e. iPhone/iPad

Visual Studio demo

  • Windows Phone 8.1 target
  • Kevin should talk to Hanselman about how to zoom in on app during a demo

Code moved into shared project, including XAML

Hub control is universal control

  • So you can use it for all devices, e.g. Phone, PC

Ignore warnings, “like most of you probably do as well” – big laugh

Hmm, does Win Phone emulator crash Office 365 for him as well?

Need to now tune app for the device

  • And add device-specific features
  • Different user controls for various views

This is the part where the journalists/bloggers doze off and the devs sit up and take notice

Diagnostics:

Quickly switch context to another device:

Two key features

  • Build Universal Apps
  • Share some/all code and do tuning per-device

 

Dave Treadwell is back

Have streamlined the Store experience around Universal Apps

  • Shared App identities
  • Can buy just one app for multiple platforms
  • Universal App badge to indicate that experience is the same across devices
  • “Host of other improvements”
  • Submitting apps to Store is 50x faster (what does this mean? Process?)

 

Let’s take a look at Cortana in Visual Studio 2013

  • Sorry Dave, I can’t do that
  • Another poor joke

 

Kirk Koenigsbauer – Corp VP, Office

Bring forward Office experience to Modern platform

Open a file and open a document.

“Unmistakenly Office experience”

  • Touch-first Ribbon

Every document should open flawlessly on any platform

  • Includes Smart Art, text, graphics, etc.
  • Full fidelity of Office experience

Blazingly fast

  • Built on DirectX

Editing

  • Touchpoints on Ribbon are big

Automatically constantly saving to OneDrive in cloud

  • Unlimited Undo via unlimited versions

Presentation mode, transition effects:

 

Inking with finger:

 

Taking advantage of Windows Runtime

  • Look at same application on Phone (as what was on tablet)

Phones, tablets, PCs, large screens

 

Dave again


We’ve added hundreds of new features to Win Phone 8.1:

What it means for existing Win Phone apps

  • Silverlight Phone 8.0 apps will continue to run
  • Update to Silverlight Phone 8.1 app to get new features
  • Or migrate to Universal Windows App

App voice commands powered by Cortana:

Love it when the stream stutters: “The power of Cortana, power of Cortana, power of Cortana”

Another speech recognition demo

New tweet, hashtag cortana hashtag awesome

“Well, we were close”

Existing enterprise apps

  • Win 8.1 update, reuse more of your existing code

Harry Pierson – Operating Systems Group

Gosh, he doesn’t look like an Enterprise App developer

Let’s look at old enterprise app:

Windows tablets run Windows

  • This app runs on SQL Compact
  • Can run on x86 compatible tablet
  • But won’t be good user experience—since designed for keyboard/mouse
  • We want a touch-first version
  • But don’t want to throw away code

Brokered Components feature

  • Looking at code that interacts with database
  • New DLL for RT that runs old-style DLL in brokered mode
  • Underlying DLL has full access to Windows
  • For side-loaded apps only
  • Nice way to “cheat” Win RT constraints and get at old-style stuff like local data access, outside of WinRT

Every good Microsoft demo starts with the words “All I had to do”..

 

Dave Treadwell back

Third major theme of talk

  • How Windows enables cross-platform apps
  • We’re working hard to make cross-platform work better for everyone
  • Critical need in today’s world
  • “We want to help you with that”
  • We want to contribute to that world (of course you do)

Developers using Unity published 3,000 apps in 9 mos in Windows Store

  • ?

HTML/Web is one of the most important cross-platform technologies

  • Brought to phones
  • Access latest HTML5 stuff
  • E.g. WebGL – hardware-accelerated 3D graphics (no applause)
  • Media Source extensions, adaptive bit-rate streaming
  • As he said “streaming”, he stuttered
  • “Huge” for your productivity

HTML will continue to be big way to do cross-platform

Is he saying all of this to assure us that Miguel isn’t the complete king-of-the-hill now?

Web-based fish aquarium demo

  • 3D graphics benchmark
  • WebGL using hardware acceleration

Inline video playback:

WinJS:

  • Infrastructure for high-quality modern apps
  • Works alongside other Javascript libraries
  • Going cross-platform and open source

  • Open source under Apache 2.0 license
  • Is this Microsoft throwing WinJS into the recycling bin?

I showed you three things

  • Reach customers across multiple devices
  • You need to deliver apps/services on other platforms

Announcements

  • Win 8.1 update available today
  • Visual Studio 2013 update 2 RC available today
  • Win Phone 8.1 Dev preview – registered Win Phone app devs can download/install on their existing Win Phone 8 devices

 

Terry Myerson is back

Main feedback at BUILD—share your roadmap

  • What’s coming?

Here’s some stuff that’s coming in the future (not available today)

Universal apps on all Windows devices

  • What about TV?
  • Xbox is the best TV experience
  • Used on 80,000,000 televisions
  • XBox One – avg user is using 5 hrs/day (I know this guy)
  • We’ll do Universal Apps running on Xbox

Demo – educational content videos – Khan Academy

  • Have shown tablet and Win Phone
  • Now—XBox

Hmm, it just looks like the tablet (which is the point):

Shared code in shared part of project

I can use Visual Studio—just look at my hands!

Do these 5-hrs-a-day guys really want to run the Khan Academy app? Doubtful.

“One interaction model across platforms”

Kinect

  • At first, “hey pretty neat”
  • Took home, played games with kids
  • Whole new way of interacting with computer
  • Important to bring Kinect to PC—Kinect for Windows a while back
  • 400,000 active devs with Kinect (really?)

Today—Kinect v2 for Windows

  • Uses new sensor included in XBox One
  • Skeletal tracking, facial tracking, gesture recognition
  • Good in low light
  • Not just games

Two companies in video, using Kinect

  • Physical Therapy
  • “Freakin’ Genius”—bring art of animation to everyone

Umm, is this what we want?


To be honest, I don’t want my doctor using Kinect

Terry is back

  • “I really think you should explore this”
  • These cameras are going to become pervasive

Graphics

  • XBox One graphics are phenomenal

  • XBox has low-level control that allows access to this graphics technology

Make this technology available on every platform

  • Bring into DirectX 12 and bring DX12 onto every device
  • Same graphics platform on every device (he has to beg for applause at this point)

Looks like somebody just discovered parallel algorithms.

Asked Turn 10 Studios (Forza) to look at DX12 on PC

Forza on PC

 

Internet of Things

  • Oh crap, here it comes.
  • Intel’s Galileo board, with full x86 system-on-chip
  • “PC runs on something the size of an eraser”

Built step-on-floor piano using Galileo

  • “Piano that runs Windows”
  • See? This is why we don’t want/need the Internet of Things
  • Telnet into Piano (yikes)
  • Playing Heart and Soul by running an app

Attach debugger to piano

Joe B. dances on piano as debugger spits out Trace statements (so WHY did we do this)?

Things are connected to the Internet

  • Piano is feeding data back to Azure data service
  • Hey, Joe knows Heart and Soul. And he saw “Big”

“The devices that we are programming to are going to change”

10:40am

(Isn’t he 10 mins over at this point?)

 

Windows Desktop

  • “All in with this Desktop experience”
  • Universal Apps can run in a window

New Start Menu

Available to all Windows 8.1 users, as an update (audience actually GASPS)

When Windows for Internet of Things is available, it will be FREE


We’re officially watching an Infommercial

 

Free XBox One to everyone in the audience

BIG cheers. Oh wait, every geek in the audience already has one.

And a $500 g.c. for a new device.

Beliefs that guide as

  • We believe in natural user interface (gestures, voice)
  • We believe in Internet of Things
    • As screens get smaller, the cloud gets bigger
  • We believe in all of you (starting to feel like a Gary Cooper film)

 

Stephen Elop – Exec VP Nokia

“In just a few days or weeks”.. (joining Microsoft)

Spark is lit by Windows Phone 8.1

  • Nokia Lumia devices are best way to light up that experience
  • Existing Lumia devices get better with 8.1

I.e., All existing Win Phone 8 devices

  • E.g. Lumia 520 running Win Phone 8.1
    • Best phone at its price point
  • Lumia 1520 fully loaded with 8.1
  • Adding some extra colors in coming days

Introduce next generation of Lumia devices

  • Lumia 930

  • Build on/for Win Phone 8.1
  • Elegant
  • Vibrant new colors
  • 5″ full HD display, amazing readability

  • 20MP PureView camera; optical image stabilization
  • Zeiss optics
  • Creative Studio
    • Filters, sharing

  • Living Images, storyteller – video
    • Music in background
    • Mix of images and video
    • Share to social networks
  • Cinematic video experiences
    • 4 high-perf digital microphones
    • Surround sound capture
    • Or focus sound with directional stereo recording
  • Microsoft services well integrated into Lumia
    • OneDrive (Stephen’s a pro—he didn’t even come close to saying SkyDrive)
  • 2.2GHz SnapDragon 800 quad-core
    • “Just rocks”
  • Avail in June, in Europe, Asia
  • In US, focused on continuing with Icon
    • And 1520
    • Sad face, no US availability?!
  • Around $599 before subsidies

Lumia 630, 635

  • Uncompromised, lower price points
  • Five colors, changeable shells
  • 3G single SIM or 3G dual-SIM
  • 3 column, even on smaller screen

Dual-SIMM:

  • Separate call history (or you can merge them)
  • In Contacts, can specify which SIM to use for calling that person

Cortana available on all Win Phone 8.1 devices

  • Bringing Cortana to all price points

Equivalent of fitness band

  • Sensor Core – tracks motion/location

Nokia stuff

  • Nokia MixRadio
  • HERE Maps

Lumia 630, 635

  • QuadCore
  • First devices with Win Phone 8.1 – in May
  • Lots of operator support
  • In US by July
  • 640 3G single SIM: $159 ($169 dual-SIM) ($189 4G)

Two new SDKs

  • Imaging SDK 1.2
  • SensorCore SDK (motion-based apps)

 

11:07am

Satya Nadella – New CEO

Major applause

Where’s my Keynote?

Mobile-First, Cloud-First

Satya answering developer questions, gathered by Evangelism group

  • Will play and Satya will respond

Q: Android dev, wondering why he should build for Windows

A: We’re going to innovate with a challenger mindset

  • Every dimension—hardware, software
  • Bring IT, users, and devs together
  • Create “developer opportunity”
  • Opportunity for developers is expanding
  • Microsoft betting on this platform

 

Q: How will apps developed on MS platforms port to other platforms?

A: Make is possible for every dev to bring assets to other platforms

  • That’s the principle
  • APIs with language bindings across native/managed/web
  • Can build core libraries in language of choice and then move to other platforms
  • PhoneGap, Xamarin, Unity (this is key—not just Miguel, but this is the full set of partners)

 

Q: Stanford CS Major – What are you doing to compete against Apple and Google in tablets?

A: Apps as well as great price points

  • 8.1 update is big milestone
  • Tablets across full price range
  • Surface—continue to innovate the most productive tablet out there
  • Competitiveness—what is role of tablet in user’s “device family”
  • Consistency for user and consistency for developer, across devices
  • Want users to think about “Windows family of devices”

 

Q: UX Designer – Where do you see UX Design in 5 years?

A: Have come a long way with design and User Experience

  • Great team, doing awesome work (live tiles)!
  • Mentions Bill Buxton
  • Natural user interfaces—context—who/what/where/when defines UI
  • E.g. Speech is best interface for car

Q: Architect – How will MS support vendors in designing for Cloud?

A: Stay tuned, the Gu speaks tomorrow

  • What does it mean to build native Cloud app?
  • E.g. Back-end for Titanfall
  • Plan for Scale Out from Day 1
  • Middle-tier stateless
  • Hey, Cloud is what Satya knows best!
  • Message passing between public/private clouds
  • Important to understand the platform
  • Tooling, samples, etc.

Q: Avoid having to relearn for each product?

A: For sure

  • Universal App is first step in this direction
  • 90% of the APIs are now consistent between phone/tablet/PC
  • We’re fixing it
  • Pretty big focus for us

Q: What is the plan to deal with latency in the cloud?

A: It’s a big issue

  • Speed-of-light issues
  • Need to design your apps for it
  • We’re doing a lot in this area
  • Data Centers
  • 1 Billion users on any given day
  • Caching storage
  • Improve latency
  • Lots of networking infrastructure
  • Geo-distributed apps

Q: How can Microsoft help startups?

A: Important to us

  • Look at BizSpark
  • Accelerators
  • Great to be engaged with startups from early point

Q: What is Microsoft’s main Vision, going forward?

A: Thrive in this word of mobile-first, cloud-first

  • Ubiquitous computing
  • Machine learning, HCI, etc.
  • Goal is to build platforms, create best end-user experience
  • And IT infrastructure

Cortana asks: will you become “Master Chief Executive Officer”?

Cortana: Would you like exit music?