SlideShare a Scribd company logo
1 of 36
#helloWindows10
Hel10 Windows 10!
#helloWindows10
Rafa Serna
Desarrollador en Diez Software (Grupo SDM)
@rafasermed – rafaserna@outlook.com
Un mundo de
notificaciones
#helloWindows10
Nuevas plantillas para nuestros live tiles
Notificaciones toast interactivas
El Action Center
Agenda
#helloWindows10
Developer en Diez Software
MVP Windows Platform Developer
Nokia Developer Champion
@rafasermed
rafaserna@outlook.com
#helloWindows10
Nuevas plantillas para nuestros live tiles
Plantillas heredadas
• Si una plantilla se adapta a
nuestras necesidades,
podemos seguir usándola.
• Las plantillas anteriores se
mantienen
• Las plantillas de Phone y Windows se han
fusionado.
• Hay mas de 80 plantillas disponibles
Responsive tiles
• Los tiles no son
siempre del mismo tamaño
• Los tiles se adaptan a
la pantalla en la que están
Dado que el grid de la pantalla de start tiene diferentes
densidades y se adapta al tamaño de la pantalla del
dispositivo, también lo hacen los tiles y su contenido.
High density exampleLow density example
Tiles adaptables – Estructura XML
Min. Med Size Max Med. Size
<tile>
<visual>
<binding template="TileSmall">
...
</binding>
<binding template="TileMedium">
...
</binding>
<binding template="TileWide">
...
</binding>
<binding template="TileLarge">
...
</binding>
</visual>
</tile>
Tiles adaptables – Código C#
Min. Med Size Max Med. Size
TileContent content = new TileContent()
{
Visual = new TileVisual()
{
TileMedium = new TileBinding()
{
....
},
TileWide = new TileBinding()
{
....
},
TileLarge = new TileBinding()
{
....
}
}
};
Tiles adaptables
<tile>
<visual
version? = "integer"
lang? = "string"
baseUri? = "anyURI"
branding? = "none"
addImageQuery? = "boolean"
contentId? = "string"
displayName? = "string" >
<!-- Child elements -->
<binding template="TileSmall">
...
</binding>
...
</visual>
</tile>
<binding
template = "tileTemplateNameV3"
fallback? = "tileTemplateNameV1"
lang? = "string"
baseUri? = "anyURI"
branding? = "none"
addImageQuery? = "boolean"
contentId? = "string"
displayName? = "string"
hint-textStacking? = "top"
hint-overlay? = [0-100]
hint-presentation=""
hint-lockDetailedStatus1=""? = string=""
hint-lockDetailedStatus2=""? = string=""
hint-lockDetailedStatus3=""? = string="" >
<!-- Child elements -->
( image
| text
| group
)*
</binding>
Tiles adaptables
<image
src = "string"
placement? = "inline | “background" | “peek"
alt? = "string"
addImageQuery? = "boolean"
hint-crop? = "none"
hint-removeMargin? = "boolean"
hint-align? = "stretch" | "left" | "center" | "right" />
<text
lang? = "string"
hint-style? = "textStyle"
hint-wrap? = "boolean"
hint-maxLines? = "integer"
hint-minLines? = "integer"
hint-align? = "left" | "center" | "right" >
</text>
caption
captionSubtle
body
bodySubtle
base
baseSubtle
subtitle
subtitleSubtle
title
titleSubtle
titleNumeral
subheader
subheaderSubtle
subheaderNumeral
header
headerSubtle
headerNumeral
Tiles adaptables
<text hint-style="*" /> Font Height Weight
caption 12 epx Regular
body 15 epx Regular
base 15 epx SemiBold
subtitle 20 epx Regular
title 24 epx Semilight
subheader 34 epx Light
header 46 epx Light
Subtle (text 60 opaque)
captionSubtle
bodySubtle
baseSubtle
subtitleSubtle
titleSubtle
titleNumeralSubtle
subheaderSubtle
subheaderNumeralSubtle
headerSubtle
headerNumeralSubtle
Numeral (reduce the line height so that content
above and below come extremely close to the text)
titleNumeral
subheaderNumeral
headerNumeral
DEMO
Tiles Adaptables
Tiles adaptables - Agrupaciones
<group>
<!-- Child elements -->
<subgroup
hint-weight? ="" [0-100]
hint-textStacking=""? = "top" | "center" | "bottom" >
<!-- Child elements -->
</subgroup>
<subgroup
hint-weight? ="" [0-100]
hint-textStacking=""? = "top" | "center" | "bottom" >
<!-- Child elements -->
</subgroup>
</group>
Tiles adaptables
<group>
<subgroup>
………
</subgroup>
</group>
<group>
<subgroup>
………
</subgroup>
</group>
Agrupaciones Columnas
<group>
<subgroup hint-weight=“1”>
………
</subgroup>
<subgroup hint-weight=“2”>
………
</subgroup>
</group>
DEMO
Tiles Adaptables
(Agrupaciones)
Plantillas heredadas
• Si una plantilla se adapta a
nuestras necesidades,
podemos seguir usándola.
• Las plantillas anteriores se
mantienen
Estados de un Toast
Collapsed Expanded
Toast adaptables – Estructura XML
<toast>
<visual>
<binding template="">
...
</binding>
</visual>
<actions>
...
</actions>
<audio/>
</toast>
Toast adaptables
<toast
launch? = "string"
duration? = "short|long"
activationType? = "foreground|background|protocol"
scenario? = "default|alarm|reminder|incomngCall"
hint-people? = "string" >
<visual
version? = "nonNegativeInteger"
lang? = "string"
baseUri? = "anyURI"
branding? = "none|logo|name"
addImageQuery? = "boolean" >
<binding />
</visual>
<actions/>
<audio/>
</toast>
Toast adaptables
Toast templates
ToastGeneric
ToastText01
ToastText02
ToastText03
ToastText04
ToastImageAndText01
ToastImageAndText02
ToastImageAndText03
ToastImageAndText04
<binding
template? = "toastTemplate"
lang? = "string"
baseUri? = "anyURI"
addImageQuery? = "boolean" >
<text id = "integer"
lang? = "string" />
</text>
</binding>
<image
src = "string"
placement? = "inline|appLogoOverride"
alt? = "string"
addImageQuery? = "boolean"
hint-crop? = "none|circle"/>
Toast adaptables
Media File
ms-winsoundevent:Notification.Default
ms-winsoundevent:Notification.IM
ms-winsoundevent:Notification.Mail
ms-winsoundevent:Notification.Reminder
ms-winsoundevent:Notification.SMS
ms-winsoundevent:Notification.Looping.Alarm .. 10
ms-winsoundevent:Notification.Looping.Call .. 10
<audio src? = "string"
loop? = "boolean"
silent? = "boolean" />
DEMO
Toast Básicas
Toast adaptables
<actions>
<input
id="string"
type="text|selection"
title? = "string"
placeHolderContent? = "string"
defaultInput? = "string" >
<selection
id = "string"
content = "string" />
</input>
<action
content = "string"
arguments = "string"
activationType? = "foreground|background|protocol|system"
imageUri? = "string"
hint-inputId = "string" />
</actions>
Toast adaptables - Activaciones
<action activationType="foreground" />
<action activationType="background" />
<action activationType="protocol" />
<action activationType="system" />
Tap button App launches Retrieve Args Take actions
Tap button Task launches Retrieve Args Take actions
Tap button Protocol activates Web / app
Tap button System handles
Toast adaptables – Activaciones
protected override void OnActivated(IActivatedEventArgs args)
{
base.OnActivated(args);
if (args is ToastNotificationActivatedEventArgs)
{
var toastActivationArgs = args as ToastNotificationActivatedEventArgs;
if (toastActivationArgs.Argument.Equals("patata") == true)
{
if (toastActivationArgs.UserInput.ContainsKey("origen"))
{
string patata = (string)toastActivationArgs.UserInput["origen"];
}
}
}
}
Foreground
Toast adaptables – Activaciones
Background
<Extension Category="windows.backgroundTasks“ EntryPoint="RuntimeComponent1.ActionBTask">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
public class ActionBTask : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;
if (details != null)
{
string arguments = details.Argument;
var userInput = details.UserInput;
}
}
}
DEMO
Toast Interactivas
Action Center
Action Center
• Manage app notifications
• Developers can:
• Remove one or many notifications
• Tag and group notifications
• Replace a notification with a new one
• Set an expiration on notifications
ToastNotificationHistory tnh = ToastNotificationManager.History;
tnh.Remove(“T1“, “G2“);
tnh.RemoveGroup(“G1");
Action Center
• ToastNotificationHistoryChangedTrigger
• Fires whenever a user dismisses a notification from Action Center
• Or when an app adds or removes or replaces a notification
public sealed class ToastChanged : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
var toasts = ToastNotificationManager.History.GetHistory();
if (toasts != null)
{
var count = toasts.Select(t => t.Group == "G2").Count();
.....
}
}
}
DEMO
Action center
#helloWindows10
Q&A
#helloWindows10
No olvides realizar la encuesta
¡Gracias!
Rafa Serna
Desarrollador en Diez Software (Grupo SDM)
@rafasermed – rafaserna@outlook.com
http://aka.ms/W10Ev05

