TechEd NA 2014 – ASP.NET: Building Web Applications Using ASP.NET and Visual Studio

TechEd North America 2014, Houston
ASP.NET: Building Web Applications Using ASP.NET and Visual Studio – Scott Hanselman, Scott Hunter
(Calling themselves — The “Lesser” Scotts, in a very gracious nod to the greatness of Scott Guthrie)

Day 1, 12 May 2014, 3:00PM-4:15PM (DEV-B213)

Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 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 either Microsoft, the presenters or the speakers.

Executive Summary—Sean’s takeaways

  • “One ASP.NET” initiative
    • Can mix and match technologies
    • Don’t have to make the “right” choice when doing File|New
  • In general, lots of great new features in ASP.NET, like:
    • New Identity system, with two-factor authentication
    • Azure Server Explorer in Visual Studio
    • Browser Link, pushing browser-based changes back into Visual Studio
    • Async in Entity Framework
  • Coming soon
    • Project template support for 3rd party libraries like Angular

Full video

Scott Hanselman / Scott Hunter

Hanselman now doing new video podcast – Friday.azure.com – small 10 min podcasts w/devs from Azure team

ASP.NET and Web Tools, Visual Studio 2013.2

ASP.NET vs. Web Tools

  • ASP.NET – think of GAC

One ASP.NET

  • Sites / Services
  • Sites
    • Web Forms
    • Web Pages
    • Single Page Apps
    • MVC
  • Services
    • Web API
    • SignalR
  • All on top of ASP.NET

You don’t have to choose up front (File | New)

  • Can add stuff later, e.g. MVC, Web API
  • E.g. add MVC controller to Web Forms

MVP program changed

  • Old: loudest, wrote most books, blogs
  • Now: Can be MVP based solely on open source contributions

Cadence – every 6 mos

Fall 2014 – Focus – Modern Web

  • Support for various 3rd party .js libraries
  • E.g. jQuery, Angular
  • Will support all these within project templates

From Web Tools “Labs”

  • Release every 2 mos
  • Web Essentials (VS extension)
  • Vswebessentials.com

New stuff, Oct 2013

  • General
    • New Identity system
    • Templates based on Bootstrap **
  • One ASP.NET
    • One single project
  • Azure SDK
    • Azure Server Explorer – Azure features from within VS
  • Web API
    • CORs
    • Attribute Routing – brings routing into controller
  • MVC
    • Attribute Routing
  • Entity Framework
    • Async, Stored Procs, Resiliency
    • Azync – will be faster ** very important, available across sub-systems
      • E.g. avoid blocking calls by doing async when doing network access
      • User doesn’t know, code doesn’t know
  • Visual Studio
    • New HTML Editor
    • Live Browser Link + Extensibility
    • AngularJS Class Intellisense (and Bootstrap)

May 2014

  • One ASP.NET
    • Scaffolding
    • Two-factor Auth
    • Account lockout, confirmation, reset, et.c
  • SignalR
    • Xamarin, No jQuery, Android
  • Web API
    • BSON formatter (binary JSON)
    • Improved attribute routing
  • MVC
    • Better bootstrap scaffolding
  • Entity Framework
    • EF Power Tools
    • Reverse engineer DB to Code First

Roslyn

  • New language features
  • Code analysis, custom diagnostics

ASP.NET CodeDOM provider

  • Use new features in ASP.NET applications
  • Improve startup time for large applications

Azure stack

  • Azure Storage
  • VMs (IaaS)
  • Worker Roles

Web Sites vs. Virtual Machines

  • VMs – You manage it – IaaS
  • Web Sites – PaaS

Bitly.com/TECHED2014WebTools

TechEd NA 2014 – Building Highly Available and Scalable Applications in Microsoft Azure

TechEd North America 2014, Houston
Building Highly Available and Scalable Applications in Microsoft Azure – Stephen Malone, Narayan Annamalai

Day 1, 12 May 2014, 1:15PM-2:30PM (DEV-B311)

Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 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 either Microsoft, the presenters or the speakers.

Executive Summary—Sean’s takeaways

  • Azure Traffic Manager
    • Routes to appropriate region, depending on where user is located
    • Automatic failover, if region goes down
    • Configure things using Powershell
    • Can now include non-Azure endpoints in policy
  • Use PaaS when you can, IaaS when you have to
  • Lots of flexibility when creating/configuring virtual networks

Full video

Stephen Malone – Program Manager, Microsoft

Why Microsoft / Azure

  • Global footprint

Azure Network Stack

  • Network is glue that binds everything together for scale
  • Main building blocks that allow you to build scalable, secure services
  • Layers: Network services, Core SDN etc.

02

Azure Traffic Manager

  • Intelligent customer routing
  • Load balancing policies (profile types)
    • Performance – Direct user to closest service (based on latency)
    • Round-robin – Distribute equally
    • Failover – Direct to backup service if primary fails (also happens with other policies)

Automated failure detection and re-direction

  • Users hit servers in their own region
  • Service health monitoring
    • If something stops responding
    • Azure Traffic Manager automatically detects and re-routes user to “next best” service

03

How Azure Traffic Manager work?

  • DNS based global traffic management
  • Traffic Manager profile created with name, routing policy, and health monitoring configuration
  • Your domain name
  • CNAME to xxx.trafficmanager.net
  • Load-balancing, endpoint monitoring
  • Service instances (endpoints) added to Traffic Manager …

04

How it works

  • DNS look for web site you need
  • Name server for your name indicates that it’s CNAME
  • Hits DNS Server for traffic manager, with Policy Engine
  • Then to Traffic Manager

E.g. If there are three sites

  • Traffic Manager makes use of your particular policy (e.g. pick nearest service)
  • Then site picked and IP returned to client

05

New support for External Endpoints

  • Now support for non-Azure endpoints for all traffic manager policies
  • Full support for
    • Automated monitoring
    • Failure detection
    • End-user re-direction
  • Include endpoints from different Azure subscriptions in the same policy
  • Add redundancy for your on-premises service using Azure Traffic Manager
    • Great way to try out Azure – as backup
  • Include on-premises endpoints as scale units to achieve greater scale
    • Or as additional geo locations to improve performance for your end users
  • Enables burst to cloud scenarios transparently to end-user
    • Also can auto scale up within a region

Demo – External Endpoints

  • Create a new profile in Powershell
  • Then add endpoint to profile (e.g. U.S.)
  • Different domain name (e.g. mycompanyus.cloudapp.net or mycompanyeu.cloudapp.net)
  • Then show adding an external endpoint

Narayan Annamalai – Senior Program Manager, Azure

  • Will talk about how we can help you to scale

Build to scale

  • Regional Virtual Networks
    • Really picking up now

Virtual Network

  • Logical isolation with control over network
  • Create subnets with your private IP addresses
  • Stable and persistent private IP addresses
  • Bring your own DNS
  • Use Azure-provided DNS
    • VMs can register themselves with this DNS
  • Secure VMs with input endpoint ACLs

Typical multi-tier services

  • Composed of various services
  • They are interconnected, certain services having to talk to certain others

07

How you use

  • You can pick IP addresses for your VMs, within a virtual subnet that you create

Isolated and connected

  • Internet portal into one public IP
  • Then customer virtual network that acts as a private network
  • “Isolated private channel”
  • Use PaaS when you can; use IaaS when you have to
  • PaaS gives you some additional services (like auto-scaling)
  • All of these services can be part of the same virtual network
    • Brings IaaS and PaaS together

Regional scope

  • VNET spans to an entire region
  • Fully connected private and isolated network across datacenters
  • New services requiring specific SKUs A8, A9 can be added to same VNet –
    • Seamless expansion
  • Previously, VNet had to be within a single scale unit
  • Now, VNet can include multiple SKUs (in terms of scale)

Inter connected VNets

  • VNets can be connected thru secure Azure gateways
  • VNets can be in different subscriptions
  • VNets in same or across regions can be connected

Connecting to Multiple Sites

  • Multiple site-to-site connections
  • Multiple on-premises sites connect to same VNet
  • Sites may be geographically dispersed

Public facing Services

  • Every cloud service given public IP address (VIP) from Azure’s pool of address
  • Virtual machines, Web/Worker roles in cloud service can be accessed thru VIP using endpoints
  • Azure provides load balancing at no charge

Create endpoints

  • E.g. open port 80, run two instances behind it

Public Endpoint Access Control Lists

  • Can whitelist IPs, subnets, etc.
  • Can allow or deny various IPs

Internal load balancing (preview)

  • Load balancing between VMs w/o public facing endpoints
  • Two flavors
    • Private load balancing within cloud service
    • Or within VNet
  • Multi-tier applications with internal facing tiers require load balancing
    • Middle tier, DB backend not exposed to Internet
    • Load-balanced endpoints exposed only to CorpNet
    • Sharepoint, LOB Apps

Scenario – LOB Apps

  • Private, Sharepoint accessible from other VNets

IP reservation

  • Today, you get VIP assigned by Azure
  • When you re-deploy, you get different IP
  • Now, IP reservation
    • Reserve public IP addresses
    • Customers can own IP addresses and assign them to cloud services
    • Reserved IP can be used on any cloud service on the region
    • Current IP address on existing service can be reserved as well
    • Reserved IPs are customers to keep
  • Why do you need it?
    • Your service might talk to an external service that needs to be configured to whitelist your service
    • So your IP needs to remain static so that whitelist still works

Instance level public IPs (Preview)

  • Today, every cloud service gets VIP assigned by Azure
  • You must map from public VIP to port on VM for internal server
  • Now – Instance-level Public IPs
    • Assign public IPs to VMs
    • Direct reachability to VM, no endpoint required
    • Public IP used as the outgoing IP address
    • Enables scenarios like FTP services, external monitoring, etc.

Demo – Create VNet, etc.

  • Powershell very powerful when doing things on Azure
  • Some functions not available yet on portal, must use Powershell
  • Start with: Get-AzurePublishSettingsFile
  • Set-AzureVNetConfig
  • Reserve IP
    • New-AzureReservedIP, define by name
    • Then Get-AzureReservedIP – by name
  • Creating specific web sites (VMs)
  • Create VM on a specific Vmnet

TechEd NA 2014 – Create Applications that Span Devices and Services

TechEd North America 2014, Houston
The Microsoft Development Platform: Create Applications that Span Devices and Services – Scott Hanselman 

Day 1, 12 May 2014, 11:00AM-12:00PM (FDN05)

Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 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 either Microsoft, the presenters or the speakers.

Executive Summary—Sean’s takeaways

  • For developers, we need to focus on Cloud + Mobile
  • Very easy to debug/test using Azure
    • Attach Visual Studio debugger to web app running in Azure
  • Microsoft Azure Mobile Services – turnkey back-end solution for mobile apps
  • Modular focus – ability to pick the stuff you want, leave the stuff behind that you don’t
    • Choice
    • “Bring your own” – platform, tools, framework
  • Cross-platform – use Xamarin to get breadth
    • Lots of code reuse across platforms
    • Tools help you with this
  • Native vs. Web app
    • Native is best experience
    • Web app is “shortest path”

