UPDATE: Added the videos
Note: Like all material on this blog, this blog post and all the referenced material are licensed under the Creative Commons Attribution 3.0 Unported license. You are free to reuse material from this post and from the referenced material, but you must attribute this material to me, and link to this blog post, or to my website. Thanks!
I had the chance to be invited again to speak at TechDays in Belgium (Antwerp) and in the Netherlands (The Hague), and delivered 3 sessions (one of them twice) to an audience of developers. It was as usual a very wonderful experience in two very well organized events. I also had the chance to speak to a number of great speakers such as Jeff Prosise, Ben Riga, Beth Massi, Iris Classon, Rich Griffin and many more who, in the past years spent travelling and speaking at various events around the world, have become really good friends. Meeting these old friends and talking to a lot of new people at conferences is really enriching and brings me a lot of joy. That is the real value of community in what we do, discovering new technologies together and sharing that knowledge.
Here is the material I used in my sessions.
Putting the Microsoft Design Language to work
Last year I started presenting a design session about what was then called the Metro design language. This year, I evolved the talk to include many practical examples of existing Windows Phone and Windows 8 apps, as well as many practical tips and tricks that our many years of experience developing with the Microsoft design language have taught us.
The new Microsoft Design Language (formerly known as Metro) has taken the tech world by surprise. It brings a refreshing change from hyper realistic design, and offers a welcomed alternative to the other mobile platforms. From Zune and then Windows Phone, the Microsoft Design Language is now used on a number of platforms and devices, notably on Windows 8 apps. In this session, we will see how we can practically convert the five design principles and put them to work, by studying real life applications and understanding how they were applied.
Video of the talk: High Quality WMV
The videos I showed to illustrate motion design and kinetic typography:
- AllAppBarButtons: A small Win8 app I put together to make it easy to view and use the Windows 8 application bar buttons. Remember that in order to use the buttons from the Common/StandardStyles.xaml resource dictionary, you need to uncomment the corresponding styles.
- GridDemo: An example of how to use Blend to design the various states of the app: Portrait, Landscape, Snapped, Filled.
- ShareContractDemo: An example of how to setup your app to be a share target for text and URI content.
Coding and designing for Windows 8 and Windows Phone
Sharing code is easier than ever with the usage of Portable Class Libraries (PCL). This technology is still quite new and a bit immature but we are moving fast! In this session, I show how to setup two apps (Windows Phone and Windows 8) with PCL, how to use Nuget to pull libraries, how to share code at source level too, and how to use NFC to send items from one device to the other.
With the release of Windows 8 and Windows Phone 8, Microsoft is reaching a new level of compatibility between desktops, laptops, tablets and mobile phones. This compatibility is not only at code level, but also visually, with the usage of the Microsoft design language. In this session, we will talk about best practices to share and reuse code and about UI design considerations in order to create the best possible experience for the user.
Video of the talk: High quality WMV
- FriendsService: The web service I use to deliver the JSON list of Friends.
- Friends: A Windows Phone and Windows 8 app connecting to the FriendsService to load a list of friends. The apps are setup for design time data (open in Blend to see it), MVVM (with MVVM Light), JSON.NET, the new HttpClient library, and NFC to connect the Windows Phone to the Windows 8 device.
- AsyncWebClient: An example of how to create an asynchronous web client that can be used with async/await in Windows Phone, and consume it with the same async/await syntax in Windows 8 and in Windows Phone.
Advanced Windows Phone 8 development
Windows Phone 8 is the next big thing, and the press is already raving about new devices. With new capabilities, new sensors and improved performance, Windows Phone users have devices which are the best on the market. In this code-packed session, we will talk about advanced features such as asynchronous programming, web connections, mapping and location, background operations (multitasking) and other exciting topics.
Video: High Quality WMV
- PhoneDemo: The full demo with Nuget, JSON.NET, MVVM (with MVVM Light), design time data (for Blend), NFC, Speech, Background Task, Toast notification, Live tile, Mapping and Location.
- SimpleBackgroundTask: A simple app showing how to setup a background task, using toast and live tile for notification.
- SimpleNfc: A simple app showing how to use NFC to exchange data between a Windows Phone and a Windows 8 device.
- SimpleSpeech: A simple app showing how to make your phone speak, and how to make it react to voice commands.
Hoping that all this material will be useful to many developers out there!!