More Related Content

Viewers also liked

Mobile Technology – Historical Evolution, Present Status & Future Directions
Mobile Technology – Historical Evolution, Present Status & Future DirectionsMobile Technology – Historical Evolution, Present Status & Future Directions
Mobile Technology – Historical Evolution, Present Status & Future DirectionsDr. Sunil Kr. Pandey
 
Hong Kong Brochure
Hong Kong BrochureHong Kong Brochure
Hong Kong Brochurealexince
 
To mark twain from bulgaria 2012 a.d.
To  mark twain    from  bulgaria 2012 a.d.To  mark twain    from  bulgaria 2012 a.d.
To mark twain from bulgaria 2012 a.d.Blagoy Peev
 
Sistema Costruttivo Integrato Plastbau | Poliespanso Srl
Sistema Costruttivo Integrato Plastbau | Poliespanso SrlSistema Costruttivo Integrato Plastbau | Poliespanso Srl
Sistema Costruttivo Integrato Plastbau | Poliespanso SrlPoliespanso Srl
 
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValue
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValueYes Yes Yes It's AngularJS! - Shay Friedman, CodeValue
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValueCodemotion Tel Aviv
 
Recomendacións nadal 2014
Recomendacións nadal 2014Recomendacións nadal 2014
Recomendacións nadal 2014opapaventos
 