Full video

Scott Hanselman – Microsoft

Scott

What we are hearing from you

  • Devs more important than ever
  • Cross-platform required

Hearing

Developer needs

  • Optimize for cloud / devices
  • Hybrid

Today’s Cloud/Mobile

Cloud scenarios

Dev & Test in the cloud

  • Old world—process took couple week
  • Plug stuff into Azure

Demo – VMs

03

VM demo

  • Private network
  • Can quickly fire up VM in virtual network
  • Fire up Win 7 VMs in Azure for dev/test
  • Can VPN into VM in cloud
  • Remote into the machine
  • E.g. testing WPF app on Win 7 VM

Back in Visual Studio – Rt-click, Enable Debugging

  • Attach, set breakpoint
  • Back in VM, exercise app
  • Complete remote debugging session in Visual Studio
  • You only pay for VM while it’s provisioned

04

Web Apps in the cloud

  • Standards based
  • Highly interactive apps
  • Enterprise complexity

Browse With – various browsers

  • Can push Refresh out to multiple browsers
  • Ctrl-Design, hover around browser
  • Modify in Design mode in browser, updated in real-time in code
  • Browser Link

File New project, host in web

Hybrid Apps

  • Maybe want parts of an app on the public internet, part in private network
  • BizTalk Hybrid Connections (preview)
  • Also
    • Virtual network et al

BizTalk Hybrid Connections

  • Tunnel to corp network to get resources

Demo – Hybrid Connections

  • Web site is connection to a specific host (HP laptop)
  • E.g. connection string is hooked to the local machine
  • Service on local machine – Hybrid Connection Manager

Mobile Apps in the cloud

  • Microsoft Azure Mobile Services
  • Back-end API running in cloud
  • Turnkey backend for Mobile Services
  • Extend internal web apps to mobile devices
  • Powerful client-side library for multiple devices
  • Offline sync support
  • Available on any platform

Demo – Managing web API on Azure

  • Supports JSON and .NET APIs
  • Postman, Chrome extension – RESTful client

Web API in Azure:

Using Postman to test Mobile Service Web API:

Future of .NET

  • .NET vNext
  • Multi-purpose
    • Client –
  • Specialized
    • Device optimized – for client
    • Web and service – Cloud optimized
  • Side by side compatibility, each app has its own version of the CLR
    • Break apart Framework, just use the parts that you need
    • Small footprint
  • Common stuff
    • “Entity Framework” everywhere
    • All open source and all in .NET Foundation

ASP.NET vNext and the Modern Web

  • Modular – swap out stuff you don’t like
  • Seamless transition from on-premises to cloud
  • Open Source with Contributions
  • Faster development cycle
  • Choose Editors and Tools
  • Cross-platform


New project, ASP.NET vNext application

  • Nested references, can pull stuff out
  • Project system changing
    • Unified Nugets and References
    • Bring in packages by just typing
  • Run the app
  • Go into controller – C# code
    • Just type in code, don’t do build step, then refresh browser and stuff changes
  • No DLLs in \bin folder
  • With Roslyn, just do everything in memory, doesn’t store bits to DLL
    • Code/refresh/repeat
  • Pick specific packages in NuGet that you want
    • As opposed to installing .NET on local machine
    • Makes it easier to try new stuff without breaking old apps
  • Looking at various .nupkg builds, each of which is some subset of .NET Framework

Demo – Visitors App –

  • Self-hosted, no IIS, run hosting environment in command line
  • Do same app on OS X, ASP.NET running in command line on Mac, web site hits local service

ASP.NET vNext Summary

  • Choice
  • MVC, Web API, Web Pages 6, SignalR 3, EF 7
  • SPS: Entity Framework still a first-class citizen

Cross-platform mobile development – Client

Multi-device approaches

  • .NET – rich experiences
    • Use Xamarin to get breadth
  • Coming from HTML side
    • Hybrid apps to get better richer experience

Windows Store Apps

  • Universal Windows apps
  • .NET Native

Demo – Universal App demo

  • Shared module in universal app – ViewModels, resources, etc.
  • Some Views shared, some views custom

Run Universal App

  • Win Phone emulator, Win 8 tablet
  • Debug Windows Store apps on your machine, RDPs into simulator
  • Win Phone – app running on phone

.NET in Android, iOS devices

  • Native mobile apps
    • Full access to device features
    • High flexibility and customization per device
    • Best US and performance in devices
  • Xamarin
    • Microsoft/Xamarin technical and
      business partnership
    • Visual Studio and C# capabilities fully available
    • Share app logic code across device platforms

Xamarin demo

  • Same app on Android and iOS
  • Android app can use shared component from universal project
  • Run app on Android tablet (Samsung Galaxy Fab?)
  • Remote debugging on physical tablet
  • “Android app that looks like an Android app” – on tablet, native
  • Then run the app on an Android phone and on iPad

“Native cross-platform mobile development”

Cordova tooling in Visual Studio

  • Hybrid-HTML apps
    • Natural path for web devs targeting devices
    • Shortest path for cross-platform mobile
  • New Cordova tooling in Visual Studio
    • Multi-device Hybrid Apps for Visual Studio
    • Hybrid apps
    • Flexibility to use any JavaScript framework
    • Scale to complex Enterprise apps through optional TypeScript support
    • End-to-end dev workflow included

Visual Studio benefits

  • File New Project – now have Android, iOS, F#, Python, Node,
  • Can start VMs from Visual Studio, attach to debuggers
  • Fire up VMs, make web sites, deploy
  • Bottom line – amazing power to developer

Demo – Hybrid App, Cordova tooling

  • Devices listed in Device dropdown in Visual Studio
  • “Ripple” support
  • Debug Cordova from Visual Studio

Summary

  • Providing the best end-to-end development experience
    • Platform
    • Framework
    • Tools
  • On our terms
    • Bring your own in each area

TechEd NA 2014 – Keynote

TechEd North America 2014, Houston
Keynote – Brad Anderson, Josh Twist, Matt McSpirit, Adam Hall, Brian Harry, Richard White, Eron Kelly, Julia White

Day 1, 12 May 2014, 9:00AM-10:30AM

Disclaimer: This post contains my own thoughts and notes based on attending TechEd North America 2014 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 either Microsoft, the presenters or the speakers.

Executive Summary—Sean’s takeaways

  • Mobile-First, Cloud-First
  • Focusing on Mobile Apps + Cloud Services is critical
  • For Cloud, Azure is a great solution
    • Highly scalable
    • Supports lots of hybrid (on premise + cloud) scenarios
    • Good support for analytics
    • Resilient—e.g. automatic failover
  • Mobile Apps
    • Must support iOS and Android
    • Microsoft supports identity and app management on these devices
    • IT control of apps and data
  • Story for Developers
    • Easier and easier to create cross-platform solutions (Visual Studio + Xamarin)
    • Native apps for best experience and for leveraging existing .NET skills
    • Hybrid apps, HTML5 + Cordova, if your devs have HTML5 experience
  • Story for Users
    • Touchy-feely video—things basically getting cooler for users all of the time
  • Office 365
    • Very cool, running on a variety of platforms
    • Multiple users
    • IT management

Full video

Brad Anderson – Corporate Vice President, Windows Server and System Center Program Management


On Satya—no better leader, no better human

Reflecting on past 10 years

Connected devices

  • 2008 – more connected devices than humans
  • Now hyperscale

Growing number of users, growing # of connect devices

  • Lots of data
  • High dependent on cloud

]:05 video – Mobile cloud, video]

Video – mobile cloud – various speakers

  • Costs very little to store all this data
  • Devices can access this data
  • Lots of compute power + lots of connectivity

Possibilities

  • Two loops
    • Device – data
    • Device – human
  • Detecting Parkinsons by detecting micro tremors
  • Guthrie – important to engage customers
  • Data lets you engage and collaborate
  • “Start dreaming” – If you don’t dream, you won’t go anywhere

Mobile-first and cloud-first

  • Must have both
  • Cloud with devices is untapped potential
  • Devices without cloud is the same—untapped potential

Bring together – IT Pros, Devs, End Users

  • Want all these groups to get value from the cloud
  • Public cloud can bring value to everything you do

IT Pros – Cloud

  • Stop thinking as private/public clouds as separate
  • The cloud is integral to your datacenter
    • Will let you deliver new things to your customers
  • Think about—the organization you choose for public cloud

Three attributes for public cloud provider

  • Scale – hyperscale – only three organizations doing this right now
    • Willing to back SLA financially
  • Enterprise proven
  • Hybrid
    • Build application on any cloud, deploy on any cloud

I submit..

  • If you use these attributes to pick provider, Microsoft stands alone

Example of organizations using Azure

  • Walsh, Paul Smith, NBC Olympics, Blink Box, TitanFall

What could you do with unlimited computing power?

  • TitanFall – Respawn

TitanFall vide

  • Figures out nearest data center
  • Spins up dedicated server
  • More consistent experience – no host advantage
  • “throw ’em a server”
  • Constantly available set of servers
  • AI powered by server – wouldn’t be feasible if it was client-hosted

Day one – 100,000 VMs running around the world

  • Controlled by <150 employees

Infrastructure of Azure

  • 16 different regions
  • Azure Active Directory – 2B authentications per day
  • Cloud is your design point
  • Foundation of data centers is Windows Server
  • Network of compatible clouds

Embrace cloud culture thru hybrid

Infrastructure

  • Identity – AAD, rights management, Cloud App Discovery
  • Compute – IaaS, compute intensive VMs
  • Networking – dedicated high-speed link, ExpressRoute, redundancy
  • Storage – Analytics Platform System, Azure Files preview

Applications

  • Applications always require database
  • SQL Server 2014 – 30x increase in performance, w/o rewriting application (3000%)
  • Azure Redis Cache Preview
  • API Management Preview
    • Build API for your customers, share

Josh Twist – Demo on API Management

Story about Wellmark (health care provider), using Azure API Management

  • Partner-facing dev portal
  • Document that tells devs how to use API, dynamically generated
  • Can generate code samples, platform-specific

Publisher experience

  • Dashboard for API
  • Enable caching
  • Policy configuration –
    • Rate limit on API
    • Quotas

Back to developer portal

  • Developer console, generated by API platform
  • Can exercise API in real-time
  • Demo rate limit – hit several times, then get 429 Too Many Requests response

Insight into trends, usage, health of API – Analytics

  • Summary of API
  • Geographical distribution, can drill in, see state by state

Summary

  • Protect API, get insight
  • Available today in the Azure portal

Brad Anderson back

Business continuity

  • SQL Server 2014 AlwaysOn
  • Anti-malware added to Azure
  • w/TrendMicro, additional security options
  • Encrypted Storage for Office 365 – every file encrypted with its own key
  • Site Recovery Preview – (HyperV Replication Manager) – disaster recovery
    • Azure can be location where you store copy for disaster recovery
    • Seamlessly failover to Azure
    • Simple, can apply to all services in data center
    • Azure can monitor health of your VMs, auto launch failover stuff

