I’m exhausted…
I’m still recovering from my days in Vegas last week…
You might say “What happens in Vegas, stays in Vegas”, but then again you’d get the wrong idea about why I’m exhausted. It probably has something to do with presenting FIVE breakout sessions at Visual Studio Live! Las Vegas at the MGM Grand last week, four of which were presented back-to-back on Thursday. Also to blame was the hotel network which decided to wreak havoc on my mobile push notifications demos for Windows Phone and iOS, and my Windows Phone emulators that decided to crap out on me (I hate Hyper-V), both forcing me into late night debugging sessions while attendees & speakers were partying at Tabu.
All my demos worked out fine in the end, but my sleep patterns suffered the most. Well, almost. The true sufferance came when my back gave out at the Vegas airport on Friday morning, forcing me into an excruciatingly painful travel day aboard connecting flights after my direct flight was cancelled “because the pilot did not feel too well”. Two chiropractor appointments and one deep muscle massage later, I’m still on the road to recovery, but thank goodness for Advil!
Back to my talks. I promised attendees I would post all my session slides and demos, and I’m here to keep my promise. Below is a list of all my talks, along with descriptions, links, slides and zipped demos.
I want to thank all the attendees who came to my talks. Prissy networks and emulators aside, I love getting on stage in front of developers and geek out for an hour or so about cool mobile practices and development techniques. I especially want to thank the attendees who came to my Windows Phone & Speech talk on Thursday morning at 8:00AM. Considering the early hour and the fact this was a last minute replacement session where I stepped in for a speaker who sadly couldn’t make it, you guys are troopers!
Designing Your Windows Phone Apps for Multitasking and Background Processing
It may be called "Windows" Phone, but Microsoft's smartphone operating system does not share its big brother's multitasking model. "Fast and fluid" is the motto to insure the best user experience possible while at the same time optimizing power consumption on the device. Windows Phone may only allow only one application to run in the foreground at a time, but several features were introduced in version 8.0 and 7.5 to allow an application to perform some actions even when it is not the active foreground app. This demo-heavy session will focus on those techniques including scheduled tasks & background agents, playing audio & tracking the user location in the background, and we'll also discuss how Voice-over-IP (VoIP) integrate deeply into the OS for better background processing. You'll also learn about Fast Application Switching & Tombstoning should your application ever get terminated. Learn how to make your application a first-class citizen on Windows Phone and put this session in the foreground of your schedule.
Download the slides and demos here
Noteworthy Links from my Windows Phone talks:
- Developer Portal: dev.windowsphone.com
- Windows Phone 8 Jump Start Training: http://bit.ly/wp8jump
- Windows Phone 8 @ \\Build: http://bit.ly/build12wp
- Developer Blog: blogs.windows.com/windows_phone/b/wpdev
- Consumer Blog: blogs.windows.com/windows_phone/b/windowsphone
- Windows Phone Toolkit: http://phone.codeplex.com
- Nokia Windows Phone Wiki: www.developer.nokia.com/Community/Wiki/Category:Windows_Phone
- www.dvlup.com by Nokia
- Jerry Nixon, Microsoft Developer Evangelist: blog.jerrynixon.com
- Jeff Blankenburg, Microsoft Developer Evangelist: www.jeffblankenburg.com
- NetAdvantage for Windows Phone: infragistics.com/mobile
Developing with Speech in Windows Phone 8 Apps
Can you hear me now? Move over Siri, here comes an army of speech-enabled mobile applications on Windows Phone. Mobile applications are not always easy to work with due to the small screen and small on-screen keyboard. Using our voice is a natural form of communication amongst humans, and ever since 2001: A Space Odyssey, we’ve been dreaming of computers who can converse with us like HAL9000. Thanks to the new Microsoft SDKs for voice recognition and speech synthesis (aka text-to-speech), we are now several steps closer to this reality. This session explores the development techniques you can use to add voice recognition to your Windows Phone applications, including in-app commands, standard & custom grammars, and voice commands usable outside your app. We’ll also see how your apps can respond to the user via speech synthesis, opening-up a new world of hands-free scenarios. This reality is here, you’ll see actual live demos with speech and you can now learn how to do it.
Download the slides and demos here
iOS Development Survival Guide for the .NET Guy (or Gal)
The trend continues where .NET developers show their hunger for iOS development. This was the SIXTH time I presented this talk to date, and despite the larger keynote room, I once again had a full house. This session is targeted at developers that know nothing about iOS development, Xcode or Objective C, and everything is presented from the perspective of people already knowledgeable about .NET, Visual Studio and C#. We looked at why you should care about building native iOS apps and I provided a quick intro to the Apple world. I presented everything you need to get started with iOS development (yes, you need a Mac) and we built our first iOS project. I made several comparisons with the Visual Studio world to explain iOS principles, we took a peek at the many iOS frameworks, the many options for third-party iOS controls, and where to go from here.
Download the slides and demos here
Noteworthy Links from my iOS talks:
- Register at developer.apple.com
- Watch Official Getting Started Videos at developer.apple.com/videos/ios
- Watch WWDC Videos at developer.apple.com/videos/wwdc/2012
- Watch Pluralsight iOS Training at www.pluralsight.com/training/Courses#ios
- Follow my list of iOS dev bloggers at twitter.com/ActiveNick/ios-dev-bloggers
- Code by SteveZ: www.infragistics.com/community/blogs/stevez
- Download NucliOS, the native iOS controls from Infragistics at www.infragistics.com/ios
- Recommended Books:
- iOS Programming: The Big Nerd Ranch Guide, Edition 3 (Conway, Hillegass)
- Objective-C Programming: The Big Nerd Ranch Guide, Edition 3 (Conway, Hillegass)
- iOS Programming for .NET Developers (Josh Smith)
- Beginning iOS 5 Development: Exploring the iOS SDK (Mark, Nutting, LaMarche)
Modern Apps Live! – Building a Modern iPad App
Co-located with VSLive! Las Vegas, Modern Apps Live! was a novel 3-day event, presented in partnership with Magenic, that brought Development Managers, Software Architects and Development Leads together to learn the latest and greatest techniques in low-cost, high-value application development.
What sets Modern Apps Live! apart is the singular topic focus; sessions build on each other as the conference progresses, leaving you with a holistic understanding of modern applications. Attendees got to dive deep into MyVote, a full-featured polling platform hosted in the cloud with multiple front-ends on Windows 8, Windows Phone and iPad.
In this session I presented a high level overview of how the iPad version of the MyVote client was built, and what were some of the design decisions behind it. Attendees learned how to implement a mobile iPad application that provides a comparable user experience, while leveraging the same back-end code that supports Windows 8 and Windows Phone 8.
The MyVote application code for all components will be posted as a whole by Magenic. I’ll be sure to update this post once everything is made available.
Additional links for this talk:
- Windows Azure Mobile Services for iOS: http://www.windowsazure.com/en-us/develop/mobile/resources-ios
- AFNetworking open source library: http://afnetworking.com
- TFS on a Mac via Eclipse Integration: http://bit.ly/YRT3Nt
- Git-tf: http://gittf.codeplex.com
- TestFlight: http://www.testflightapp.com
Building Multi-Platform Mobile Apps with Push Notifications
The best mobile applications don't live in a vacuum. They are augmented by dedicated servers, the Internet and Cloud services. While it's one thing to reach out to server-side services from a mobile application, it's a completely different affair when the tables are turned and the server needs to reach the phone. Enter push notifications. From iOS to Android, Windows Phone and Windows 8, discover how to send push notifications from cloud-hosted services to a mobile app running on a tablet or phone, and learn how to handle those alerts in your mobile app. We'll discuss the various push notification services from Microsoft, Apple and Google, how to leverage them in your mobile applications, how to deal with push scenarios for any given multi-platform app, and we'll also look at platform-specific notifications, like scheduled alerts on iOS and Live Tiles on Windows Phone and Windows 8. The live demos will include a variety of iOS, Windows Phone and Windows 8 apps, and also include technical details about Android.
Download the slides and demos here
Additional links for this talk:
- Windows Phone Tiles & Notifications: http://bit.ly/Y5axJS
- Windows Phone 8 Jump Start Training - Push: http://bit.ly/Y5ahut
- Windows 8 Tiles, Badges and Notifications: http://bit.ly/YnPOgn
- Apple iOS Local and Push Programming Guide: http://bit.ly/X05046
- Google Cloud Messaging for Android: http://bit.ly/YnP9vr
- Windows Azure Portal: www.WindowsAzure.com
- Azure Mobile Services: www.WindowsAzure.com/mobile
- Windows 8 Azure Tutorials: www.windowsazure.com/en-us/develop/mobile/resources/
- WP8 Azure Tutorials: www.windowsazure.com/en-us/develop/mobile/resources-wp8/
- iOS Azure Tutorials: www.windowsazure.com/en-us/develop/mobile/resources-ios/
- Android Tutorials: www.windowsazure.com/en-us/develop/mobile/resources-android/
Until Next Time…
I will be speaking at the next Visual Studio Live! conference at the Hilton in Chicago, May 13-16 2013, as well as the VSLive! Redmond event at the Microsoft Campus on August 19-23. I hope I will see you there.
You can also catch me and attend more of my talks at the following events over the next few months:
- Xamarin Evolve, April 14-17, in Austin TX
- Code PaLOUsa, April 25-27, in Louisville, KY
- Prairie DevCon, May 6-7, in Winnipeg, MB
- Philly Code Camp, May 11, in Abington, PA
- DevTeach, May 27-31, in Toronto / Mississauga, ON
- TechEd North America, June 3-6, in New Orleans, LA – Look for me at the Infragistics booth!
If you have any questions about the topics discussed in these sessions, you can post them in the comments below or contact me on Twitter at @ActiveNick.