Primera Guerra Mundial Desarrollo
Primera Guerra Mundial   DesarrolloPrimera Guerra Mundial   Desarrollo
Primera Guerra Mundial DesarrolloSantiago Hellers
 
Customer Experience Transformation: 5 Research Findings And 12 Action Items
Customer Experience Transformation: 5 Research Findings And 12 Action ItemsCustomer Experience Transformation: 5 Research Findings And 12 Action Items
Customer Experience Transformation: 5 Research Findings And 12 Action ItemsG3 Communications
 
Fotografia publicitaria :)
Fotografia publicitaria :)Fotografia publicitaria :)
Fotografia publicitaria :)Deysi Vanessa
 
Email skills for public relations
Email skills for public relationsEmail skills for public relations
Email skills for public relationsHoem Seiha
 
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...Acontecer Escolar
 
Segurode Hogar Preguntas Frecuentes
Segurode Hogar Preguntas FrecuentesSegurode Hogar Preguntas Frecuentes
Segurode Hogar Preguntas Frecuentesmcamilita10
 

Viewers also liked (19)

Mobile Technology – Historical Evolution, Present Status & Future Directions
Mobile Technology – Historical Evolution, Present Status & Future DirectionsMobile Technology – Historical Evolution, Present Status & Future Directions
Mobile Technology – Historical Evolution, Present Status & Future Directions
 
Hong Kong Brochure
Hong Kong BrochureHong Kong Brochure
Hong Kong Brochure
 
To mark twain from bulgaria 2012 a.d.
To  mark twain    from  bulgaria 2012 a.d.To  mark twain    from  bulgaria 2012 a.d.
To mark twain from bulgaria 2012 a.d.
 
Sistema Costruttivo Integrato Plastbau | Poliespanso Srl
Sistema Costruttivo Integrato Plastbau | Poliespanso SrlSistema Costruttivo Integrato Plastbau | Poliespanso Srl
Sistema Costruttivo Integrato Plastbau | Poliespanso Srl
 
Catálogo Intellinet
Catálogo IntellinetCatálogo Intellinet
Catálogo Intellinet
 
Fotografías de Galicia
Fotografías de GaliciaFotografías de Galicia
Fotografías de Galicia
 
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValue
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValueYes Yes Yes It's AngularJS! - Shay Friedman, CodeValue
Yes Yes Yes It's AngularJS! - Shay Friedman, CodeValue
 