Matt McSpirit – Senior Product Marketing Manager, Microsoft – Failover Demo

Site Recovery – secondary location can be Azure

  • Replication and recovery of your on-premises data centers
  • Number of protected clouds, all on-premises, managed by Systems Center
  • Configured for Replication and Recovery

Configuring cloud

  • Replication interval down to 30 secs
  • # recovery points
  • Encryption at rest

On premises networks mapped to Azure networks

How VMs failover in controlled way

  • Should be automatic
  • Recovery plans – series of steps that executed in event of a failover
  • Done in groups of services
  • Can be manual action – asks someone to do something, waits for OK

Initiating failover

  • Can test failover, prior to initiation
  • “Planned failover” – primary site still online
  • Just click

Brad Anderson back

Telemetry data

  • 100% success with failovers

Mobile side (mobile-first)

  • The cloud is integral your enterprise mobility
  • Devices are lit up with various apps, become extension of who we are

Enterprise mobile needs

  • How do you enable users to be productive on their devices, while keeping company secure
  • Three big categories for things that you need
    • Identity management
    • Device/application management
    • Information protection

Identity management

  • Leverage your investment in Active Directory
    • Common identity across all SaaS apps
  • First app to bring under management – e-mail
    • E.g. Outlook on iPad/Android
  • Will be bringing set of app wrappers on iOS/Android that will let you bring your apps to those platforms
  • Layered approach for protection
    • Protect device
    • Protect application
  • Protection that travels with file – Azure Rights Management service
    • Access rights travel with file

Enterprise Mobility Suite

  • $4/user/mon – independent of # devices

Azure Remote App

  • Remote desktop services that run in Azure
  • Remote app down to devices
  • 4,000,000 downloads of RDS apps on devices

Adam Hall – Senior Product Marketing Manager, Microsoft – Azure Remote App Demo

Hey, this is the third British guy that we’ve seen. Rule Britannia!

Users logs onto SaaS app, e.g. Office 365

Sign-in Page

  • User goes to sign-in page, enters AAD creds, connects to Outlook
  • AAD administration portal
  • Security reports – 2B authentications / day
  • Sign-in from multiple geographical regions – users who have logged in from 2 geographies that you can’t travel between
    • Likely compromised account
    • Administrator can reset password or enforce multi-factor authentication
  • User list
  • Can look at which applications each user is accessing
    • 80% of users admit using non-approved applications

Cloud App Discovery tool – Azure RemoteApp

  • See what apps users are accessing
  • Can control which applications a user can use

Azure Remote App (new)

  • Can publish access to applications that users can access

Brad Anderson back again

Developers

  • What can cloud bring to developers
  • E.g. company that has 10,000 apps that users use
  • End user experience – based on apps that users use
  • Cloud is integral to accelerating application innovation

Want

  • Multi device
  • Iterate quickly
  • Rapid development

Multi-device

  • Universal Windows Applications
    • Single project in Visual Studio, 90% of code applies across all Windows platforms

Cortana demo

  • First and only personal digital assistant in cloud
  • Powered by cloud – watches what I do
  • Surfaces up the things that are relevant to me
  • Search example
    • Shows things that are important
  • “What’s on my calendar for Thursday”
  • “Go see Godzilla Friday the 17th at 7PM”
    • “Just so you no..” you have – calendar conflict
  • “Find me the best barbecue in Houston”
    • Good reviews – interact with Yelp
  • It knows who I am
  • “Next time I speak with Chris, remind me to congratulate him on his daughter’s graduation”
  • Don’t have to speak, can interact with keyboard
  • “email from Chris”
    • Reminders show up
  • Speak name of app and then request
    • “Contoso find jobs near me”
    • Can enable your apps with Cortana

Mobile device management also works on phones

  • Historically – Rich experiences vs. Breadth of devices
  • .NET for Android and iOS
    • Through partnership with Xamarin
    • 60-70% of code in common

Hybrid Apps

  • Multi-device hybrid apps
  • HTML, but with much richer experience
  • Cordova partnership

ASP.NET vNext

  • Agile, Fast, Open

Brian Harry – Corporate Vice President, Microsoft – Application Lifecycle Management

Application Lifecycle Management

  • Key ingredient is integration

Visual Studio Online

  • Bring ALM value to cloud
  • >1 million users
  • SLA of 99.9%

Need to integrate tools with Visual Studio

  • New open APIs for Visual Studio online – allow integrating apps with VS Online

Richard White – CEO, Founder, UserVoice

Make user feedback actionable

Have done integration with Visual Studio

  • Prod Mgr & Eng Mgr
  • Looking at public portal
  • Product Manager – admin console
  • Can send item to Engineering team
  • Create Work Item – synchs to Visual Studio
  • On VS side, shows up on Backlog items

CanBan board

  • New => Approved
  • Add comment to Bug
  • Updated item in User Voice – see history of item
  • Prod Mgr can then mark item in User Voice as “started”
    • Will send message to users who said they wanted feature

Brad Anderson back again

Users

  • How can users get value in Mobile-First, Cloud-First world
  • The cloud enables your users to do the things they’ve only dreamed of

Users video – What users can do

  • World has become giant network
  • Hyper connected world
  • What if you were connected to everything important
  • Plugged into everything that matters
  • Collaborating
  • Exchanging ideas
  • Listening to employees, customers, partners
  • Adapt quickly
  • Share information in real-time
  • One connected network
  • You understand customers
  • Power of the network
  • “Work like a network”

Users

  • From information to action
    • Must focus
    • Technology must help us
  • Work like a network
    • Don’t lock up communications within organization
    • Share across organizations
    • Much more open environment
  • Responsible empowerment
    • Strike balance between corporate/personal

Information – Action

  • Need comprehensible data platform
  • Analytics engine
    • HDInsight, based on Hadoop
  • Get data to people
    • Using tools/capabilities that customers want to use
    • Surface everything through Excel
    • BI available in Office

Eron Kelly – General Manager, Microsoft

City of Barcelona – hosting festival

  • Bicing – Rent bike
  • Where are the bikes?
  • Measure social sentiment – what do users think?

Excel

  • Search from Excel
  • Look at “social sentiment data” up in cloud
  • Merge data set with existing analytics
  • Now, with map, can view various data

Q&A, asking question in natural language

  • “Total bikes available”
  • “Total bikes by street” – bar chart
  • “vs. xxx” – scatter chart
  • “tweet messages for streetname” – lists tweets

Brad Anderson again

Office Graph

  • Runs in cloud, understand individual’s intent
  • Surface data up to Office tools

Open Communications

  • What if all communications were “open” by default?

Mobile Productivity

  • Natively instrument Office 365 across all platforms
  • Entune
  • E.g. control where users save documents

Julia White – General Manager, Microsoft

Office 365 & Entune

OneDrive for Business

  • Struggling with “rogue” applications
  • 1 TB storage per user
  • Drag/drop content into web portal
  • Sync – syncs to local content in Windows Explorer
  • Share content – sharing icon – can enter people, from Active Directory, or from people outside company
    • Admin can control sharing
  • Collaboration
    • By default, edit in browser, but can edit in desktop app
    • Can see other people currently editing
    • Can see them editing in real-time
  • Go to ribbon, Tell Me, type “insert table”
    • Takes you right to command
  • Share with company – using Yammer – Post

Yammer

  • Social aspect – how we work with groups of people
  • Future view of Groups, open communication
    • Group that people can find and join
    • Sure looks like Facebook

Outlook – now has Yammer Groups

  • Can attach to same conversation from Outlook
  • Can look at what groups some other guy is part of
  • Can view conversation in a particular group
  • Public vs. Private groups

Oslo app, built on Office Graph

  • Surfaces view of content that’s relevant to this user
  • Real-time stuff based on your actions, personalized
  • Tells you, for each item, what the source is—why it’s showing it to you
  • Some default searches – things “presented to me”
    • Based on meetings you’ve been in
  • Two views of Bill – org chart
    • Also how he’s spending time, who he’s working with
  • Can see what content is trending on that you also have permission for

Working on all devices, iPad demo

  • Open Word, can open document that you were just working on
  • “One source of the truth”
  • Unmistakably Word, but also really natural
  • Balance – familiar app experience, but fits into iOS experience
  • Easy to interact with touch on these devices
  • Context specific Ribbon command
  • Making changes live, will appear on other platforms
  • Always keep file fidelity, across all platforms
  • Co-editing also on iPad

New stuff coming in future

  • Office 365 & InTune
  • Mobile device management on Office 365 on iPad
  • IT can apply policies and controls
  • Outlook demo, open Excel
  • Only shows apps that IT has approved for business purposes
  • Better format, opening in Excel
  • Try sharing from native e-mail app on iPad => can’t paste document into e-mail
  • But can send document from Outlook
  • Business content stays only in managed/approved apps

Brad Anderson back again

Story about three customers using Office 365

  • Mitchells and Butlers – managing 20,000 mobile devices with 2 people
  • British Airways – 11,000 people on Yammer
  • Xx Golf – using InTune to manage laptops and iPads

Enterprise Mobility platform

  • Office 365
  • Mobility Suite
  • “Most comprehensive mobile solution”

The mobile-first cloud-first enterprise

  • We believe deeply in this

See You at TechEd

I’ll Be at TechEd North America in Houston next week (12-15 May, 2014).  If you’re a fan of the 2,000 Things blogs and will be in Houston, look me up.  (E.g. DM @spsexton on Twitter).  We can go grab a beer and sing the praises of C#, WPF and all things .NET.

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 – What’s New for Windows and Windows Phone Developers

BUILD 2014, San Francisco
What’s New for Windows and Windows Phone Developers (9-001) – Charles Torre, Kevin Gallo

Day 1, 2 Apr 2014, 11:30AM-12: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.


Charles Torre – Exec Producer – App Experience

 


Kevin Gallo – Director of Windows Developer Platform
(Partner Director Program Management)

What is Universal app?

  • Write once, run on multiple devices
  • Tuned to each device

Common set of APIs

  • Work across all devices
  • 90-95% of APIs are shared
  • Small number are appropriate to only certain devices (e.g. SMS)
  • Basically the same API that we’ve had in the past

All languages—C#, VB, Javascript, et al

Two major new things

  • Larger subset of API on Windows Phone (90-95%)
  • Project system in Visual Studio supports cross-platform projects (shared template)

For existing Windows Phone apps

  • Written in Silverlight 8.0, doesn’t have access to new APIs
  • But latest version of Silverlight does

How to migrate old apps

  • Upgrade project from 8.0 to 8.1
  • Then have access to all APIs
  • Or use Light Up
    • Keep as 8.0
    • Use reflection to detect 8.1, take advantage of some features
    • App “lights up” when running on 8.1 phone

Q: What’s difference between PCL-based application and Universal app?

  • PCL – subset of APIs that work across libraries; can share just code
  • Universal app – can share XAML, localization, etc.
    • Share more than just code
    • Natural evolution of PCL

