* Blog post: http://wakeupandcode.com/deeper-into-windows-10-development
The presentation material was adopted from the Microsoft Virtual Academy course on Windows 10 app development, hosted by Jerry Nixon and Andy Wigley.
Whether you’re new to app development, or a published developer, learn how you can leverage your current skills to build apps for the next generation of Windows. Join Sr. Technical Evangelist Shahed Chowdhuri and go deeper into Windows 10 app development. All in-person attendees will get a free BizSpark code which will give you access to all Visual Studio editions, a Windows Store publishing account, free Azure credits, and more!
Capturing Your Audience with Kinect: featuring Speech Bubbles for Kinect v2.
Are your business visitors bored with static posters or looped videos that convey the same old message about your company? Find out how you can use the new Kinect v2 for Windows device to attract and delight your visitors with an interactive lobby display that delivers a message, while capturing audience.
These slides are from my talk at the JSinSA (http://www.jsinsa.com/). This talk covers things I want people to know about Microsoft & JavaScript and highlights my favourite features & tools!
Video: http://youtu.be/KIPo3Rct1E4
More: http://sadev.co.za/content/visual%20studio%20%3C3%20javascript
A high level tour of what DevOps is and how the tooling from Microsoft aligns & assists an organization move to DevOps.
This session was presented as part of the Microsoft South Africa Dev Day roadshow in March 2015.
More info at: http://www.sadev.co.za/content/slides-my-devday-march-2015-talks
How to build mobile experiences for any platform using Azure, with capabilities like data storage, offline data sync, authentication with Azure Active Directory and push notification?
Capturing Your Audience with Kinect: featuring Speech Bubbles for Kinect v2.
Are your business visitors bored with static posters or looped videos that convey the same old message about your company? Find out how you can use the new Kinect v2 for Windows device to attract and delight your visitors with an interactive lobby display that delivers a message, while capturing audience.
These slides are from my talk at the JSinSA (http://www.jsinsa.com/). This talk covers things I want people to know about Microsoft & JavaScript and highlights my favourite features & tools!
Video: http://youtu.be/KIPo3Rct1E4
More: http://sadev.co.za/content/visual%20studio%20%3C3%20javascript
A high level tour of what DevOps is and how the tooling from Microsoft aligns & assists an organization move to DevOps.
This session was presented as part of the Microsoft South Africa Dev Day roadshow in March 2015.
More info at: http://www.sadev.co.za/content/slides-my-devday-march-2015-talks
How to build mobile experiences for any platform using Azure, with capabilities like data storage, offline data sync, authentication with Azure Active Directory and push notification?
This presentation is an overview of the mobile development process with Adobe AIR. It discusses iOS, RIM, and Android development with Flash CS5 and Flash Builder (burrito)
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
Mark Smith shows you how to automate your app development pipeline with Visual Studio App Center. You’ll walk through how to connect your app to App Center and start improving your development process and your apps immediately.
Watch recording at https://youtu.be/QXLOzdpYPXU
An Introduction to Universal Windows AppsKen Cenerelli
At Build 2014 the world was introduced to the idea of creating Universal Windows apps. This technology will allow developers to extend platform commonality across multiple Windows devices from one shared project.
In this session I will demonstrate what you will need to know to get going quickly on building one application for both Windows Phone 8.1 and Windows 8.1 OS. We will also see how to extend your project to include other new features.
This talk was given at ConFoo 2015.
* Blog post: http://wakeupandcode.com/asp-net-and-unit-testing
Learn how you can use Unit Testing to build robust web applications in ASP.NET!
Anyone can learn how to build web applications.... but how robust is your application in the real world? With Unit Testing, you can write code to test your application code to detect and prevent bugs!
More and more companies are building their applications to support smart phones and tablets, as a result of tremendous growth on those markets.
The big questions is how you can build your application to support multiple devices and operation systems? Building the same application for different platforms is not just time consuming but also require a lot of maintenance and different skill set for each platform - Each bug or feature need to be develop for all platforms.
In this session we’ll talked about Hybrid mobile development platforms such as Cordova and Xamarin, we’ll talked about ROI, UI\UX, Learning curve and how you can developer mobile app for all platform with a single code base.
A session on using Flex and AIR to develop application that can run on IOS, Android,or PlayBook. A primer on getting at least close to the dream of one code base, multiple devices.
This Presentation will give u information about Android :
1. Working with resources- String resource,
2. Color resource,
3. Array resource Android layouts and views Handling user interaction events Grouping,
4. accessing of resources Localization of Resources Handling runtime changes of resources Designing your GUI
Blog Post: http://WakeUpAndCode.com/crossasp-net-core-mvc-web-api-nvcc
Recently known as ASP.NET 5, the all-new ASP.NET Core 1.0 is Microsoft's cross-platform lightweight approach to building robust applications for the modern Web. Get a high-level overview of what you need to know about ASP.NET Core from Shahed Chowdhuri, Sr. Technical Evangelist @ Microsoft.
This presentation is an overview of the mobile development process with Adobe AIR. It discusses iOS, RIM, and Android development with Flash CS5 and Flash Builder (burrito)
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
Mark Smith shows you how to automate your app development pipeline with Visual Studio App Center. You’ll walk through how to connect your app to App Center and start improving your development process and your apps immediately.
Watch recording at https://youtu.be/QXLOzdpYPXU
An Introduction to Universal Windows AppsKen Cenerelli
At Build 2014 the world was introduced to the idea of creating Universal Windows apps. This technology will allow developers to extend platform commonality across multiple Windows devices from one shared project.
In this session I will demonstrate what you will need to know to get going quickly on building one application for both Windows Phone 8.1 and Windows 8.1 OS. We will also see how to extend your project to include other new features.
This talk was given at ConFoo 2015.
* Blog post: http://wakeupandcode.com/asp-net-and-unit-testing
Learn how you can use Unit Testing to build robust web applications in ASP.NET!
Anyone can learn how to build web applications.... but how robust is your application in the real world? With Unit Testing, you can write code to test your application code to detect and prevent bugs!
More and more companies are building their applications to support smart phones and tablets, as a result of tremendous growth on those markets.
The big questions is how you can build your application to support multiple devices and operation systems? Building the same application for different platforms is not just time consuming but also require a lot of maintenance and different skill set for each platform - Each bug or feature need to be develop for all platforms.
In this session we’ll talked about Hybrid mobile development platforms such as Cordova and Xamarin, we’ll talked about ROI, UI\UX, Learning curve and how you can developer mobile app for all platform with a single code base.
A session on using Flex and AIR to develop application that can run on IOS, Android,or PlayBook. A primer on getting at least close to the dream of one code base, multiple devices.
This Presentation will give u information about Android :
1. Working with resources- String resource,
2. Color resource,
3. Array resource Android layouts and views Handling user interaction events Grouping,
4. accessing of resources Localization of Resources Handling runtime changes of resources Designing your GUI
Blog Post: http://WakeUpAndCode.com/crossasp-net-core-mvc-web-api-nvcc
Recently known as ASP.NET 5, the all-new ASP.NET Core 1.0 is Microsoft's cross-platform lightweight approach to building robust applications for the modern Web. Get a high-level overview of what you need to know about ASP.NET Core from Shahed Chowdhuri, Sr. Technical Evangelist @ Microsoft.
Blog post: http://WakeUpAndCode.com/web-app-security
Whether you’re building your own web apps or using a commercial product, you should always be aware of potential security vulnerabilities that can bring down your website or put your users and data at risk. Join Shahed Chowdhuri (Sr. Technical Evangelist @ Microsoft) to learn about vulnerabilities such as SQL Injection and Cross-Site Scripting, and what you can do about them.
Blog post: wakeupandcode.com/asp-net-5-unit-testing
Learn how you can build more robust web applications with automated unit testing! While there are plenty of resources for learning ASP.NET web application development, many developers are missing out on the knowledge and experience of implementing proper Unit Tests. As ASP.NET 5 gets ready for prime time, it's essential for all .NET developers to get an understanding of how to build Unit Tests for real-world applications in a cloud-first mobile-first world.
This presentation material was put together for a live audience for my in-person presentations.
Blog post: http://wakeupandcode.com/deploy-your-web-site-web-app-on-azure
Learn how you can deploy your Web Site or Web App on Azure, the Microsoft Cloud!
* Blog post: http://wakeupandcode.com/gamedev-symposium-3
Presentation material for Indie Game Development presentation at Game Developer Symposium 3.0
Blog post: http://WakeUpAndCode.com/asp-net-core-testing
Learn all about automated unit testing in ASP.NET Core 1.0 (formerly known as ASP.NET 5) and how you can set up Visual Studio so that you can quickly test your apps in the real world.
* Blog Post: http://wakeupandcode.com/xamarin-xbox-bots-hololens/
* PPTX: http://wakeupandcode.com/public_downloads/02-XboxOne-DevMode-UWP.pptx
In addition to Xbox One dev kits for approved developers, anyone can now use a retail Xbox One to develop apps or games for Xbox One! Learn how you can get started today!
* Blog: http://wakeupandcode.com/build2016-xbox
Get caught up with the latest Xbox news from Build 2016 and hear about the different ways you can publish your very own game on Windows 10 and Xbox One. Use your own Xbox One console for development or apply for a dev kit via ID@Xbox. Harness the power of DirectX 12 and use a variety of tools to build your own games!
Blog Post: http://WakeUpAndCode.com/cross-platform-web-apps-asp-net-core
Recently known as ASP.NET 5, the all-new ASP.NET Core 1.0 is Microsoft's cross-platform lightweight approach to building robust applications for the modern Web. Get a high-level overview of what you need to know about ASP.NET Core from Shahed Chowdhuri, Sr. Technical Evangelist @ Microsoft.
지난 7월 29일, 개발자 여러분을 위해 준비한 "Windows 10 앱개발 100분 완성" 라이브 영상으로 Windows 10 UWP (Universal Windows Platform) 부터 IoT Core까지 Windows 10 과 관련된 전반적인 내용은 물론 개발에 필요한 핵심정보들을 전달해드립니다. 실시간으로 진행된 Q&A 와 Windows 10 앱개발 데모까지 On-demand 영상으로 확인하실 수 있습니다.
목차
1. UWP
2. XAML Controls
3. Networking
4. Linq
5. Adaptive UI
6. Data Binding
7. SQLite Local Database
8. Toast
Windows 10 pentru dezvoltatori - InfoEducație 2015Julian Atanasoae
În această prezentare vom vorbi despre ce aduce nou Windows 10, ce înseamnă arhitectura de aplicații universale și cum ne ajută să targetăm telefoane, tablete, PC-uri, Xbox și chiar HoloLens și Raspberry Pi. De asemenea, vedem cum ne ajută Microsoft să targetăm platformele concurente - iOS și Android.
Presentation to the Silverlight User Group in London on October 12th to provide a round-up of the recent BUILD conference in LA and an introduction to Windows 8 and the Windows Runtime.
With Windows 10 devices reaching nearly 300 million, this platform is becoming a very relevant platform for game publishers to target. Join this session to get a great overview of the Universal platform. We will cover the differences & similarities to desktop games development, the Windows store, and state of all the middleware engines and other Microsoft technologies you can use to easily port your game from other platforms (or desktop) to Universal.
Hello windows 10: An overview of the new features for developers in WIndows 10Visug
Windows 10 is finally here. Now is the time to learn about the awesome new features that the platform offers. Do you want to know what Windows 10 enables for developers? Or do you want to see how you can enhance your existing Windows 8.1 app? In this session, we will give you a full overview of the most important new features of Windows 10.
Windows 10 is finally here. Now is the time to learn about the awesome new features that the platform offers. Do you want to know what Windows 10 enables for developers? Or do you want to see how you can enhance your existing Windows 8.1 app? In this session, we will give you a full overview of the most important new features of Windows 10.
The new and improved ASP .NET Core 2.1 introduces some great new capabilities, the ability to host on multiple server platforms, and a number of new tools that you will want to get familiar with. Learn about the future of ASP.NET Core MVC, Web API, Razor Web Pages, SignalR, .NET Core Tools and Visual Studio 2017!
The new and improved ASP .NET Core 2.1 introduces some great new capabilities, the ability to host on multiple server platforms, and a number of new tools that you will want to get familiar with. Learn about the future of ASP.NET Core MVC, Web API, Razor Web Pages, SignalR, .NET Core Tools and Visual Studio 2017!
In a modern world of cloud computing and virtual reality experiences, see how Mixed Reality from Microsoft intersects with the real world while connected to various cloud services in Azure. Learn how you can get started with HoloLens and the all-new Windows Mixed Reality immersive headsets, while leveraging reusable skills in C#, Visual Studio, Azure, and Cognitive Services.
The upcoming ASP .NET Core 2.1 introduces some great new capabilities, the ability to host on multiple server platforms, and a number of new tools that you will want to get familiar with. Learn about the future of ASP.NET Core MVC, Web API, Razor Web Pages, .NET Core Tools and Visual Studio 2017!
Cloud-Backed Mixed Reality with HoloLens & Azure Cognitive ServicesShahed Chowdhuri
In a modern world of cloud computing and virtual reality experiences, see how Mixed Reality from Microsoft intersects with the real world while connected to various cloud services in Azure. Learn how you can get started with HoloLens and the all-new Windows Mixed Reality immersive headsets, while leveraging reusable skills in C#, Visual Studio, Azure, and Cognitive Services.
Get a tour of Microsoft’s wide range of Cognitive Services with a deep dive of the Computer Vision API. Learn about how you can recognize images, faces and emotions. Also take a peek at other services such as translation, speech recognition, natural language processing, etc. Use the tools you know and love with Visual Studio, C# and .NET to jump into a new world of Cognitive Services.
Create and publish your own games for Windows and Xbox One, using free development tools from Microsoft and our game development partners. Use Visual Studio, C# and .NET along with Unity to build 2D or 3D experiences for gamers, with support for keyboard, mouse, touch and controllers for all major platforms to maximize your reach with less effort. Also learn about Construct 3 for simpler 2D games or prototypes, with support for modern app stores, desktop and Xbox One.
Create and publish your own games for Windows and Xbox One, using free development tools from Microsoft and our game development partners. Use Visual Studio, C# and .NET along with Unity to build 2D or 3D experiences for gamers, with support for keyboard, mouse, touch and controllers for all major platforms to maximize your reach with less effort. Also learn about Construct 3 for simpler 2D games or prototypes, with support for modern app stores, desktop and Xbox One.
Whether you’re new to cloud computing or have been using various cloud services over the years, Azure Functions opens the door to new workflows for development, deployment, devops and scaling. Learn about how you can go serverless with Azure Functions using a web browser, code editor or a full blown IDE.
The all-new ASP .NET Core 2.0 introduces some great new capabilities, the ability to host on multiple server platforms, and a number of new tools that you will want to get familiar with. Learn about the future of ASP.NET Core MVC, Web API, Razor Web Pages, .NET Core Tools and Visual Studio 2017!
Intro to Xamarin: Cross-Platform Mobile Application DevelopmentShahed Chowdhuri
Xamarin is now a part of Microsoft and is included at no extra charge with any version of Visual Studio, even the free Community Edition! Build mobile apps for iOS, Android and Windows all from Visual Studio using C#!
Updated after Build 2017 and E3 2017.
In addition to Xbox One dev kits for approved developers, anyone can now use a retail Xbox One to develop apps or games for Xbox One! Learn how you can get started today!
Capture the Cloud with Azure, delivered at Angelbeat @ Arlington VA. Learn how about Azure can help you build cloud solutions with virtual machines, web apps, mobile apps, databases and analytics.
Intro to HoloLens Development + Windows Mixed RealityShahed Chowdhuri
Going beyond Virtual Reality and Augmented Reality, Microsoft brings you a new era of Mixed Reality with HoloLens! Learn how you and/or your organization can start developing for HoloLens today using Unity, Visual Studio and C#. Make use of Gaze, Gesture, Voice, Spatial Sound and Spatial Mapping for your holographic apps.
Capture the Cloud with Azure, delivered at Angelbeat @ Arlington VA. Learn how about Azure can help you build cloud solutions with virtual machines, web apps, mobile apps, databases and analytics.
* Blog Post: http://wakeupandcode.com/xamarin-xbox-bots-hololens/
* PPTX: http://wakeupandcode.com/public_downloads/04-HoloLens.pptx
HoloLens dev kits have started shipping! Learn how you can apply for one and get started with the HoloLens Simulator on Windows 10!
* Blog Post: http://wakeupandcode.com/xamarin-xbox-bots-hololens/
* PPTX: http://wakeupandcode.com/public_downloads/03-BotFramework.pptx
Microsoft's new Bot Framework allows devs to create intelligent bots to interact with users in a natural way. The possibilities of these new types of technologies get tremendously larger when coupled with Azure Services.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Deeper into Windows 10 Development
1. Deeper Into
Windows 10 Development
Universal Windows Apps
Shahed Chowdhuri
Sr. Technical Evangelist @ Microsoft
WakeUpAndCode.com
2. Agenda
Quick Overview
One Windows
Many devices
Windows 10 App Development
Build 2015
MSDN Channel 9
Microsoft Virtual Academy
Demos
Public projects from Github
3. Windows Core
The refactored common core
One hardware platform
Universal hardware driver
Standard network and I/O
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Desktop
SKU
Phone
SKU
Xbox
SKU
4. One Windows
Desktop
SKU
PC
2 in 1
Mobile
SKU
Tablet
Phablet
Phone
Xbox
SKU
Xbox
IoT
SKU
Band
IoT headless
SKU
Raspberry Pi
Home
Automation
Surface Hub
SKU
Surface Hub
Holographic
SKU
HoloLens
5. Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox IoTSurface Hub Holographic
Windows 10
6. One Store +
One Dev Center
Reuse
Existing Code
One SDK +
Tooling
Adaptive
User Interface
Natural
User Inputs
One Universal Windows Platform
7. Windows 10
operating system
Bridging technologies
Win32
desktop
Web
hosted
Java
Android
Obj.C
iOS
Universal Windows Platform
WWAC++
& CX
.Net
languages
HTML
DirectX
XAML
C++
.Net
languages
MFCWFWPF
.Net
runtime
10. Windows store distribution
Windows Phone 7.x, 8.x Windows 8.x Windows 10
Hidden apps
Per market pricing
Independent IAP publishing
Betas / flighting
Time based trials
App discounts
Scheduled publish
11. Considerations
Best practices
Consider ads during the design phase
Show video ads during natural breaks
Associate ads with real up-sides
Worst practices
Showing ads at app-start
Interrupt the user’s workflow
Back-to-back ads
12. In-app purchases
#if DEBUG
var license = CurrentAppSimulator.LicenseInformation;
if (license.ProductLicenses["AdFree"].IsActive)
{
// already owns
this.ShowAds = false;
}
else
{
var result = await CurrentAppSimulator.RequestProductPurchaseAsync("AdFree");
switch (result.Status)
{
case ProductPurchaseStatus.Succeeded:
case ProductPurchaseStatus.AlreadyPurchased:
this.ShowAds = false;
break;
default:
this.ShowAds = true;
break;
}
14. The XAML UI platform
Windows is standardizing
New experiences like Start and File Explorer use the XAML UI platform
The operating system has tremendous performance requirements
Office is standardizing
The universal suite of Office apps use the XAML UI platform
Office has tremendous usability and feature requirements
First-party is standardizing
New and existing MSN apps for Windows use the XAML UI platform
First party apps push the edge of API capability and availability
15. Blend, the XAML developer’s IDE
Visual Studio Shell
XAML Intellisense
XAML Peek
Sync Settings
Quick launch
Classic Blend
Resources
Data
Storyboards
States
Behaviors
18. The XAML UI platform is
foundational to Windows
19. x:Bind
Compiled binding
Bindings are committed at compile-time
Strongly-typed binding
Duck binding is not supported
Default mode is OneTime
OneWay and TwoWay are still available
Standard binding approaches
INotifyPropertyChanged, IObservableVector, INotifyCollectionChanged
22. When to use classic binding
Duck Typing
Text=“{Binding Age}” works for both PersonModel & WineModel
Dictionary graphs
Use {Binding} with JSON or other untyped objects
Code-behind binding
Can add/remove {x:Bind} @ runtime
Use in a style
{x:Bind} can’t be used in a style for setters
{x:Bind} can be used in a DataTemplate that is defined in the style
25. x:Phase & progressive rendering
<DataTemplate x:DataType="model:FileItem">
<Grid Width="200" Height="80">
<TextBlock Text="{x:Bind DisplayName}" />
<TextBlock Text="{x:Bind prettyDate}" x:Phase="1"/>
</Grid>
</DataTemplate>
Some guidance
Phase "0" is the default
Only a few, manageable phases
Phase numbers don't need to be contiguous
26. Understanding deferral
Reduce the number of elements at startup
Declare the UIElement-derived items (or containers) you don't want rendered
4 ways to realize an element
1. FindName()
2. EnsureElementRealized()
3. GetTemplatedChild() (for ControlTemplate)
4. Storyboard & VisualStates (because of FindName)
Nothing is free
A lightweight proxy element is created
Events are hooked up after realized
Binding is completed after realized (including x:Bind)
34. Visual States
Define XAML views
Unique layout for distinct states
Simplify animation
Automatically implement state transitions
Build in Blend
Design and preview states and transitions
35. How to set the visual state
VisualStateManager.Goto(element, state, transition)
public MainPage()
{
this.InitializeComponent();
this.SizeChanged += (s, e) =>
{
var state = "VisualState000min";
if (e.NewSize.Width > 1000)
state = "VisualState1000min";
else if (e.NewSize.Width > 800)
state = "VisualState800min";
else if (e.NewSize.Width > 500)
state = "VisualState500min";
VisualStateManager.GoToState(this, state, true);
};
}
36. Adaptive triggers
Code-free state transition
Two built-in triggers
MinWindowHeight (Taller than this)
MinWindowWidth (Wider than this)
<VisualState x:Name="VisualState500min">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="501" />
</VisualState.StateTriggers>
</VisualState>
37. Custom adaptive triggers
Build to handle special cases.
public class DeviceFamilyTrigger : StateTriggerBase
{
private string _deviceFamily;
public string DeviceFamily
{
get { return _deviceFamily; }
set
{
var qualifiers = Windows.ApplicationModel.Resources.Core
.ResourceContext.GetForCurrentView().QualifierValues;
if (qualifiers.ContainsKey("DeviceFamily"))
SetActive(qualifiers["DeviceFamily"] == (_deviceFamily = value));
else
SetActive(false);
}
}
}
39. What are Adaptive Apps?
Windows apps adapt to different versions of the platform
Windows apps adapt to different types of devices
Windows apps adapt to different screen sizes
Adaptive UI handles different screens
Adaptive Code can "light up" your app to conditionally execute code
only when running on specific device families and/or particular
versions of platform/extension APIs
Conditionally take advantage of unique device capabilities
Use newer APIs while still supporting down-level clients
41. Declare Device Family Dependencies
Dependency on a single device family:
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal"
minVersion="10.0.10069.0" maxVersionTested="10.5.0.0" />
</Dependencies>
On more than one:
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop"
minVersion="10.0.10069.0" maxVersionTested="10.5.0.0" />
<TargetDeviceFamily Name="Windows.Universal"
minVersion="10.0.10069.0" maxVersionTested="10.5.0.0" />
</Dependencies>
44. Locations where apps can access data
App Package
Folder
App data
FoldersApp data
FoldersApp data
Folders
Local
Roaming
Temp
Removable
Storage
(SD Card)
Credential
Locker
Publishers
Shared
Folder
Picker
Provider
apps
45. Package and App Data Folders
Package Manager installs all
app files into the App
package Folder
Read-only access from app
Apps store data in
Local Folder
Settings and properties in the
app settings dictionaries
Data in files
Structured data in database
files
Local or
Roaming
Settings File
App Creates/Manages
files and settings
Application
Files
App Data
Folder
Creates root folder
sandboxed to AppPackage
Manager
App Package Folder
WinRT Storage
APIs
Install
DB
Database file
DB Files (r/o)
46. Directly Accessible R/W Data Storage
Roaming
Folder Settings
• Other devices can
access what you
put in here
• Data roamed
cross-device
• Limited to 100KB
per application
• Held in OneDrive
storage
Local
Folder Settings
• Store local data
here for use by
your application
• Can store data up
to the limit of the
storage on the
device
• Retained if the
application is
updated
Temp
Folder
• Use for
temporary
storage
• No guarantee
it will still be
here next time
your program
runs
• Cleaned up in
a low storage
condition
Windows.Security.
Credentials
PasswordVault
Credentials
• Credential
Locker
• Use for secure
storage of
PasswordCred-
ential objects
• Data roamed
cross-device
Publisher Cache
Folder
• Shared storage
for apps from
same publisher
• Declare in app
manifest
New
50. Choice of .NET APIs
SQLite-NET
LINQ syntax
Lightweight ORM
SQLitePCL
SQL statements
Thin wrapper around the SQLite C API
using (var conn = new SQLiteConnection("demo.db"))
{
Customer customer = null;
using (var statement = conn.Prepare(
"SELECT Id, Name FROM Customer WHERE Id = ?"))
{
statement.Bind(1, customerId);
if (SQLiteResult.DONE == statement.Step()) {
customer = new Customer() {
Id = (long)statement[0],
Name = (string)statement[1] };
}
}
}
var db =
new SQLite.SQLiteAsyncConnection(App.DBPath);
var _customer = await
(from c in db.Table<Customer>()
where c.Id == customerId
select c).FirstOrDefaultAsync();
if (customer != null)
{
var Id = _customer.Id;
var Name = _customer.Name;
}
…and others!
51. Installing the SQLite Library
Visual Studio Extension
(.vsix)
Install from Visual Studio
Tools – Extensions and Updates…
Or download from
SQLite.org
53. Frameworks that use SQLite
Entity Framework 7Azure App Service Mobile
Apps
Easy to implement offline data sync uses SQLite
for local data storage
01010
00100
10110
00100
Lightweight ORM. Supports offline data sync
using SQLite for local data storage
See BUILD session 2-693 Entity Framework 7
http://channel9.msdn.com/Events/Build/2015/2-693
55. Enhanced App to App in Windows 10
Send file token, send data
Launch a *specific* app
App Services
Launch for Results
56. URI Activation++
Invoke a specific app
var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";
var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");
await Launcher.LaunchUriAsync(launchUri, options);
57. URI Activation++
Send Files
var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";
var token = SharedStorageAccessManager.AddFile (gpxFile);
ValueSet inputData = new ValueSet();
inputData.Add("Token", token);
var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");
await Launcher.LaunchUriAsync(launchUri, options, inputData);
58. Query URI Support
Discover if app already installed to handle a Uri
var queryUri = new Uri("instapaper:");
await Launcher.QueryUriSupportAsync(queryUri, LaunchUriType.LaunchUri);
?
var queryUri = new Uri("instapaper:");
string packageFamilyName = "24919.InstapaperIt";
await Launcher.QueryUriSupportAsync(queryUri, LaunchUriType.LaunchUriForResults, packageFamilyName);
59. App Services
Covered in separate module
Client App A
Client App B Background Task
App with App Service
61. String resources
{ project }/Strings
Off the root, this is a convention
{ project }/Strings/en-US
Matching the local identifier
{ project }/Strings/en-US/Resources.resw
Resource file with localized strings
62. Resource loader
Access strings directly
Dialogs, errors, validate
async void Alert(string messageId)
{
var loader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView();
var title = loader.GetString(string.Format("{0}.Title", messageId));
var message = loader.GetString(string.Format("{0}.Message", messageId));
var button = loader.GetString(string.Format("{0}.Button", messageId));
var dialog = new ContentDialog
{
Title = title,
Content = message,
PrimaryButtonText = button
};
await dialog.ShowAsync();
}
63. Multilingual app toolkit
Support for XLF (version 1.2) files
Typical format for custom, translation houses
Inside Visual Studio
Microsoft translator service (machine learning)
Microsoft’s professionally translated strings (originally built for Office)
Outside Visual Studio
Free community tool
68. Extended execution
Requesting extended execution
There is no guarantee resources are available
Extended execution has no UI
Scenario “I have data this time”
Handle the Revoked event (1 second warning)
Scenario “I’m a special kind of app”
These apps run indefinitely
Special kinds of apps
1. Turn-by-turn (location tracking) app
2. Audio & VOIP application
71. Building a background task
Respect cost
BackgroundWorkCostValue.High means the task should not do work
Handling cancelation
Tasks can be cancelled by the app or operating system heuristics
Running in deferral
Background tasks do not have to operate asynchronously
Progress feedback
Progress is a numeric value
73. System condition(s) [ if? ]
User Present
If the user is present
User Not Present
If the user is not present
Internet Available
If the internet is available
Internet Not Available
If the internet is not available
Session Connected
If the user is logged in
Session Disconnected
If the user is not logged in
Free Network Available
If a non-metered network is available
Work Cost Not High
If background resources are plentiful
74. Host tasks in foreground process
In-process
Simplified communication
Shares memory caps
Foreground app starts in app.exe
Background task starts in app.exe
Default process
Hosted in separate process
Separate memory cap
Default process
app.exe
Core
Application
Background
Task
backgroundtaskhost.exe
App Container
In process
app.exe
Core
Application
Background
Task
backgroundtaskhost.exe
App Container
77. Scenario: Bar Code Scanning
Bar Code decoding
App Service
Image bytes in
ValueSet or FileToken
Decoded data
78. Scenario: Enterprise suite of apps
App Service
Maintains Inventory cache
Client App A
Client App B
Interact with
cloud services
App Service
Proximity Reading Services
79. Can I restrict access to my App Service?
Build your own caller validation mechanisms on top
of app services
Simplest is for service provider to whitelist callers based on their
PackageFamilyName
PackageFamilyName of caller is passed with every request
Possible to build more complicated caller validation
mechanisms on top of ValueSets once a connection has
been established
Whitelist could be followed by explicit X.509 certificate exchange
88. Mobile Experiences - not just mobile devices
User is the center of the experience, not the
device.
Available on the right device at the right time
Input model optimized for the experience.
Enabling Mobile Experiences with Universal Apps
The Experience you want on the device you want
User
89. OS Settings Roaming in Windows 10
OS settings (personalization,
accessibility, language, Spartan/IE
support, credentials vault, etc) roam
with the primary account
OS settings roam to OneDrive
for Business for AAD identity
OS settings roam to OneDrive
for MSA identity
90. App Settings Roaming in Windows 10
Whether the primary account is
AAD or MSA, user can acquire apps
from both the consumer and (if
available) the corporate store
App settings roam to OneDrive
for Business for apps acquired
from the corporate store
App settings roam to OneDrive
for apps acquired from the
consumer store
91. Roaming Data
91
UWP app – PFN 12345
Roaming Local Temp
UWP app – PFN 12345
RoamingLocalTemp
PFN 12345
Roaming
folder
App writes data using standard
file/settings APIs.
Sync engine transfers data
periodically based on
triggers (user idle, battery,
network, etc.)
OneDrive (MSA identity) stores up to 100kb
of roaming data per app (not included in
user quota). If app exceeds the limit, sync
stops.
Other clients are notified of
updated data via Windows
Notification Service. If app is
running when sync occurs, an
event is raised.Roaming
settings
/
93. Navigation with Frame.Navigate
Send to a type
Pass a string
Navigation service
Part of Template 10 project template
private void Goto2(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
var app = App.Current as Common.BootStrapper;
var nav = app.NavigationService;
nav.Navigate(typeof(Views.Page2), "My parameter value");
}
94. Navigation parameters
Page.OnNavigatedTo()
Standard in Windows
ViewModel.OnNavigatedTo
With Template 10 project template
public override void OnNavigatedTo(string parameter,
NavigationMode mode, IDictionary<string, object> state)
{
this.Parameter = parameter?.ToString() ?? "Empty";
}
95. Back button
Essentially same as Phone 8.1
Back navigates back within app, then to previous app
UAP apps request the optional, shell-drawn back button
With one improvement
Backing out does not close the app
And, a new scenario for tablet
In split screen, there is a [back stack] for each side of the screen
Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().IsShellChromeBackEnabled = true;
Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += HandleBack;
96. Back support
Support gestures
Windows + backspace
Hardware back button
Keyboard back button
Mouse back button
(Template 10)
Opt-in to back in Windowed mode
Automatic in immersive
Some guidance
Don’t strand users
Don’t hijack back
98. Options for Network/Cloud Services
Better to use high-level frameworks and services
where available
Use Microsoft Azure App Services to build a cloud backend services, but use
WebRoles, WorkerRoles, Queues etc if you need more flexibility
Use Microsoft Azure Notification Hubs to send notifications from backend
services in preference to writing low-level networking code to achieve this
Use BackgroundTransfer to download/upload files
Use Web Account Manager to perform OAuth2 authentication against
Internet identity providers
Use HttpClient for low level HTTP networking
99.
100. 1. Need a token
2. App needsa token
3. Stored?
6. Authenticate
7. Token
8. Token
9. Token
10. Getsdata using the token
UX
5. Creds
4. Throw UI
Web Account Manager
Microsoft Web Account Provider
Contoso Web Account Provider
Web Account Provider
YOUR
103. Basic State
Plate
App Logo
Short Name
Plate
App Logo
Short Name
Semi-Live State
Plate
App Logo
Short Name
Badge
Plate
App Logo
Short Name
Badge
Live State
Plate
App Icon
Short Name
Badge
Content
Plate
Short Name
Badge
App Icon
Content
Tile anatomy
104. Toasts
Glance (consume)
See new information from your apps.
Act (chase, or take actions)
Toasts invite you to begin or complete a task.
The toast is the app’s door by chasing (clicking) it.
Additional actions enable users to perform simple tasks without context switching.
108. Windows 8.0/8.1 Store Apps
Windows 8.0
Minimal code update required
Responsive UX Design/Implementation
Windows 10
109. Windows Phone 8.1 Store Apps (WinRT)
Windows Phone 8.1
Minor code updates for UAP APIs
Design UX for multiple form factors
Windows 10
110. Windows 8.1 Universal Apps
Windows 8.1
Merge UX
Refactor to single code-base & to
target UAP APIs
Windows 10
Windows Phone 8.1
111. Windows Phone Silverlight Apps
*Silverlight on Windows Phone 8.1 can be a mix of Silverlight and WinRT APIs
Windows Phone 7.5/7.8
Windows Phone 8.0
Windows Phone 8.1*
Port the UI Silverlight -> Windows XAML
Rewrite code to target UAP APIs*
Design UX for multiple form factors
Windows 10
112. Win8 apps will run on Win10, but
porting to UWP puts your app on
more device families
115. Drag and Drop
Extended for “Windowed” Apps
<!-- XAML -->
<Grid AllowDrop="True" DragOver="Do_DragOver" Drop="Do_Drop" …>
…
</Grid>
My AppFile Explorer
116. Desktop Share UX Changes In W10
116
Windows 8.x Windows 8.x app running on Windows 10
117. Many apps will be a share source
Only a few will be a share target
118. Next Steps:
• Start Here:
• https://dev.windows.com/en-us/downloads/windows-10-developer-tools
• Get Windows 10: http://microsoft.com/windows
• Get Visual Studio 2015: http://aka.ms/vs2015ce
• MVA video series:
• http://aka.ms/mva-win10-dev
120. Build 2015
• Introducing the Windows 10 App Model
• https://channel9.msdn.com/Events/Build/2015/2-617
• What's New in XAML for Universal Windows Apps
• https://channel9.msdn.com/Events/Build/2015/2-629
• Game Developers: Get the Most Out of Windows 10
• https://channel9.msdn.com/Events/Build/2015/2-637