Recomendacións nadal 2014
Recomendacións nadal 2014Recomendacións nadal 2014
Recomendacións nadal 2014
 
Primera Guerra Mundial Desarrollo
Primera Guerra Mundial   DesarrolloPrimera Guerra Mundial   Desarrollo
Primera Guerra Mundial Desarrollo
 
Switzerland holidays
Switzerland holidaysSwitzerland holidays
Switzerland holidays
 
Customer Experience Transformation: 5 Research Findings And 12 Action Items
Customer Experience Transformation: 5 Research Findings And 12 Action ItemsCustomer Experience Transformation: 5 Research Findings And 12 Action Items
Customer Experience Transformation: 5 Research Findings And 12 Action Items
 
Borrador agenda nacional de la juventud 2010
Borrador agenda nacional de la juventud 2010Borrador agenda nacional de la juventud 2010
Borrador agenda nacional de la juventud 2010
 
SF-Flyer
SF-FlyerSF-Flyer
SF-Flyer
 
Fotografia publicitaria :)
Fotografia publicitaria :)Fotografia publicitaria :)
Fotografia publicitaria :)
 
Email skills for public relations
Email skills for public relationsEmail skills for public relations
Email skills for public relations
 
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...
Periódico Escolar Manantial Informativo de la Escuela Básica Bolivariana "Bar...
 
Segurode Hogar Preguntas Frecuentes
Segurode Hogar Preguntas FrecuentesSegurode Hogar Preguntas Frecuentes
Segurode Hogar Preguntas Frecuentes
 
Moringa book
Moringa book Moringa book
Moringa book
 
Bioluminiscencia
BioluminiscenciaBioluminiscencia
Bioluminiscencia
 

Similar to Un mundo de notificaciones

mobl presentation @ IHomer
mobl presentation @ IHomermobl presentation @ IHomer
mobl presentation @ IHomerzefhemel
 
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan s.r.o.
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsRomain Guy
 
Introduction to Yesod
Introduction to YesodIntroduction to Yesod
Introduction to Yesodbobjlong
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobilemowd8574
 
Practical HTML5: Using It Today
Practical HTML5: Using It TodayPractical HTML5: Using It Today
Practical HTML5: Using It TodayDoris Chen
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Guillaume Laforge
 
Ingo Muschenetz: Titanium Studio Deep Dive
Ingo Muschenetz: Titanium Studio Deep DiveIngo Muschenetz: Titanium Studio Deep Dive
Ingo Muschenetz: Titanium Studio Deep DiveAxway Appcelerator
 
05.Blend Expression, Transformation & Animation
05.Blend Expression, Transformation & Animation05.Blend Expression, Transformation & Animation
05.Blend Expression, Transformation & AnimationNguyen Tuan
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopShoshi Roberts
 
Orleankka Intro Circa 2015
Orleankka Intro Circa 2015Orleankka Intro Circa 2015
Orleankka Intro Circa 2015Yevhen Bobrov
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4DEVCON
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexyananelson
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Ted Kulp
 
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind
 

Similar to Un mundo de notificaciones (20)

mobl
moblmobl
mobl
 
mobl presentation @ IHomer
mobl presentation @ IHomermobl presentation @ IHomer
mobl presentation @ IHomer
 
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
Introduction to Yesod
Introduction to YesodIntroduction to Yesod
Introduction to Yesod
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Play á la Rails
Play á la RailsPlay á la Rails
Play á la Rails
 
Android L01 - Warm Up
Android L01 - Warm UpAndroid L01 - Warm Up
Android L01 - Warm Up
 
Nativescript angular
Nativescript angularNativescript angular
Nativescript angular
 
Practical HTML5: Using It Today
Practical HTML5: Using It TodayPractical HTML5: Using It Today
Practical HTML5: Using It Today
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
Ingo Muschenetz: Titanium Studio Deep Dive
Ingo Muschenetz: Titanium Studio Deep DiveIngo Muschenetz: Titanium Studio Deep Dive
Ingo Muschenetz: Titanium Studio Deep Dive
 
05.Blend Expression, Transformation & Animation
05.Blend Expression, Transformation & Animation05.Blend Expression, Transformation & Animation
05.Blend Expression, Transformation & Animation
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
 