Q: Can I make apps by using only HTML5/Javascript?

  • Choices
    • C#/XAML
    • DirectX / XAML
    • HTML5 / JavaScript
  • Flexibility
  • Can mix/match

Q: How to ensure quality apps on Windows devices?

  • Microsoft is providing tools for diagnostics & performances
  • Diagnostics help find bottlenecks
  • Reduces developer time for making great app

Q: Possible to create Universal App from existing WP8 app?

  • Some changes have been made to XAML
  • XAML is more “predictable”
  • Little bit of work to port, but not too bad

Q: Why choose Windows 8 platform over Android/iOS?

  • Not really about choosing
  • Rather, about reaching customer

Q: Do I need to know multiple languages to create a WP app?

  • No

Q: Full .NET on Win RT?

  • No

Q: Upgrade XNA to 8.1?

  • No, we haven’t done that much. Still need to port to DirectX

Q: DirectX 12 on phone?

  • Have not yet announced

Q: Universal App – separate app packages?

  • Yes, because they are different binaries
  • But Project system makes seamless
  • Two targets

Q: Option for devs to use 3rd party Javascript frameworks?

  • Yes, fully support 3rd party libraries
  • Goal is to help devs do cross-platform
  • Contributing WinJS to open source
  • Interop works (very important)

Q: When will SDK be available?

  • RC being released now, RTM later

Q: Some APIs that can’t be shared?

  • Not really
  • Mainly: SMS, printing
  • 90-95% of code will be shared

Q: Universal Apps support DirectX with C#?

  • No, just C or C++

Q: When will XBox One apps use this model?

  • Coming in the future

Q: What device are you using right now?

  • Nokia 1020 as Phone; Surface Pro as development for Windows

Shared Core, Shared Kernel, drivers?

  • We’ve merged Windows, Windows Phone, XBox kernels
  • From APIs down to drivers and kernel

Optimizations for power & memory management?

  • Have tuned for phone, and then every device is faster, due to shared codebase
  • E.g. Shared libs between different apps—they’ll just exist in one place on the phone

Q: Why no VB support for Universal Apps?

  • We do support VB.NET

Q: C++ and managed C++/CLI support for Universal Apps?

  • Same interface for C++ on Windows and Phone

Q: Will Universal App work on Win 7?

  • No. Just Win 8.1, Windows Phone 8.1
  • Stuff replaced is down at the OS level

Q: Can you use JavaScript code for Universal Apps?

  • Yes

Q: Support for 3rd party devs to write kernel drivers?

  • No comment

Q: Use C?

  • Yes

Q: New Live Tile APIs?

  • Can do updating from background a bit better
  • Better experience on tile

Background computing on power-constrained platform is challenging

  • Triggers—in background, CPU can run just a little bit of code when code wakes up
  • Makes app much more interactive
  • Conserves power, but gives user good experience

How granular can toast be? Can we drill down into app after clicking on toast

  • I think so

Action Center

  • Developer can access to see events that have happened in the past

Q: Traditional desktop apps being phased out?

  • Absolutely not
  • Not “phasing out” anybody’s code
  • Leverage investment that you’ve made in these apps
  • Maybe a bit tough to transition to use new technologies
  • Coming—more info on how we’ll stitch these two worlds together
  • Maybe a bit too hard to leverage new stuff in existing apps
  • WinRT Broker is first installment in this set of things to bridge worlds

 

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?

Why I Turned Off WordAds

Below is a letter that I recently sent to WordPress support, on the occasion of my turning off WordAds on two of my blogs.  The attachments that I mention, examples of ads on my blogs, appear after the content of the letter.

To: support@wordpress.com

23 Jan 2013

I host two blogs on WordPress for which I signed up in the WordAds program.

I’m going to disable WordAds in both cases, based on the type and style of ads that are being shown.  But I thought it fair to share some thoughts with you, related to why I’m turning off WordAds.

The blogs are: csharp.2000things.com and wpf.2000things.com

Both of these blogs are quite small, in terms of traffic.  The first blog gets around 10,000 hits/mon, with just under 12,000 impressions in the most recent month.  The second blog is around 20,000 hits/mon, with just under 20,000 impressions in Nov, 2012.

Given how tiny these blogs are, in terms of traffic, I realize that WordPress won’t care all that much whether or not I host ads.  But I’d still like to share some quick thoughts on the ads being served, since this applies to any of your blogs serving WordAds.

My main complaints with the ads being served are:

  • They don’t look like ads  (e.g. ad consists solely of embedded YouTube video)
  • Ads are not separated from my blog content in any way, e.g. with a border
  • Ads aren’t relevant to my readers
  • Multiple ads leads to the web page being cluttered
  • The visual style of the ads cheapens my blog / brand

What I’d hope for with ads are ads that follow the more traditional design guidelines of print ads a little more closely.  I.e. They are clearly offset by a border and marked as an ad and they clearly contain a brand image for the item or service being advertised.  Ads that contain other content, like images from YouTube videos and giant Download buttons, overpower the content of my blog and also confuse the reader by appearing to be part of my content, rather than an ad.  (See attached images for examples, from my blog).

There are all sorts of ads served on the web.  Some are very tasteful and elegant, some less so.  I’m disappointed that the ads served up via WordAds are consistently in the latter category.  An ad should not actively try to pull the reader’s attention from the content and it should definitely not try to “trick” the reader into doing so (e.g. large download buttons).  Rather, professional ads should respect the reader by being clearly marked as an ad, displaying the relevant brand, and trusting that the reader will read the ad if they are interested in the product or service.

As a blog author, my main request in the area of ads is that they appear to be at least as professional and tasteful as my blog itself.  Since the ads served by WordAds are failing to live up to that expectation, I’m going to turn them off.  WordPress does host many blogs that I would consider to be well-designed and tasteful.  Your themes are also beautifully designed, with a very professional look.  But the ads that you’re currently serving don’t rise to that standard.  They cheapen not only the individual blogs that serve the ads, but the WordPress brand itself.

I realize that serving web-based ads is a tricky business to be in.  Wordpress needs to make money, as do the vendors serving the ads.  And given the state of web-based ads, it’s easy to serve up the same sort of ads that the other guys serve.  But given the strength and respectability of the WordPress brand, I would hope that you’d set the bar a little bit higher.  WordPress is already a leader when it comes to hosting blogs.  With some changes to the ads that you serve, you could also be a leader in the area of served ads, setting an example for other content producers on the web.

Thanks for taking the time to read this and to consider my thoughts.

Sean Sexton
sean@seans.com

130123 - Ad Complaint  130123-Ad2

BUILD 2012 Notes – The Microsoft Design Language – Tschumy

BUILD 2012, Redmond, Day 1, 30 Oct 2012, 2:15PM – 3:15PM

Will Tschumy

Principal user Experience Advisor

2-116

 

 

Why I joined Microsoft

  • In 2003, Microsoft made strategic investment in design
  • User experience thinking, re-design of Microsoft Word
  • Results: Office 2007 was fastest selling, most critically acclaimed version of Office
  • $20 billion / year bet on design

 

Next: Launch of Windows Phone 7

 

In 2007, same design language on XBox

  • Single consistent design language across all screens: phone, desktop, XBox

 

For Microsoft, our design principles are the language for our experiences

  • For customers–confidence, comfort & familiarity
  • Brings us together

 

Windows 8 start screen:

 

Weather app:

 

No chrome, edge to edge, all about content

 

The core idea

  • Content before chrome

 

Windows 8, did a lot of research

  • Asked Windows & OS X users what they remembered about using Windows
  • They drew the chrome
  • Then play with Win 8 prototype
    • Drew content in rectangles
  • With Windows 8, main thing users remembered was the content
  • Get OS out of the way of the users so that content can come through

 

Edges are important

 

Easy to get to edges, so we put controls there (charm bar, application bar)

  • Helps get chrome out of the way

 

Started thinking about monitors being sold

  • Most are widescreen
  • So flow content horizontally
  • Semantic zoom–no extra navigation for user

 

Five principles of Microsoft design

  • Pride in craftsmanship
  • Be fast and fluid
  • Authentically digital
  • Do more with less
  • Win as one

 

Pride in craftsmanship

  • Attention to detail: Every pixel counts
  • Safe/reliable – behave properly on other devices
  • Balance, symmetry, hierarchy
    • Built on 20×20 pixel grid
    • Skeleton on which to hang content
    • Placement on grid shows hierarchy
    • App will scale properly, no sub-pixel rendering
  • Tiles don’t need to be uniform
  • Doesn’t have to be rectangles
  • Can cheat margins, but do it deliberately
  • Sample apps  (Hulu Plus pushes off margins)

 

 

Be fast and fluid

  • Design for touch – touch first
  • Responsive – important when touching, must be responsive
  • Intuitive interaction – because of touch
    • Drag things in, drag things out
  • Immersive and compelling
  • Delight with motion
  • Life is mobile

 

Demo – Start experience, Netflix, Photos

 

  • Start Screen is very responsive; stuck to finger

 

Netflix

  • Animation library – lots of little subtle gestures
  • Arrow drops down menu

 

Photos app

  • Very responsive
  • Pinch out, get to larger view, see more photos
  • Ghost effect
  • Sense of quality, elegance

 

Authentically digital

  • Embrace the medium
    • What is the role of design?
    • What is the role of the designer?
    • Is design inherent, or surface?
  • Modern
    • High Modernism, or International Style
    • Bauhaus
    • Designer should be offered no refuge in the past but should be equipped for modern world in its various aspects, artistic, technical, social, …
    • Icons – what value is there in having icons look like real objects, or shaded
    • E.g. Windows Explorer – most stuff in there is chrome
    • Semantic zoom in file explorer in Modern
    • Genesis of live tiles & semantic zoom
  • Cloud connected
  • Bold, vibrant colors
  • Motion

 

Do more with less

  • Be great at something
    • App fantastic at one specific thing
  • Focused and direct
    • Help users focus on what matters
  • Content before chrome
    • Only show secondary stuff (e.g. photo info) on swipe
    • E.g. Web browser, everything other than content is off screen
    • You see a bunch of widgets on each element, for discoverability.  Remove them and only show when relevant
  • Inspire confidence

 

Win as one

  • Work together to complete scenarios
    • ~45 separate contracts
  • Fit into the user experience model
  • Leverage the platform

 

Demo – Search, All recipes and People, IE and Wikipedia

 

Search

  • Don’t need search charm; just start typing
  • Good example of contracts
  • Allows: surfacing your app in other contexts
  • App that you search most often will bubble up to the top

 

Share

  • E.g. allrecipes
  • Share, People app, Facebook (from allrecipes app)
  • You avoid APIs to all these other services (e.g. Facebook)
  • “Catching” application worries about its API

 

Wikipedia

  • From News app, select text, Share to Wikipedia–looks up that topic in Wikipedia

 

Think about how your app gets embedded in the user’s broader workflow

 

