Crea tu Reproductor de Smooth Streaming para Windows Phone

Calentando motores para mi charla “Vive la revolución del video con el poder de la nube” en el Developer Days 2014 (donde conocerán un poco más sobre Microsoft Azure Media Services), les comparto un paso a paso de cómo crear un App para Windows Phone que permita reproducir desde una fuente de video Smoth Streaming (transmisión de video que adapta su calidad según las condiciones de ancho de banda del dispositivo cliente con el fin de no tener interrupciones). Si quieren aprender a codificar videos bajo demanda (VOD) en este formato (y otros más) hospedados en la nube, tienen que ir a mi charla este 10 de abril 😉

Requisitos:

 

Pasos:

  • Verificar que tengamos todos los requisitos instalados 🙂
  • Crear un nuevo proyecto “Windows Phone App” usando Visual Studio 2013 (puede ser con C# o VB)

  • Agregar una referencia a Microsoft.Web.Media.SmoothStreaming (el DLL lo encontrarán en “C:\Program Files (x86)\Microsoft SDKs\IIS Smooth Streaming Client\v2.0\Windows Phone”)
  • Agregar referencias a Microsoft Player Framework y Microsoft Player Framework Adaptive Streaming Player Plugin (lo encuentran en “Extensions”)

  • Agregar los siguientes 2 espacios de nombre en la etiqueta phone:PhoneApplicationPage de tu archivo XAML (MainPage.xaml):
xmlns:mmppf="clr-namespace:Microsoft.PlayerFramework;assembly=Microsoft.PlayerFramework"
xmlns:adaptive="clr-namespace:Microsoft.PlayerFramework.Adaptive;assembly=Microsoft.PlayerFramework.Adaptive"
  • Agregar el control MediaPlayer (que es parte del espacio de nombre mmppf) al cuerpo de tu archivo XAML, con una URL válida
<mmppf:MediaPlayer 
Source="http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/bbbwp7/big buck bunny.ism/manifest">
  <mmppf:MediaPlayer.Plugins>
    <adaptive:AdaptivePlugin />
  </mmppf:MediaPlayer.Plugins>
</mmppf:MediaPlayer>
  • Ejecuta la aplicación (en el emulador o en un dispositivo físico con conexión a Internet)

Esto es lo básico, pero de hecho existen muchas posibilidades adicionales usando el Microsoft Media Platform Player Framework. En un siguiente artículo explicaré cómo hacer algo similar en un App de Windows Store.

Microsoft Active Professional (MAP)

Microsoft Active Professional (MAP)

El reconocimiento Microsoft Active Professional (MAP) es el que se otorga a miembros destacados de la comunidad que participan en distintas actividades técnicas y que están comprometidos con la comunidad de IT Pro y/o Developers. El reconocimiento es otorgado anualmente (usualmente en marzo) y tiene varias ventajas como:

  • Diploma de reconocimiento (digital y físico)
  • Acceso a un grupo exclusivo en LinkedIn
  • Comunicaciones exclusivas de parte del Gerente de Audiencias Técnicas de Microsoft Perú

El nombramiento de los MAP 2014, está muy cerca por eso quiero dejarte algunos consejos para que puedas conseguirlo y no quedarte fuera:

Estos son algunas de las actividades que mejoran la puntuación y que son importantes a la hora de ser seleccionado MAP 2014.

Desde el equipo de Microsoft Perú te animamos a que participes en todas de nuestras iniciativas y que estés al tanto de todas las actividades que tenemos en marcha. Si quieres más información puedes seguirme en Twitter y en Facebook.

Empower yourself wherever you are with this online learning resources!

Empower yourself wherever you are with this online learning resources!

Too many people around the world do not have access to high quality educational materials, or are forced to learn through a system that doesn’t allow them to learn at their own pace. However nowadays, thanks to the Internet, we have lot of online resources to learn new things every day wherever we are. What is more, most of them are really valuable sites with very high quality content. With the information available online, you could probably get a complete education without ever leaving your house.

In this opportunity I will share with you my collection of favorite online learning resources. With more than 45 links, it is one of the most complete collections of this type in the blogosphere. I hope you find them valuable.

Khan Academy: This is one of the most popular online learning initiatives. It is simple, free world-class education for anyone anywhere!

edX: A global community committed to bringing quality education to everyone across the globe through an innovative MOOC platform, founded by Harvard University & MIT.

Coursera: Coursera empowers people to improve their lives, the lives of their families, and the communities they live in with education.

Udemy: One of the largest destination for on-demand, online courses.

Udacity: Udacity offers accessible, affordable, interactive online courses that seek to empower our students to advance not just their education but their careers in technology.

OpenCourseWare Consortium: A worldwide community of hundreds of higher education institutions and associated organizations committed to advancing open education and its impact on global education.

MIT OpenCourseWare: Free lecture notes, exams, and videos from MIT. No registration required!

Stanford Online: Stanford Online is the hub for innovative and creative advances in online learning. The goal is to define the features of the next generation of online courses.

TED and TED-Ed: TED believes passionately that ideas have the power to change attitudes, lives, and ultimately, the world. TED-Ed’s commitment to creating lessons worth sharing is an extension of TED’s mission of spreading great ideas.

Miríada X: Learn with free online courses from several Ibero-American universities.

Acámica: Latin-American initiative for online learning. Change your life in Acámica.

Academic Earth: Academic Earth believes everyone deserves access to a world-class education. It offers a comprehensive collection of free online college courses from the world’s top universities.

Open Culture: Free cultural & educational media on the web. Features free courses, movies, audio books, eBooks & thought-provoking daily posts.

University of the People: UoPeople is the world’s non-profit, tuition-free, degree-granting online University dedicated to opening access to higher education worldwide.

SkillAcademy: Advance your career with the best free online courses. It’s Fast, Friendly and Free.

OEDb: Open Education Database is the most comprehensive collection of online college rankings and free courses anywhere online.

Canvas Network: Canvas Network is an index of open online courses from Ivy Leagues to community colleges. Anyone can sign up to take a course for free!

P2PU: Peer 2 Peer University is a grassroots open education project that organizes learning outside of institutional walls and gives learners recognition for their achievements.

Open2Study: It is free, high-quality online education for everyone! You just need a web connection and the desire to study.

FutureLearn: Enjoy learning for life with free, online courses from top UK and international universities. Learn anytime, anywhere.

VideoLectures.NET: Free and open access educational video lectures repository. The lectures are given by distinguished scholars and scientists at the most important and prominent events from many fields of Science.

Teaching Tree: TeachingTree provides online lectures organized for easier search and faster access.

CK-12 Foundation: CK-12 Foundation is a non-profit that creates and aggregates high quality curated STEM content.

Iversity: It brings higher education into the digital age. With their courses, online-teaching becomes interactive, social and accessible around the globe.

European Schoolnet Academy: You can benefit from the online professional development courses to learn about innovation in the school and classroom, and enhance your teaching practice.

NovoEd: An online social learning environment for experiential learning.

TNW Academy: Online classes with well known professionals. Learn from them, ask them questions and get TNW certified!

Lynda.com: An online learning company that helps anyone learn software, business, and design skills to achieve personal and professional goals.

Skillshare: Learn Real-World Skills from Incredible Teachers. Project-Based Classes, Anytime, Anywhere.

 

Coding / Technical-only

Do not just download Apps… Build them! Every student in every school should have the opportunity to learn computer science. If you would like to learn to code, here you have some very useful resources to start:

Microsoft Virtual Academy: MVA provides free online training of Microsoft Technologies through courses designed by industry experts.

Channel 9: Channel 9 keeps you up to date with videos from people behind the scenes building products at Microsoft. Free and no registration needed!

Codeacademy: Codecademy is the easiest way for you to learn how to code. Learn to code interactively, for free.

W3schools: Free tutorials and references in all web development topics, such as HTML, CSS, JavaScript, XML, PHP, SQL, .NET and much more.

Code Schools: Code School teaches web technologies in the comfort of your browser with video lessons, coding challenges, and screencasts.

LearnStreet: LearnStreet is a prominent, award-winning ed-tech startup focused on teaching people across the globe in-demand coding skills to become more employable.

The Code Player: A new concept to make learning front end technologies easier. Learn HTML5, CSS3, Javascript and more… in a new way!

Tuts+: Tuts+ teaches creative and technical skills to millions of people worldwide, on topics such as design, development, photography, video, computing, and craft.

Pluralsight: Pluralsight is the global leader in high-quality online training for hardcore developers and IT pros.

Mejorando.la: Online platform named “Platzi”, it is based on community learning.

Treehouse: Learn how to build websites & apps, write code or start a business.

 

Language Learning

BBC Learning English: Share, learn, and enjoy English with the BBC! They produce topical multimedia content for people all over the world who want to speak English for fun, work, or study.

Livemocha: One of the largest online language learning community. Free online language learning with lessons, courses and other language-learning activities. Livemocha is committed to creating a world in which every human being is fluent in multiple languages.

Learn English – British Council: Learn English online with the help of this free website from the British Council with games, stories, listening activities and grammar exercises.

Duolingo: Learning languages in Duolingo is completely free – now and forever – with no ads or hidden fees!

 

Bonus

What do you want to do today? No matter what’s on your list, eHow can help! With more than 30 categories that cover just about everything, eHow is your one-stop online resource for life’s challenges.

 

Do you like the collection? I have an updated list with all of their Twitter users available in my profile.

Coding HTML like a boss

While reading my blog I have realized that my last post in English was in 2012, so I think it is time to write another one. This time I will write about Web Essentials, an open-source Visual Studio extension, and Zen Coding (renamed Emmet).

Web Essentials

Web Essentials extends Visual Studio with a lot of new features for web developers. One of my favorite features is Zen Coding, a set of shortcuts that allows you to code HTML and other structured code format significantly faster.

How does it work?

First, you need to install it from the Visual Studio Gallery (there are versions for Visual Studio 2012 and Visual Studio 2013). Now you can start!

Open or start a new Web or JS Windows Store project and go into a HTML file. The core of this is an engine which allows you to expand expressions into HTML code. For example:

div#top>div.logo+ul#navigation>li*5>a{Item $$}

…can be expanded to:

<div id="top">
<div class="logo"></div>
<ul id="navigation">
 <li><a href="">Item 01</a></li>
 <li><a href="">Item 02</a></li>
 <li><a href="">Item 03</a></li>
 <li><a href="">Item 04</a></li>
 <li><a href="">Item 05</a></li>
</ul>
</div>

What? Let’s try with something simple. Type

div

now hit the <Tab> key and you get

<div></div>

Now try this followed by the <Tab> key

ul>li.item

becomes

<ul>
 <li class="item"></li>
</ul>

Now lets write a table

table#schedule>tr*2>td*3

you get

<table id="schedule">
<tr>
 <td></td>
 <td></td>
 <td></td>
</tr>
<tr>
 <td></td>
 <td></td>
 <td></td>
</tr>
</table>

Special abbreviations such as html5, lorem, $, table+, ul+, ol+ and dl+ greatly reduce typing time.

html5

is expanded to

<!DOCTYPE html>
<html>
<head>
 <title></title>
</head>
<body>
</body>
</html>

The last example

select>option#item-$*3>lorem3

becomes

<select>
<option id="item-1">
 Lorem ipsum dolor.
</option>
<option id="item-2">
 Sit amet, consectetur.
</option>
<option id="item-3">
 Adipiscing elit fusce.
</option>
</select>

If you want to know more about these shortcuts, you can check the Zen HTML Selectors.

Happy coding! 🙂

Reproduciendo contenido multimedia de Windows Phone en tu Windows PC

Debo confesar que este es un artículo no planificado, pero vale la pena compartirlo ya que estoy seguro que le será de utilidad a más de una persona. En los siguientes párrafos explicaré de forma resumida cómo poder compartir contenido multimedia (fotos, música y videos) desde tu smartphone (Nokia Lumia con Windows Phone 8) vía WiFi a tu computador personal (de escritorio, laptop, etc.) con Windows, usando el protocolo DLNA (Digital Living Network Alliance).

Requisitos

  • Nokia Lumia con Windows Phone 8, con el App Reproducción Remota instalada (descárgalo gratis aquí)
  • Windows PC, con Reproductor de Windows Media 11 o 12 (si no lo tienes, consíguelo aquí)
  • Conexión WiFi

Procedimiento

El primer paso importante es que ambos dispositivos (smartphone y PC) estén en la misma red. Ahora procederemos a configurar nuestra PC y smartphone de la siguiente manera:

En nuestra PC, entramos al Reproductor de Windows Media, cambiamos a la vista Biblioteca y en el menú Stream procedemos a activar la función Media Streaming. Podemos llegar también mediante Control Panel\Network and Internet\Network and Sharing Center\Media streaming options y procedemos a activar la función Media Streaming si aún no lo está.

En el Reproductor de Windows Media, cambiamos a la vista Biblioteca y activamos las siguientes dos opciones (la segunda es opcional, pero ya que esta PC es de escritorio y no la conecto a otras redes que no sean la de mi casa, la activo sin problemas). Debemos dejar el PC encendido y con el reproductor abierto (puede estar minimizado).

En nuestro smartphone abrimos la aplicación Reproducción Remota y entramos en la opción Conexión. Si hicimos bien los pasos anteriores, en la lista de dispositivos disponibles aparecerá nuestra PC. Nos conectamos a nuestra PC desde allí, y nuestros dispositivos deberían quedar más o menos de la siguiente manera:

Regresamos al menú principal de la aplicación en nuestro smartphone y estamos listos para empezar a compartir fotos, música y videos.

Y es así de sencillo, ahora puedes reproducir tus fotos, música y videos favoritos directamente desde tu celular en tu PC vía WiFi. Por ejemplo, en tu próxima fiesta privada en casa podrás cambiar las canciones sin necesidad de ir hasta tu PC, incluso si estás bailando 😉