Orleankka Intro Circa 2015
Orleankka Intro Circa 2015Orleankka Intro Circa 2015
Orleankka Intro Circa 2015
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101Geek Moot '09 -- Smarty 101
Geek Moot '09 -- Smarty 101
 
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
 

Recently uploaded

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

Un mundo de notificaciones

  • 2. #helloWindows10 Rafa Serna Desarrollador en Diez Software (Grupo SDM) @rafasermed – rafaserna@outlook.com Un mundo de notificaciones
  • 3.
  • 4. #helloWindows10 Nuevas plantillas para nuestros live tiles Notificaciones toast interactivas El Action Center Agenda
  • 5. #helloWindows10 Developer en Diez Software MVP Windows Platform Developer Nokia Developer Champion @rafasermed rafaserna@outlook.com
  • 7. Plantillas heredadas • Si una plantilla se adapta a nuestras necesidades, podemos seguir usándola. • Las plantillas anteriores se mantienen • Las plantillas de Phone y Windows se han fusionado. • Hay mas de 80 plantillas disponibles
  • 8.
  • 9. Responsive tiles • Los tiles no son siempre del mismo tamaño • Los tiles se adaptan a la pantalla en la que están Dado que el grid de la pantalla de start tiene diferentes densidades y se adapta al tamaño de la pantalla del dispositivo, también lo hacen los tiles y su contenido. High density exampleLow density example
  • 10. Tiles adaptables – Estructura XML Min. Med Size Max Med. Size <tile> <visual> <binding template="TileSmall"> ... </binding> <binding template="TileMedium"> ... </binding> <binding template="TileWide"> ... </binding> <binding template="TileLarge"> ... </binding> </visual> </tile>
  • 11. Tiles adaptables – Código C# Min. Med Size Max Med. Size TileContent content = new TileContent() { Visual = new TileVisual() { TileMedium = new TileBinding() { .... }, TileWide = new TileBinding() { .... }, TileLarge = new TileBinding() { .... } } };
  • 12. Tiles adaptables <tile> <visual version? = "integer" lang? = "string" baseUri? = "anyURI" branding? = "none" addImageQuery? = "boolean" contentId? = "string" displayName? = "string" > <!-- Child elements --> <binding template="TileSmall"> ... </binding> ... </visual> </tile> <binding template = "tileTemplateNameV3" fallback? = "tileTemplateNameV1" lang? = "string" baseUri? = "anyURI" branding? = "none" addImageQuery? = "boolean" contentId? = "string" displayName? = "string" hint-textStacking? = "top" hint-overlay? = [0-100] hint-presentation="" hint-lockDetailedStatus1=""? = string="" hint-lockDetailedStatus2=""? = string="" hint-lockDetailedStatus3=""? = string="" > <!-- Child elements --> ( image | text | group )* </binding>
  • 13. Tiles adaptables <image src = "string" placement? = "inline | “background" | “peek" alt? = "string" addImageQuery? = "boolean" hint-crop? = "none" hint-removeMargin? = "boolean" hint-align? = "stretch" | "left" | "center" | "right" /> <text lang? = "string" hint-style? = "textStyle" hint-wrap? = "boolean" hint-maxLines? = "integer" hint-minLines? = "integer" hint-align? = "left" | "center" | "right" > </text> caption captionSubtle body bodySubtle base baseSubtle subtitle subtitleSubtle title titleSubtle titleNumeral subheader subheaderSubtle subheaderNumeral header headerSubtle headerNumeral
  • 14. Tiles adaptables <text hint-style="*" /> Font Height Weight caption 12 epx Regular body 15 epx Regular base 15 epx SemiBold subtitle 20 epx Regular title 24 epx Semilight subheader 34 epx Light header 46 epx Light Subtle (text 60 opaque) captionSubtle bodySubtle baseSubtle subtitleSubtle titleSubtle titleNumeralSubtle subheaderSubtle subheaderNumeralSubtle headerSubtle headerNumeralSubtle Numeral (reduce the line height so that content above and below come extremely close to the text) titleNumeral subheaderNumeral headerNumeral
  • 16. Tiles adaptables - Agrupaciones <group> <!-- Child elements --> <subgroup hint-weight? ="" [0-100] hint-textStacking=""? = "top" | "center" | "bottom" > <!-- Child elements --> </subgroup> <subgroup hint-weight? ="" [0-100] hint-textStacking=""? = "top" | "center" | "bottom" > <!-- Child elements --> </subgroup> </group>
  • 17. Tiles adaptables <group> <subgroup> ……… </subgroup> </group> <group> <subgroup> ……… </subgroup> </group> Agrupaciones Columnas <group> <subgroup hint-weight=“1”> ……… </subgroup> <subgroup hint-weight=“2”> ……… </subgroup> </group>
  • 19. Plantillas heredadas • Si una plantilla se adapta a nuestras necesidades, podemos seguir usándola. • Las plantillas anteriores se mantienen
  • 20. Estados de un Toast Collapsed Expanded
  • 21. Toast adaptables – Estructura XML <toast> <visual> <binding template=""> ... </binding> </visual> <actions> ... </actions> <audio/> </toast>
  • 22. Toast adaptables <toast launch? = "string" duration? = "short|long" activationType? = "foreground|background|protocol" scenario? = "default|alarm|reminder|incomngCall" hint-people? = "string" > <visual version? = "nonNegativeInteger" lang? = "string" baseUri? = "anyURI" branding? = "none|logo|name" addImageQuery? = "boolean" > <binding /> </visual> <actions/> <audio/> </toast>
  • 23. Toast adaptables Toast templates ToastGeneric ToastText01 ToastText02 ToastText03 ToastText04 ToastImageAndText01 ToastImageAndText02 ToastImageAndText03 ToastImageAndText04 <binding template? = "toastTemplate" lang? = "string" baseUri? = "anyURI" addImageQuery? = "boolean" > <text id = "integer" lang? = "string" /> </text> </binding> <image src = "string" placement? = "inline|appLogoOverride" alt? = "string" addImageQuery? = "boolean" hint-crop? = "none|circle"/>
  • 26. Toast adaptables <actions> <input id="string" type="text|selection" title? = "string" placeHolderContent? = "string" defaultInput? = "string" > <selection id = "string" content = "string" /> </input> <action content = "string" arguments = "string" activationType? = "foreground|background|protocol|system" imageUri? = "string" hint-inputId = "string" /> </actions>
  • 27. Toast adaptables - Activaciones <action activationType="foreground" /> <action activationType="background" /> <action activationType="protocol" /> <action activationType="system" /> Tap button App launches Retrieve Args Take actions Tap button Task launches Retrieve Args Take actions Tap button Protocol activates Web / app Tap button System handles
  • 28. Toast adaptables – Activaciones protected override void OnActivated(IActivatedEventArgs args) { base.OnActivated(args); if (args is ToastNotificationActivatedEventArgs) { var toastActivationArgs = args as ToastNotificationActivatedEventArgs; if (toastActivationArgs.Argument.Equals("patata") == true) { if (toastActivationArgs.UserInput.ContainsKey("origen")) { string patata = (string)toastActivationArgs.UserInput["origen"]; } } } } Foreground
  • 29. Toast adaptables – Activaciones Background <Extension Category="windows.backgroundTasks“ EntryPoint="RuntimeComponent1.ActionBTask"> <BackgroundTasks> <Task Type="systemEvent" /> </BackgroundTasks> </Extension> public class ActionBTask : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail; if (details != null) { string arguments = details.Argument; var userInput = details.UserInput; } } }
  • 32. Action Center • Manage app notifications • Developers can: • Remove one or many notifications • Tag and group notifications • Replace a notification with a new one • Set an expiration on notifications ToastNotificationHistory tnh = ToastNotificationManager.History; tnh.Remove(“T1“, “G2“); tnh.RemoveGroup(“G1");
  • 33. Action Center • ToastNotificationHistoryChangedTrigger • Fires whenever a user dismisses a notification from Action Center • Or when an app adds or removes or replaces a notification public sealed class ToastChanged : IBackgroundTask { public void Run(IBackgroundTaskInstance taskInstance) { var toasts = ToastNotificationManager.History.GetHistory(); if (toasts != null) { var count = toasts.Select(t => t.Group == "G2").Count(); ..... } } }
  • 36. #helloWindows10 No olvides realizar la encuesta ¡Gracias! Rafa Serna Desarrollador en Diez Software (Grupo SDM) @rafasermed – rafaserna@outlook.com http://aka.ms/W10Ev05

Editor's Notes

  1. launch='bingmaps:?q=1+Microsoft+Way,+98052'
  2. launch='bingmaps:?q=1+Microsoft+Way,+98052'