Windows reimagined

  • “The beginning is a delicate time…” –David Lynch, Dune, 1984
  • Asking us to reimagine our apps

 

How will your apps be reimagined?

How can you be authentic to the medium

Where will your app become alive?

What do your users need to focus on?

Integrate with the ecosystem?

 

Resources

  • Design.windows.com
  • Windowsuserexperiencetraining.com (9 hrs of training)

 

Q&A  (33:47)

 

Wikipedia–Share vs. Search

  • Share: lets data get looked up from within the other apps
  • Even within Wikipedia, just start typing to search

 

How complex is sharing?  Data models passed between apps?

  • Yes, you can pass structured data, data types (e.g. URL, picture, etc)
  • The more esoteric the data, the more reliant you are on the catching app to interpret

 

Sharing text, interpret as URL, if not URL it fails and have to display to user

  • Probably a better result if you just accept URLs

 

How should devs refer to “Metro style”?

  • Won’t get into details of why no longer “Metro”
  • “Windows 8 Store Applications”

 

In what users remembered from Windows 8, were they remembering content?

  • Yes, they remembered images–rectangles were the content

 

This design language works great for content consumption.  What about creation, wouldn’t we want chrome like toolbars to be there?

  • Take a look at painting apps
  • Evernote Sketch – quick annotations
    • App bars pinned open
    • Users typically doing a lot of interactions
  • At other end of the spectrum, e.g. Sketchbook
    • Almost all canvas
    • Only need app bar when you change tool, which is less often
  • So think about the goal that you’re trying to solve
  • If user will spend a lot of time on the content, then worth focusing on content and get the rest of the stuff out of the way
  • But be very careful about pinning app bars open

 

Snap and fill view–design rationale for being able to snap out, but not snap in?

  • Keep user in control–risk in going into snap of having it snap unexpectedly
  • Coming out of snap–they know they are already in snap view

 

Interaction design pattern library for Windows 8?

  • Look at design.windows.com
  • Navigation styles, app bars, commanding
  • Human interface guideline document (280 pgs)
  • Photoshop templates for mocking up
  • Visual Studio 2012 Ultimate installs some prototyping tools in Powerpoint

 

For HTML, should sites be designed the same way?  Any guidelines?

  • You can use HTML5/JavaScript to build app or to build web experience
  • You’re starting to see tile-like interfaces on web sites

 

Discoverability–is it a tradeoff, where users don’t know how to do something?  E.g. Mom/Dad

  • We have looked at that
  • Devs should follow patterns that Microsoft is establishing
  • Following these patterns leads to consistency
  • Then users learn this stuff faster

 

Font size – 42 pts for headlines.  How do you decide how big to make font on various devices?  For largest display, when you’re further away, the font doesn’t look large enough

  • You can use brand fonts, but you should follow “type ramp”
  • Various ratios between font sizes and screen
  • Scaling–two strategies for an app
    • Everything gets bigger proportionately  (e.g. Photos)
    • OR You show more content  (e.g. Maps)
  • Depends on your scenario
  • With bitmap images, you should provide multiple images
    • 140%, 180%
    • Windows 8 will automatically pick appropriate resolution

     

Recommendations for designing app that does a lot of data input?

  • There are relatively few apps right now that do this
    • E.g. Credit card terminal apps
  • What’s important?  Quick, vs. entering data correctly

 

What kind of impact will design principles have on desktop applications?

  • You’ll already see this, e.g. Office 2013 preview, animations
  • The animations let you know where on screen to focus
    • Biologically, we notice motion / movement
  • Reader experience in Word–fast/fluid
  • Powerpoint, slide transition
  • Entire company (Microsoft) is behind this, pushing these principles

 

Difference between Microsoft design principles and Windows store apps?

  • Same thing

 

BUILD 2012 Notes – Developing a Windows Store App – Sheehan / Mockford

Build 2012, 30 Oct 2012, 11:45AM – 12:45PM

 

John Sheehan, Kieran Mockford

Building sample app in JavaScript/HTML

 

Windows 8 platform & changes made for Windows Store apps

  • Kernel – security, etc.
  • WinRT APIs
  • MVC layers
    • Can now do XAML with C++
    • For super high perf with C++, using DirectX
    • For JavaScript, use HTML for presentation layer
  • This new stack is for Windows Store apps

 

Image

Desktop apps still possible

  • HTML in IE
  • C++ on Win32
  • C#/VB on .NET

 

Upgrade Win 7 box to Win 8

  • Better performance
  • All desktop apps will continue to run

 

Win RT

  • Old dev experience was kind of dated (programming to Win32 API)
  • Needed to rethink how devs built apps
  • New modern API surface, used for building Windows Store apps
  • LOTS of APIs in Win RT
  • Supports all sorts of languages (C++, C#, VB, JavaScript)

 

(5:36)

Developing Windows Store app

  • Code and markup – All starts with your code
  • Make it an app – Your app has unique value and identity
    • Publish to store
    • Needs tile
    • Splash screen
  • User expectations
    • Live tile – show latest info on the tile
    • Search – search within your app
    • Capabilities
      • Apps need to be trustworthy
    • PLM

     

Demo – From code to app

(Kieran)

 

Weather app

  • Service up in Azure – returns blob of JSON with weather info
  • App will be JavaScript / HTML
  • Concept of “promise” in WinJS
    • Being standardized
    • xhr – change results into a promise, asynchronous
  • He gets object back with his data, can drill down into the data in debugger
  • Can take data, bind to HTML template
    • data-win-control=”WinJS.Binding.Template” (on <div>)
    • Assigning data to HTML elements, e.g. data-win-bind attribute to assign data to text element
    • template.render
  • Drop in CSS to format the page

 

Displaying additional weather data, in list

  • Will display it in a tile-based UI
  • Adding new elements to the namespace that we bind to
  • Now create template to render the list
  • Open app in Blend
  • App actually running within designer
  • Live DOM shown as you move around in designer
  • Assets panel, get ListView
  • Drag into Live DOM view
  • Set itemDataSource on ListView

 

Video in background

  • <video> element
  • Add video and play

 

Character

  • No tile, no splash screen
  • In Visual Studio, you have logo.png, smalllogo.png, splashscreen.png, etc.
  • Replace these with your own logos and images
  • Two images for tile–logo and wide logo
  • In .appxmanifest, can specify that you have wide logo
  • Can turn off showing name on tile
  • Also set background color for app

 

Need to make tile live

  • Several different ways to do live tiles
  • createTileUpdaterForApplication
  • Call startperiodicUpdate method
  • Periodic service, returns XML document with some basic data
  • Can pass in argument to your service (e.g. for location)
  • E.g. Ping service each hour to update tile
  • Can make tile re-poll by turning tile off and then on again

 

Location

  • Windows has Geo-Location API that lets you ask where user is located
    • If device has GPS, it’s accurate
    • Otherwise, it can use IP address to estimate location
    • Fairly close, e.g. town but not building
  • You need to specific that your app will use geo-location
    • Check Location on Capabilities tab
  • System then asks user if it’s okay for the app to use location
  • Strange error–where they are (Redmond), geo-location says they are in Texas

 

Search contract, so user can use Search charm

  • Declarations tab in manifest, you declare to Windows that you support Search
  • Write code to respond to Search request
  • Search is a “contract”

 

(34:30)

 

App Execution Environment

  • App Container – container where your app runs
    • You do everything by calling WinRT APIs
    • Most calls are direct API calls
    • Some calls, e.g. user location, are sensitive
      • Brokered API calls
      • Runtime Broker – makes sure you have access to what you’re calling
      • Uses your AppXManifest
      • So app needs capability in manifest AND user having granted permission

 

Process State transitions

  • Running
  • Suspended
    • When user is not using app, app is suspended
  • Terminated

 

Image

As developer, you need to

  • Save things at suspension time, so you can remember where you were

 

Demo – Giving your app a memory

 

oncheckpoint event

  • WinJS.Application.sessionSate[“lastQuery”] = lastQuery
  • E.g. store last query done by user
  • Debugger has mechanism for triggering suspend/shutdown
  • Add code when app is reactivated after suspension

 

Be Better Together (work well w/other apps)

  • Pickers
  • Sharing
  • Protocols

 

Demo

 

FileOpenPicker

  • Allows picking from places other than just a file system
  • Add to filters (FileTypeFilter.Add)
  • async on Button Click handler
  • await on call to PickSingleFileAsync within handler method
  • async/await – allows you to write code that behaves asynchronously, but looks synchronous
  • Can have multiple await decorated calls within the same method
  • Can pick data from files on SkyDrive

 

Demo – manipulate image and re-save to SkyDrive

  • Browsing samples
  • New Project – Online – Samples – Language
  • Can search for stuff within samples
  • E.g. WIC Image editor
  • Creates new WicImage object
    • Wic = technology for reading/writing different image formats
  • ImageEditor object, instantiated with WicImage
    • BeginDraw/EndDraw pair
    • DrawText, etc.
  • Their library contains these classes–WicImage, ImageEditor
  • Using Direct2D to do image stuff
  • C++/CLI => Cx
    • Still native code, but Cx controls object lifetime, memory
    • ComPtr<> – smart pointer
    • Need this for classic COM code
  • E.g. Use ComPtr for Wic interface APIs
  • In memory representation of Wic image doesn’t map exactly to Direct2D image
    • ID2D1Bitmap.CreateBitmapFromWicBitmap

 

To share something from your app

  • DataTransferManager.GetForCurrentView().DataRequested += (yourmethodhere)
  • Data packet that you send via data transfer manager
  • App can say–yes, I support sharing, but no data available yet
  • E.g.
    • Request.Data.SetBitmap(RandomAccessStreamReference.CreateFromStream(shareStream))

 

Review

  • Starts with your code
  • Add character
  • Support user expectations
  • Sharing with other apps

Using Microsoft Surface in the Real World, part II – The Hardware

In part I, I rambled on about how I think the Surface with Windows RT tablet fits into the PC/laptop/tablet ecosystem.  Now let’s talk a little bit about the hardware.

Note: This review is about the Surface with Windows RT, released on 26 Oct, 2012.  Throughout the review, I’ll just refer to it as the “Surface”.

In a word, the Surface is gorgeous.  At 1.5 lbs and 9.4 mm thick, it feels great to hold and evokes the same kind of satisfied joy that I felt after unboxing and holding my first iPod.  The black metal case on the Surface–the “VaporMg” case made out of molded Magnesium–is the first thing that you notice.  So far, after a week of use, I haven’t seen any scratches on it.  This is a nice change from the scratch-magnet aluminum back of my iPad.

(Note: Click to see larger versions of all photos in this post).

The image above shows the left edge of the Surface, which includes one of the speakers, an audio jack, volume rocker switch control and a view of the kickstand at the bottom on the device.

The top edge includes a couple more tiny speakers and the power switch.  The right edge, shown below, includes the receptacle for the magnetic power connector, a USB 2.0 port, a micro connector for an HDMI cable and another speaker.

On the bottom edge you’ll find the magnetic connectors for the Touch/Type Cover attached keyboards.

My only concern with the various ports is that they’ll attract dirt or other particles, since none of them have covers.  For example, when you have the display turned on and you peer into the audio jack, you can see the back of the display.  The makes me worry a little bit about junk finding its way into the interior of the case.

You can use the Surface without a cover, interacting with it using only touch gestures and typing using the onscreen keyboard.  But you’ll more likely want to attach one of the combo covers/keyboards.  The Touch Cover is thinner and fuzzier than the Type Cover, which has mechanical keys.  (I only got the Touch Cover).

Attaching the Touch Cover to the Surface is the most delightful part of the hardware experience.  You only need to get the cover’s connector somewhere within the vicinity of the edge of the Surface and the magnet pulls it the rest of the way, until it snaps in place with a satisfying click.  There is no fiddling with the cover, trying to get it to align properly.  It just works.  More importantly, pulling the cover off or snapping it back on is extremely quick.

With the cover attached, you’ll have the Surface in one of three different configurations: 1) cover closed over display when you’re not using it, 2) cover unfolded, keyboard out and kickstand open, or 3) cover folded backwards over the case so that you can touch/type directly on the screen.

With the Touch Cover open, you’ll almost certainly want the kickstand on the back of the case opened and the Surface sitting on a flat surface.  The way that the cover attaches, it doesn’t work to have both the cover and case of the Surface both lying on a flat surface.

If you’re sitting somewhere and you want the Surface on your lap, you’ll either want to fold the keyboard out of the way completely, or end up folding out the kickstand and balancing the Surface on your lap so that you can use the keyboard.  This is a little precarious, so you’ll really end up using the keyboard only when the Surface is on a flat, stable surface.

When you do place the Surface on a table or desk, the kickstand on the back snaps out easily and feels quite solid.

The power supply that comes with the surface attaches to the case with a magnetic connector that is surprisingly hard to connect.  Unlike the Touch Cover, which easily snaps into place, the power connector for some reason requires a lot of attention to get the pins to line up correctly.  It doesn’t just snap into place.

The USB connector works as you’d expect.  You can attach any USB 2.0 compliant hardware to the port and it just works.  I’ve tried basic keyboards and mice, as well as a couple of USB memory sticks, and everything worked without a hitch.

Just under the kickstand on the back of the case is a slot for a microSDXC memory card.  You can currently pick up a 64GB card for about $60.  Plugging in a card works just like a USB-based memory stick–the card shows up in Windows as a removable disk.  (More in a future post on how to use content on the card).

Typing on the Touch Cover was surprisingly pleasant.  It’s not meant to be equivalent to typing on a laptop keyboard, but is actually quite a bit easier to use than the chiclet keyboards that you find on Netbooks.  The individual keys have fairly large touch targets, are slightly raised and the inside surface of the keyboard has a nice satisfying fuzzy feel to it.

Many of us have gotten used to using on-screen keyboards on tablets, typing on glass.  This is workable, but never quite feels like a real keyboard.  The Touch Type keyboard is meant as an alternative to typing “on the glass” and gives you a much better experience.  I’m a touch typist who types pretty fast and I was able to be a lot more productive with the Touch Type keyboard with its taller keys.

The picture below shows the on-screen keyboard as well as the Touch Type keyboard, so you can see the relative size of both.  (You’d never see this configuration in real life, though–when you start typing on the Touch Type keyboard, the on-screen keyboard automatically disappears).

One thing about the keyboard that was not at all obvious as I first started using it is that it actually has “keys” for the left and right mouse buttons.  Immediately below the touchpad, which you use to move the mouse pointer, is a little vertical divider.  You can click on either side of the divider to get a left or right mouse button click.  It made my day to discover this–one week into using the Surface.

The other half of the experience with the Touch Type keyboard is that it becomes the cover for the Surface, folding over the display.  It works well as a cover, keeping the screen protected.  Its fuzzy surface gives the Surface a nice friendly personality when it’s just sitting on a desk, waiting to be used.

With the keyboard folded over to cover the display, the connector is at an angle that prevents it from becoming disconnected, which is nice.  You have to fully open the keyboard cover in order to disconnect it.

Another nice touch, really a requirement, is that when the keyboard folds backwards under the display, it disables keystrokes. This means that you can’t accidentally enter keystrokes with your fingers curled around the back of the Surface while you’re interacting with it using touch gestures on the front.

The display is very crisp and bright.  It feels much more crisp and readable than you’d guess, given that the resolution is 1366 x 768.  The resolution is in the same ballpark as my iPad 2, whose resolution is 1024 x 768.  But the content on the screen of the Surface seems much more crisp and readable.  This likely has to do with the fonts used on the Surface and the fact that the Surface is using ClearType technology to improve the resolution of the fonts.  Microsoft devotes a lot of resources to typography and the results are stunning.  At an equivalent pixel density, the Surface looks a great deal better than the competing displays.

This doesn’t mean, of course, that ClearType is going to make a 1366 x 768 display look as sharp as the iPad’s retina display at 2048 x 1536.  But the clarity of the display on the Surface will likely look quite good when compared directly to the retina display.  The Surface with Windows 8 Pro will have an even better resolution when it shows up in January of 2013, at 1920 x 1080.  It will also use ClearType.

(Click on the image below and then use the zoom function in your browser to see the following screenshot at its original size).

The default brightness setting for the display is a little dimmer than I would like, but is a compromise for the sake of battery life.  The colors really pop out and everything becomes much more vivid, however, when you turn the brightness up a bit.

The display also looks great when watching videos–one of the main use cases for the Surface.  Even though the display isn’t a full HD resolution screen (1920 x 1080), HD videos look great–with crisp detail and very smooth playback.

Power management makes use of the standard Power Options settings in Windows 8.  Note that you can change the brightness settings independently for when the Surface is running on battery vs. plugged in.  Also worth noting–the Surface turns off the display shortly after you close the Touch Type cover.

The touch screen is very responsive, across all the apps that I’ve tried using so far.  The Surface has a 5 point multi touch display, which means that you get the now standard pinch-to-zoom behavior that we’ve come to expect on these devices.

The screen show below is from an app that shows you all the spots on the screen where the Surface is currently detecting a touch.

The Surface doesn’t have a physical orientation lock button, like the iPad.  You can presumably lock the orientation using a little display lock widget on the Charms bar.  But I’ve had no luck in getting this to actually prevent auto-orientation of the screen.  It’s likely just operator ignorance, but this doesn’t appear to be very easy for the average user.

The battery performance has been excellent.  Microsoft touts a 10 hr battery life.  While I haven’t tested it, I’ve been using the Surface off an on throughout a full day and never even came close to fully draining the battery.

Conclusions

At the end of the day, the Surface is a beautiful piece of hardware.  This is absolutely how a tablet should work.  It powers up and down instantly, has a responsive touch screen, and a gorgeous display.  The addition of the USB port and the Touch Type keyboard/cover, however, put it over the top.  You can plug in an external mouse or keyboard and even connect a HDMI cable to a larger display.  The Touch Type cover works perfectly in its role as both a keyboard and a cover and detaches/attaches effortlessly.  With the attached keyboard, the Surface suddenly becomes less like a tablet and more like a mini laptop.

That’s all I have for now on the hardware.  Next time, I’ll talk about the basics of using Windows RT on the Surface.

BUILD 2012 Notes – Keynote Day 1 – Ballmer

BUILD 2012, Redmond

Keynote Day 1 – Ballmer

30 Oct 2012, 9AM – 11AM

 

Nice Windows Phone commercial, showing Steve’s phone

Steve Ballmer, Chief Executive Officer

Image

 

  • Sold conference out in 53 mins
  • “Bigger venue next year”
  • Perfect time to get together
    • Windows 8
    • Windows Phone 8
    • Microsoft Surface
  • “How are they doing”?
    • 4 days after 1st day of sale for Win 8, Surface RT
    • Not huge amount of data, but..
    • Over 3 days, sold 4 million Windows 8 upgrades–individual users
    • Additionally, 10s of millions of units to corporate customers
    • Staples, Dixons – customers excited
    • Long lines at stores
  • What people are saying
    • Microsoft Surface is hot  (CNET)
    • 10 reasons to embrace Windows 8 now (geek.com)
    • Windows 8 to bridge gap between PC, mobile devices
    • Boldest phone and software design  (Joshua Topolsky)
  • 3 big events since 1980
    • IBM PC
    • Windows 95  (mainstream, Internet)
    • Windows 8 / Windows Phone 8
  • Opportunity has never been better than today

 

Key Points for Windows 8

  • Best PCs ever made – hardware and software
    • ARM, x86
    • Desktops, laptops, tablets
  • PC and tablet; work and play; keyboard and touch
    • As much innovation in HW form factor as there is individuality in customer base
  • Alive with activity
    • Have built the experience that is essential for this generation
  • Phone is 1st class member of Windows family
    • The phone you want to own, if you own a Windows 8 system
    • 100s of millions of Windows 8 systems sold in next year
    • If you want the best experience with Windows 8, you’ll own Windows Phone 8
    • Killer hardware

     

Image

 

These launches kick off the golden age of opportunity for Windows developers

  • Opportunity to build great applications is tremendous
  • Build across form factors–write one modern UI app across all
  • Easy to share code across form factors
  • Same cloud infrastructure across all devices  (SkyDrive w/Microsoft account)
  • Apps you build on Windows platform will be better than any you build elsewhere
  • Application experience is personalized to match each user
  • App is easier to use from discoverability perspective  — users find your app

 

Image

 

IE 10 in Windows 8

  • Fast / fluid / touch-optimized
  • Build better web experiences

 

Demo – Windows 8 on new generation of hardware  (18:10)

  • Steve is doing the demo himself, using his personal account

 

Giant touchscreen – Perceptive Pixel – 82″ Windows 8 Slate

  • Eventually we’ll have these at reasonable price point

 

Image
Image
Image
Image
  • SkyDrive allows roaming data across all of your devices
  • Ink annotations in OneNote
  • SEAN: Sure, touch targets in Office are reasonably sized, when you run on an 80″ monitor.  :O)

 

Dell All in One – XPS One

  • With Intel Core i7
  • Search – no apps results
  • Click on various search targets to see results in each target
  • One search, results across multiple apps
  • Your apps can do this too
  • New Bing app
    • Can do search
    • Can drag to side of screen and tab through various pages, each page opened in IE
  • OOPS: Steve can’t quite grab touch target to move Bing app off screen–takes him 4-5 tries
  • News app
    • Any search term => newspaper format, with multiple stories
    • Can Share from news article, to various apps
    • Send e-mail via sharing, never left News app
  • Change lock screen on All in One; lock screen on large screen automatically updates (roaming)  (28:57)
Image

 

Windows Phone devices

Image
Image
  • 4.8″ Samsung device
Image
  • HTC phone
Image
  • Nokia phone
    • We see ink annotations on OneNote doc, roamed from SkyDrive
    • Real-time, automatic roaming
Image
  • Asus Vivo, 1.15 lbs detached
Image
  • Screen detaches
  • Can ping something from within app out to Start Screen (e.g. Team in Sports app)
    • Any app can do this–deep links, ability to pin to Start Screen, with live info
    • (34:19)
Image
  • Microsoft Surface
    • PC meets the tablet
    • Office apps built-in
    • Also good for play
    • Built-in: XBox Music
    • With every Windows 8 device, you get free streaming of music
    • Steve asks for song suggestions
    • Someone shouts out “Freebird” and Steve is baffled.  Hasn’t heard of it??
  • Tablet, notebook, or freestanding tablet
Image

 

  • Lenovo ThinkPad Tablet 2, Intel Atom processor
    • Runs all Win32 apps
    • “Runs absolutely everything”
Image
Image

 

  • Acer Aspire S7-191
    • Most surprising to people
    • 2.38 lbs, i5 or i7
    • Touch laptops — cool
    • Likely this is what Software Developers will want
    • (42:27)
    • Develop and test on the same machine
  • Showing MSN for Windows 8, web site, optimized for Touch

 

“We’re all-in with Windows 8”

  • Every group at Microsoft has contributed something
  • E.g. XBox group

 

Video – XBox control from Windows 8 (44:44)

 

Image

 

(46:03)

 

Steve Guggenheim – Corp Vice President & DPE

 

Image
  • Spent last 5 years working on Hardware ecosystem
  • HW doesn’t come to life until SW is available
  • Will show some apps that show HW + SW, running on Surface
Image

 

  • Agent P game
    • Disney brought app to Windows 8 using HTML5 / JavaScript
    • Can plug all kinds of peripherals into hardware
    • E.g. Game controller plugged in via USB
    • Can hook to TV via HDMI out, use game controller
  • Skype demo
    • HTML on front-end, C++ on back-end
    • Dock Skype to side, bring game back up on side screen
    • SEAN: Showing off using Windows to do 2 things at once?  For Windows users, what’s the big deal??

 

Running on all-in-one, Autodesk application

  • HP Workstation
  • Can lay down, open up case (?!)
Image
  • All existing Win 7 apps just run
  • Autodesk built complementary app
  • Running Autodesk on Sony Vaio
    • Store files on SkyDrive
    • Switch to Sketch application
    • Use pen
Image

 

  • Back to Phineas/Ferb game, on Windows Phone 8
    • Easy to move between devices

     

Economics & montenization

  • Use Windows Store engine
  • 70% of revenue goes to you
  • At $25k, you get 80% of revenue
  • In-app advertising and sales

 

Bing Travel app

  • Ad right in app
Image

 

Fish with Attitude game

  • Real money, buy treasure in game
  • Payment: Microsoft, PayPal  (commerce engines)
  • Ability to monetize

 

ESPN app demo – Michael Bayle

Image

 

ESPN app for Windows 8

  • Today – user access assets via web site
  • ESPN app aggregates all this extra content into one app
  • With pinning, semantic zoom, etc. — personal experience
  • First look at ESPN app
Image
Image

 

(1:01:34)

Back to Ballmer

 

Lots of apps:

Image
  • E.g. SAP (ouch), DropBox
  • Twitter announced that they’ll build Twitter app for Win 8
    • SEAN: Only now??
  • With built-in People app, you can connect directly into certain apps
    • E.g. Facebook, Twitter

 

Unprecedented market

  • 670 million potential upgrades  (current Win 7 users)
  • 400 million new devices
  • Windows Phone rising
  • Marketing investment

 

Why write apps for Windows 8?

  • Key: Lot of people will use the app
    • Win 8 takes less resources than Windows 7
  • Predict we’ll see lots of growth & vitality in PC market
    • But even if PC market stays flat, will still be 400 million new devices you can target
  • Windows Phone
    • Small volume player today
    • Most differentiated approach to market
    • Killer hardware
    • Excellent opportunity
    • We will do more marketing and better marketing for Win 8
    • * applause *
  • This is a market (Win 8) that will explode
    • Can do your best work here
    • Can make money
    • Best opportunity for software developers today
  • “We need your support, we need your commitment”
  • For those of you in the room
    • Every BUILD attendee gets
      • 100GB SkyDrive storage for free
      • (Audience lukewarm reaction)
      • Surface RT 32GB with Touch Cover
      • SEAN: For drama, he should have taped a Surface to the bottom of each chair
    • Make me two promises
      • Go out and write lots of apps
      • Don’t run out and try to get them right now

       

Commercial for Windows Phone running

Image

 

Kevin Gallo – Director of Program Management, Windows Phone

Image

 

Four topics

  • Introduction to Windows Phone 8
  • How to develop apps
  • New features in Windows Phone 8
  • Advancements in native games

 

Most personal phone on the market

  • Kevin’s phone
Image
  • What you care about most is front and center on the phone
  • Kid’s Corner
    • Special place for kids
    • You configure it for just the apps that you want them to use
    • “Phone inside of a phone”
    • Customized for the kid
  • Rooms
    • Groups of people, sharing notes, calendar, photos
    • Ideals for families

     

Windows 8 Developer Platform

  • Reimagined Windows platform
  • The Right platform at the right time
  • New hardware, new UI, common cloud services

 

New era

  • Ubiquitous mobile devices
  • Experiences transition across many devices
  • (1:18:09)

 

Announcing the release of the Windows Phone 8 SDK

 

Build apps that work on both Windows and Windows Phone

  • Shared Windows Core
  • Common API Set on top of that

 

Image

Demo – Visual Studio

  • App – Picture Sharing
  • 3 projects
    • Win Phone 8
    • Win 8
    • Shared Code – C#, runs on both
  • Old C++ code, wrapped in .NET, with photo filters
  • HyperV-based Windows Phone 8 emulator

 

Image
  • Easy to integrate code from other sources, e.g. C++

 

New features on Windows Phone platform

  • You asked, we delivered
  • Lots of new features

 

New features

  • Easy-to-build fast, fluid, UI
    • Better performance for existing controls
  • Live tiles, lock screen, wallpaper
  • Improved dev center and Store
  • Deeper integration w/phone experiences
    • E.g. lenses
  • Better multitasking
    • Location-based apps in background
  • Advanced networking
    • Bluetooth data transfer
    • Peer networking
    • Proximity connect (NFC)
  • TOTAL: 90% of top dev requests done

 

(1:26:45)

Demo – AR drone quad copter

  • Built phone app to control the drone
Image

 

75% of top grossing apps are games

  • Common gaming platform for Windows
  • High-perf C++ code (e.g. Direct3D)
  • Store is global
  • In-app purchase of consumables (currency) and durables (game levels)
  • More ways to make money
  • Over half of all games using gaming middleware
    • E.g. Unity, Havok, Ogre, etc.

 

(1:30:18)

Demo – Unity – Tony Garcia

Image

 

Unity on Windows Phone 8

  • Scripting engine for building game logic
  • Building game for Win Phone inside of Unity
Image
  • Run scene inside Unity Preview window, for debugging
  • Deploy to Windows Phone
    • Build, creates Windows Phone 8 project
    • Creates Visual Studio project
  • Then run on device
Image
  • Works on Windows 8 tablets as well

 

(1:34:05)

Back to Kevin

 

One more guest on stage – Richard Kerris from Nokia – VP, Global Head of Developer Relations

Image
  • Lumia 920
Image
  • Developers should get this phone first
    • We’ll give you a Nokia Lumia 920
    • Everyone gets one

 

Reduce registration from $99 to $8, for next 8 days

Image

 

Using Microsoft Surface in the Real World, part I

When the new Microsoft Surface device was announced, I decided to dive in and become an early adopter.  I promptly ordered a Surface (with Windows RT) and was pleased to get a confirmation e-mail indicating that I would receive my surface on 26 Oct, 2012–the same day that the Surface RT launched.

I’ve had the chance to start using the Surface RT over the past few days, so I thought I’d share some of my first impressions.  In this first post, I’ll offer up my thoughts about where the Surface fits into the mobile devices ecosystem and who the target market is.  In future posts, I’ll dive more into using the Surface for a variety of tasks.

(Note: “Surface RT” is my shorthand for Microsoft’s official name of “Surface with Windows RT”.  This is to contrast with “Surface with Windows 8 Pro”, which will ship in January, 2013).

In for A Penny

The three main Surface SKUs are as follows:

  • 32GB, tablet only – $499
  • 32GB, with Touch Cover – $599
  • 64GB, with Touch Cover – $699

I opted to go “all in” and got the 64GB model with the Touch Cover.

Touch Cover or Type Cover?

The Touch Cover is one of the two available add-on keyboard covers, which both snap in to the side of the Surface and also fold over the screen to act as a cover.  Comparing the two keyboards:

  • Touch Cover – $119.99 (if bought separately), pressure-sensitive keys, 3.25 mm thick,  0.46 lbs, comes in Cyan, White, Magenta, Black, Red.  Spill resistant.
  • Type Cover – $129.99, mechanical keys, 6 mm thick, 0.55 lbs, comes in black.  Includes function keys.

So you want the Type Cover if you want a keyboard with keys that actually move.  You want the Touch Cover if you want your Surface to be 3 mm thinner, you need a stylish color for a keyboard cover, or you expect to spill a hot cup of coffee all over the keyboard.  I drink a lot of coffee, so I went with the Touch Cover.

Both keyboards also include a trackpad.

It’s also worth mentioning that since the Surface has a USB port, you can plug in an external keyboard or mouse.  Since you only get one USB port, it’s a Sophie’s Choice situation and you have to pick which one you’d rather use.  In all honesty, this makes complete sense–I can see plugging in an external mouse, making it easier to work with the desktop-based Office applications.  But I’m less convinced that you’d want to plug in a full-size keyboard.

Those Other Guys

Since I haven’t yet talked about using the Surface, it’s perhaps premature to compare it to that other tablet.  And Microsoft may tell you that they are not competing directly against the iPad or targeting the same market.  Still, plenty of buyers will be making a buying decision between these devices, based mostly on the bullet item list.  So it’s worth considering how the Surface looks on the showroom floor, as compared to the iPad.

There are even more SKUs for the iPad than the Surface–I counted 14 different iPad SKUs.  Let’s just line up at least one of the iPad models to see how it compares to the Surface.

32GB WiFi Retina iPad vs. 32GB Surface (w/no Touch Cover)

  • iPad – $599 buys you a 32GB Wi-Fi only iPad with
    • 9.7″ display with 264 PPI (pixels per inch), 2048 x 1536
    • 1.44 lbs, 9.4 mm thick
    • 69-1/2 sq in of device
    • Dual-core A6X chip with quad-core graphics (1GB RAM)
    • Cameras: 1.2MP front-facing (720p HD video), 5MP rear-facing (1080p HD video)
    • 802.11 a/b/g/n Wi-Fi
    • Bluetooth 4.0
    • Battery: 10 hrs of use, 42.5 W-h
    • App store with 700,000 apps
  • Surface RT – $499 buys you a 32GB Wi-Fi only Surface with
    • 10.6″ display with with 148 PPI, 1366 x 768
    • 1.5 lbs, 9.4 mm thick
    • 73-1/4 sq in of device
    • Quad-core NVIDIA Tegra 3 (2GB RAM)
    • Cameras: Front and rear 1.2MP (720p HD video)
    • 802.11 a/b/g/n Wi-Fi
    • Bluetooth 4.0
    • Battery: 10 hrs of use, 31.5 W-h
    • App store with 10,000 apps  (growing by 500 apps/day)
    • microSD slot
    • USB 2.0 port
    • Port for Touch/Type Cover keyboards

So $100 more for the iPad gets you a higher resolution screen, better camera, and a lot more apps–while giving up the extra microSD and USB ports, as well as the ability to attach a Touch/Type cover.

We might also compare the $499 Surface RT against the $399 Wi-Fi iPad 2.  The differences between the two are then:

  • iPad 2 $100 less than Surface RT
  • iPad 2 has 16GB memory, vs. 32GB for Surface RT
  • iPad 2 with 132 PPI display vs. 148 PPI for Surface RT
  • Similar cameras
  • microSD slot, USB 2.0 port and Touch/Type Cover ports for Surface RT

Why a Tablet?

I’ve grown up knowing Microsoft as a software company.  They’ve had a few forays into hardware markets, some of which worked out well (e.g. XBox, the $1+B warranty costs notwithstanding) and some that didn’t (e.g. Zune).  But other than XBox, they still make most of their money off of software–Windows on the desktop, Windows Server, and Office.  At roughly $18 billion a quarter, they’re doing pretty well–until you consider that Apple’s revenue is nearly double that of Microsoft’s and that most of it comes from selling mobile devices to consumers.

The mobile device market has exploded in the past couple of years and iOS has mostly dominated the market, with Android now making serious inroads.  Given the size of the mobile market, and the fact that it’s still growing, Microsoft absolutely needs to be a player in this space.  They will continue to make lots of money off of software for many years to come.  But to remain relevant, they need to grab a piece of the mobile devices market.

Windows 8 is Microsoft’s bid for a touch-centric mobile operating system, competing against Android and iOS.  But having a great software offering for mobile won’t do any good unless people start actually buying devices that are running Windows 8.

This is the point where Microsoft is going all-in.  It’s not enough for them to create a great touch-based operating system and then just hand it off to their hardware partners and pray that the partners get some traction in the market.  This market is too important for Microsoft to entrust  it entirely to their partners.  They can’t afford not to build their own hardware device–one that showcases what they’ve done with Windows 8.  Like Apple, they can then take a no compromises approach to the device, developing both the hardware and the software and controlling the entire user experience.  Case in point: there is no third-party crapware on the Surface.

Microsoft is, of course, hoping that their partners also do well in getting Windows 8 mobile devices into users’ hands.  But building the Surface lets them stand out in front of the partners and show them what the user experience should be for these devices.  That’s why the Surface RT and Surface Pro devices exist.

Who Is This Thing For?

The tablet market is an outgrowth of the smartphone market, both of which are mobile devices with a persistent connection to the Internet and enough horsepower to deliver a rich user experience.

Smartphones and tablets are both targeted at a wide variety of users (which is why the market is so huge).  This covers younger users, using smartphones for communication and social, all the way up to the 60+ crowd, using tablets for e-mail and web browsing.

In my mind, the tablet is primarily a device for the couch.  It’s mainly targeted at consumers using it while at home, for things like:

  • Browsing the web  (e.g. the Pinterest addiction)
  • Social  (Facebook, Twitter, Google+)
  • E-mail
  • Games
  • Entertainment  (Netflix, Hulu, YouTube)
  • News

While the tablet is seen as more of a media and entertainment device, the smartphone is seen as a device for communication and social.  It’s easy to make the case that many users will regularly use both devices.  During the day, they carry their phone, using it for texting, voice and checking social networks.  In the evening, they plop down on the couch, pull out their tablet and use it to check e-mail, play a game, or watch a show (TV or movies).

The tablet is therefore primarily a consumer-targeted device used for content consumption.  This is our “post PC” era, where the devices that we use have evolved to better fit our model of using them mostly for consumption.

To a lesser degree, tablets have also begun to be seen as a productivity device.  As people start using these devices for content consumption and the devices become ubiquitous, it’s only natural that we’ll want to start using them at work, or using them to do work.  There are a variety of productivity use cases, including:

  • Checking work e-mail from home
  • Contact management
  • Creating/editing/sharing documents
  • Running custom enterprise apps for consuming and sharing business data

People have been talking at length about the BYOD (Bring Your Own Device) phenomenon, with people bringing their tablets to work and expecting them to integrate seamlessly into the enterprise ecosystem.  But iOS and Android devices have not yet made serious inroads into the enterprise.  There are still many challenges, including: security, authentication and easy sharing of data.  There’s also potentially a high development cost, as employees expect someone to port existing Windows-based enterprise applications to the tablet platforms.

This is Microsoft’s big gamble and where they really hope to make inroads into the enterprise with Windows 8 tablets.  A tablet based on Windows can bypass many of the typical issues with BYOD.  File sharing becomes easier, Remote Desktop allows connecting to your desktop from home, and support for Active Directory makes authentication trivial.

The gotcha for Microsoft is that BYOD doesn’t work unless users actually have the device to bring to work in the first place.  There might be some cases where an enterprise will proactively acquire Windows 8 devices.  But the more natural progression is that users will start out with a Windows 8 tablet as a content consumption device at home and then bring the tablet to work, where they’ll begin to use it as a productivity device.

Surface for Windows RT is the first step along this path.  It’s meant to be the consumer-focused device for content consumption.  It’s the device for the couch.  It’s big brother, Surface with Windows 8 Pro, is the next step along the path.  It will be the device that you’ll want to bring to work, adding support for Outlook, Sharepoint, desktop applications and Active Directory.  (Find Surface with Windows RT vs. Surface with Windows 8 Pro comparison here).

At least that’s the idea.  For the vision to work, Microsot first needs users to buy Windows 8 tablets.

Next Time

That’s enough for now.  Next time, I’ll start diving into examples of specific things that I’ve tried using the Surface for.

Microsoft Surface Unboxing

Unboxing a new 64GB Surface tablet from Microsoft.  This is the 64GB Surface with black touch cover, $699.  Microsoft was as good as their word and I received the Surface on 26 Oct, 2012–launch day for Windows 8 and for Surface.  No lines, no waiting.

Fairly attractive box.

Simple branding.

The whole she-bang–a simple black outer sleeve with an inner white box for the Surface.

The inner white box, also with simple branding.

Slide the white box to reveal the touch cover in a little compartment below.

A closer view of the touch cover, with a fairly pleasant black material.

Another view of the touch cover.

Touch cover from the side

Keys on touch cover are slightly raised, but do not click or have any travel.

A closeup of the magnetic connector at the back of the touch cover.

The full touch cover keyboard

Instructions are in tiny little booklet.

Simple and elegant instructions on how to use kickstand and touch cover

Finally, opening the main box

In the box is the Surface tablet and a power supply.

Surface is 12-1/2″ diagonal, in total

On edge

Below the device is another little instruction booklet.

Right edge has speaker, HD video out, USB and connector for power cable.

Connecting the touch cover was simple.  And yes, it did result in a satisfying click.

Another view of the right side of the Surface, including a good view of the kickstand flush against the back of the device

The outside surface of the touch cover is sort of fuzzy.

The magnetic connector for the touch cover

Another view of the touch cover connector

Power supply has folding set of prongs.

Power supply connector on the Surface side is another magnetic connector.

Surface now plugged in

Flipping out the kickstand

Standing on the kickstand, with the touch cover folded up

Side view, kickstand out, touch cover up

Small instruction booklet

Warranty and license junk for Windows (both Windows 8 and Windows RT)

Windows RT instruction manual couldn’t be simpler.

Instructions for the Surface itself, showing the location of various ports

Hardware setup consists of clicking the touch cover onto the Surface.

Software setup consists of pressing power button and following instructions.

Badge with model info is behind the kickstand.

microSD port is behind the kickstand.

View of the edge of touch cover with folded over connector strip

Surface is plugged in and charging.

One final view

 

Azure Pricing for Web and Worker Roles

Here’s a simple chart showing current Azure pricing for web and worker roles.  The chart shows the per-month cost based on the # of instances and a particular instance size.

 

Instance Size
# instances XS S Med Lg Xlarge
1 $14.40 $86.40 $172.80 $345.60 $691.20
2 $28.80 $172.80 $345.60 $691.20 $1,382.40
3 $43.20 $259.20 $518.40 $1,036.80 $2,073.60
4 $57.60 $345.60 $691.20 $1,382.40 $2,764.80
5 $72.00 $432.00 $864.00 $1,728.00 $3,456.00
6 $86.40 $518.40 $1,036.80 $2,073.60 $4,147.20
7 $100.80 $604.80 $1,209.60 $2,419.20 $4,838.40
8 $115.20 $691.20 $1,382.40 $2,764.80 $5,529.60
9 $129.60 $777.60 $1,555.20 $3,110.40 $6,220.80
10 $144.00 $864.00 $1,728.00 $3,456.00 $6,912.00
11 $158.40 $950.40 $1,900.80 $3,801.60 $7,603.20
12 $172.80 $1,036.80 $2,073.60 $4,147.20 $8,294.40

 

 

Here’s a chart that shows the same data.

 

8 Traits of Great Metro Style Apps

Notes from http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx

8 Traits of Great Metro Style Apps

Bonny Lau

1. Metro design style

  • Content before chrome
    • Leave only most relevant stuff on screen
    • Remove gradients
    • Use typography to shore hierarchy
    • Controls can be in app bar (Win-Z or swipe)
    • Use project templates

2. Be fast and fluid

  • Animation illustrates what is happening
  • Many built into controls
  • Animation library–standard animations
  • Touch-first
    • Windows 8 touch language
      • Press/hold to learn
      • Tap for action

3. Snap and scale beautifully

  • Screen sizes: 1024×768 on up
  • Larger screens, show users more content
  • Snap state

4. Use the right contracts

  • Share, Search, File Picker
  • Any app can share data with other apps
    • Source app provides something to share
    • Target app
  • Every app can be share source
  • Search contract
    • Search app from within Windows
    • Results displayed in app
  • File picker contract
    • Pull files from app or push
  • Invest in good tile

5. Invest in a great tile

  • Front door
  • Highlight content & brand personality

6. Feel connected and alive

  • Dynamic/relevant/personal content on tiles

7. Roam to the cloud

  • Every app gets per-user cloud storage for settings, state, etc.

8. Embrace the Metro design principles

  • Do more with less
  • Pride in craftsmanship (typography matters)
  • Be fast and fluid
  • Authentically digital (connected)
  • Win as one – contracts to work w/other apps