Thursday, May 24, 2012

Bookreview: Mastering LOB Development for Silverlight 5: A Case Study in Action

Excellent Reference for Professional Silverlight Development (4 stars)

Over all the book is great. it comes all the key areas, has lots of samples and is a great reference. I liked the fact that it spent time going over things that are neglected such as MVVM and general architecture. On the down side I felt that some of the reference examples were overly complex. I guess this is sort of a mixed bag in that the examples were good and real world but for digesting things like MVVM for the first time the example is not a simple as it could be. For the professional developer though this really is comprehensive and well done. The case study term usage in the title might shy some one away but after reviewing the book it is well worth the cost and a excellent resources.

http://www.amazon.com/Mastering-LOB-Development-Silverlight-Action/dp/1849683549/ref=cm_cr_pr_product_top

Friday, April 27, 2012

Managing Data and Media in Silverlight

As a Silverlight MVP (Microsoft Most Valuable Professional) and book lover I tend to have a lot of Silverlight books if not all of them that were ever published. that being said I'd say that this is one that will last a while on my self before it gets archived to the main library. I think the main reason is that it pulls good material from some of the other titles and puts it all into a more relevant reference material. Where before I would have used only parts of any one of those books virtually the entire book as good material in it that is good to have as a reference. No matter if you are doing Silverlight or Windows Phone or even WPF this book is a great reference and is good to have on the shelf. I know a couple of the PACKT books I've been less pleased about due to editing issues more then anything else but this really is probably the best one yet. http://www.packtpub.com/managing-data-and-media-in-silverlight-4-packts-bestselling-books/book or on amazon http://www.amazon.com/gp/product/1849685649/ref=cm_cr_rev_prod_title

Wednesday, April 11, 2012

Windows Phone Unleashed

All Day of Hands on Programming, B.Y.O. Laptop!

Windows Phone 7 is HOT! Come check out Windows Phone 7 Unleashed for everything you need to know to develop for WP7. Whether you're a seasoned veteran or you're just starting with .NET development, there's something in it for you. The first half of this deep dive event is lecture and hands on lab. At the half point mark of the day, you'll have a solid foundation for building WP7 applications. The second half of the day is going straight to code. (there maybe some phones given away too)

Build an app and win from $800 in prizes

  • 1st Place: $500 Gift Card
  • 2nd Place: $200 Gift Card
  • 3rd Place: $100 Gift Card

Free Marketplace Tokens

A limited amount of complimentary tokens are available for those submitting their application to the Windows Phone Marketplace. Organizers of each event will collect names of those interested.

Limited Seating

In order to deliver the best possible experience for attendees, seating at these events is VERY limited. Register NOW!

Seattle, WA - April 20th - Apps at Microsoft Westlake/Terry offices
Portland, OR - April 27th - Games at Microsoft Portland Office
Boise, ID - May 18th - Games - Microsoft Boise Office
Bellevue, WA - June 1st - Games - Bellevue Civica Office

LINE OF BUSINESS APPS (Just April 20th Session)

Introduction to Windows Phone 7 Programming

In this session, we start with a discussion of windows phone, the architecture changes made from 6.5 to 7.0, the hardware specifications and then move into the beginnings of building a WP7 application including...

  • 1.Application life cycle
  • 2.Hardware Foundation
  • 3.Files associated with project template
  • 4.Splash screen and the importance of 1 second / 19 second loading
  • 5.Application Bar
  • 6.Panorama and Pivot controls
  • 7.MVVM
  • 8.Marketplace

Connecting to Services

In this session, we will discuss how Cloud Services help to bring power to the phone. We will be binding to a rest based services and show how to search and display the information received. In this session we will also talk about Navigation, passing information between screens, while working with List and detail information.

  • 1.Navigation
  • 2.Location
  • 3.JSON Deserialization
  • 4.Bing Maps
  • 5.Isolated Storage
  • 6.Binding Sample Data
  • 7.Navigation

Recording Data

In this session we will be adding to our knowledge and learn the importance of live tiles. We will show you how to set up a periodic agent and how to set up and read and write to a SQL Database on Windows Phone.

  • 1. Live Tiles
  • 2. SQL CE
  • 3. Background Processes and Periodic Agents
  • 4. Launchers and Choosers

GAMES DEVELOPMENT

Introduction to XNA

XNA Game Basics

  • 1. What is XNA
  • 2. Game Development Tools
  • 3. XNA Game Projects
  • 4. XNA Game Loop
  • 5. Debugging

Games Working with Images, Sounds and Text

  • 1. Working with Textures
  • 2. Playing Songs and Sound Effects
  • 3. Drawing text with SpriteFonts

Getting User Input

  • 1. Getting input on the phone
  • 2. Using the Accelerometer
  • 3. Using Touch Game State Management

Managing Game Play

  • 1. Keeping Score
  • 2. Tracking Health and Lives
  • 3. Adding Levels

Managing Screens

  • 1. Creating Multi-Screen games
  • 2. Loading content in the background
  • 3. How to pause the game

Managing State

  • 1. Phone Application Lifecycle
  • 2. Supporting Fast Application Switching
  • 3. Persisting and Restoring State

Silverlight and XNA Integration

  • 1. Introduction to Silverlight
  • 2. Silverlight and XNA Integration
  • 3. Creating a Silverlignt and XNA Game

Advanced XNA Games

Marketplace and Advertisements

  • 1. Understanding the Windows Phone Marketplace
  • 2. Submitting your Game to the Marketplace
  • 3. Adding Advertisements to your game

3D Games

  • 1. 3D Support in XNA
  • 2. Creating a simple 3D Game

Multi-Platform Games

  • 1. Building Games for Phone, PC and XBOX
  • 2. Other Multi-Platform options

Cloud Integration

  • 1. Using Windows Azure
  • 2. Social Gaming Toolkit

for more information http://www.winphoneunleashed.com/

Thursday, March 29, 2012

Windows Phone 7 Development Using Visual Studio 2010

with David Kelley and AppDev

Windows Phone 7 is a new step for Microsoft for the mobile platform. This course will introduce the mobile OS and how easy it is to use the.NET knowledge to create applications. The course will cover many introductory aspects of developing applications for the Windows Phone 7. For instance how XAML is used for applications and GUI designs. Also the course will cover many other aspects including controls, user input and forms, working with data, layout and Metro Controls. The course will also cover phone resources such as the Camera, GPS and many other items. To wrap up the course, the publishing the application to the marketplace and hosting of advertisements are covered.

In this course, you will learn:

* How to debug a phone application using an emulator
* About the PhoneApplicationPage and the PhoneApplicationFrame
* How layout controls are used including Grid, Canvas and Stackpanel
* Metro Basics and Phone Metro Controls
* About TextBlock, TextBox and other Form Controls
* What is touch eventing and working with events
* How MVVM (Model-View-ViewModel) works and learn how to use an asynchronous service in MVVM
* About lifecycle/tombstoning events including launching, deactivated and others
* Using media (Sound and Video) with the MediaElements and XNA Sound API's
* How to work with Bing Map Controls and Geolocation (GPS) Services

learn more at: http://www.appdev.com/prodfamily.asp?catalog%5Fname=AppDevCatalog&category%5Fname=W7DProduct&cookie%5Ftest=1#outline

Tuesday, February 21, 2012

The Last Silverlight Post – Coming Out of the Closet

The intended audience of the book 'Hacking Silverlight' was primarily the seasoned professional Silverlight developer who has one or more Web 2.0 projects under their belt. Designed to help that developer connect with the larger Silverlight community and get access to all the knowledge and resources available to you. If that is you, this article can help you take your ‘understanding’ of Silverlight skills to the next level and not in what you can do but in what happened to Silverlight. If you need to learn Silverlight you need to start somewhere else. My blog was never meant for the beginner and often just a way for me to vent when I ran into this problem or the other. With that in mind this article is about what I wanted in a Silverlight to be and is designed then to help me deal what happened and maybe where things are going.

As Microsoft describes it, "Microsoft® Silverlight™ is a cross-browser, cross-platform and cross-device browser plug-in that helps companies design, develop and deliver applications and experiences on the Web. A free download that installs in seconds, Silverlight enables a new class of rich, secure and scalable cross-platform experiences. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications."

At the time of writing, the combination of browsers and OS's and devices that support either Silverlight or its open source counterpart Moonlight, was at one point expanding month-by month, so any list I published here would have quickly gone stale. For current information, see the Wikipedia "Microsoft Silverlight" entry for a current and comprehensive matrix. What excited me about the Silverlight story though is not the broad reach, or all the incremental improvements over older technologies or even the awesome job the Silverlight Dev team did building it; what I want you to get is where Silverlight really shines, in the collaboration story provided by the underlying architecture that allows designers and developers to come together to get more done, more quickly, as a tightly integrated team. (Feel the designer/developer love!) Let's acknowledge it: Integrating development and design teams has in the past been hard work. So Silverlight ushers in a new day, and it is my pleasure to share with you some of the good things I've discovered about designer/developer collaboration in this new day.

In many ways this cycle is still with us, certainly Silverlight is still around, WPF is still around and further Windows 8 with its winRT is coming down the track like a steam engine but more about that later.

Now if this were a beginner Silverlight article we'd do what all beginner texts have done since Brian Kernighan did it for the C Programming Language; we'd present "Hello World" in Silverlight. But we aren't beginners here and this isn’t about learning Silverlight…so how about a slice of real life instead…about Silverlight MVVM… this is really where Silverlight shined in it’s ability that even now going head to head with HTML5 out does HTML5 in every area save Microsoft is trying to kill it.

Once upon a time I went to a meeting (true story), and the subject of that meeting was a new project, and the coolness that we were going to use Silverlight ok at the time it was still WPF/e. We were so excited! Discussions broke out between pockets of participants; over this design, or that design and the comps we were getting from a partner on how the design ought to be…
And then the bomb dropped.

PM: "We have eight days to deliver the product."

[Dead Silence.]

Someone asks: "Do we have to use Silverlight?"

PM: "Um…Yes."

[Long Cold Silence.]

Someone Else (with a hint of desperation): "Really?"

PM: "Um… that would be yes."

[Another Really Long Silence.]

Another Someone Else: "So you realize that Silverlight is not even RTM and we only have three resources that have a clue about Silverlight?"

Lead: "We don't even have a solid design, and we are not sure we can even do all this fancy work. This would take months in [heretofore un-named technology that still is better in then HTML5 in its UX goodness] and we actually have experience doing that."

PM: "Yes, we know, but they are offering $$$ [and he named a Really Big Number] if we do, and if we don't we lose lots of business."

Lead: "Really? $$$? [And he questioned the Really Big Number.]"

[Short silence as everyone looked around at each other.]

There was a sudden recognition that we might be able to pull this off if we could work together…nicely.

Fast forward eight days: The office has the feel of a tomb. The aroma of unwashed bodies and stale pizza permeates the air. The exhausted bodies of spent team members are strewn over assorted pieces of office furniture, while others that could double for the living dead stroked keyboards under pale monitors. The silence is broken only by the soft staccato of key strokes. But for half-grown beards, time seems to have stood still.

[A knock breaks the silence.]

"Hello, anyone home? TV crew here…We're ready to do interviews for the launch today. Hello!"

[More knocking…]

Dazed faces turn to look at each other, realization slowly dawning that, eight days later, we are still here.

Someone: Is anyone gonna to let 'em in?

[blank expressions…]

Someone Else: "Who's gonna do the demo?"

A few hours later…

THE CROWD GOES WILD! *insert cheering and roaring of the crowd*

Granted the team was composed of very senior developers and designers, but as I recall it the team accomplished in eight days what previously would have had taken that team up to six months, and for the most part, the team learned the new toolset from scratch during the project. Granted this story has grown some in the telling, but the central point remains, the Silverlight toolset created conditions that made delivering to an otherwise impossible schedule, possible.

For me, this was the dawn of a 'new' way for designers and developers to work together. Generally, the user centric cross discipline approach worked and we have implemented it across the business at the time. Moreover, the team of designers and developers lived happily ever after in perfect harmony, broken only by the occasional keyboard hurled over the cubicle wall and a whisper of a mild profanity muttered under the breath.

That was part of the Silverlight 1 launch.

… It has been a long road since then, blogging, article writing, pod casts, writing books, public speaking and even some TV, I’ve loved it and really Silverlight helped me come into my own as a UX professional. So what changed and why is Silverlight going away? Really it’s a lot about Market perception stuff. Silverlight is still around and it’s still the best cross platform method for building desktop apps and high end experiences but when it comes down to it Microsoft pulled the rug out from under this technology before it even hit its peak. This isn’t even a new story either, many times companies have killed tech before it could come into its own and in this case I think a bit un necessary but as sad in what Microsoft did to Silverlight by its PR and support changes the best parts of Silverlight are still with us.

I can’t say that what happened was planned but it played out all very well. Microsoft used to have this cool developer conference called PDC; it was the “bomb” if you were a professional dev. They screwed it up one year due to a location issue and had it in Seattle on the Microsoft campus and generally killed the conference (now it’s called BUILD and it’s all better because it has a new name?!).

So what happened on or around the last PDC before it was called BUILD that killed Silverlight? It is not that this one thing did it but it started here, basically there was a top Microsoft executive that said that the company was going to focus on HTML5 and native app development for the future of windows meaning Windows 8 and it snow balled. Now already there was a huge group of Silverlight haters out there and this started a firestorm of Silverlight negativity. Customers were scared, social media was all a buzz and Microsoft tried to turn it around with the Silverlight 5 fire starter but it was too little too late. Over a year later Silverlight 5 finally has been released and I know there was talk of Silverlight 6 but nothing has come of it to my knowledge. Even though Microsoft tried to turn it around the course of the past year again and again they just kept also re-affirmed the abandonment of this technology except in Windows Phone. We in the industry even stopped calling it Silverlight in hopes of giving it more life. Microsoft fueled the flam in the fact that Microsoft broke most of the team up and announced no plugin support for Windows 8 Metro IE10 and went to far as to even move execs’ around like the gu which instead of being over tools, visual studio and Silverlight is not off in cloud land...
Revenge of the C++ programmer? Maybe,

In any case with those announcements at PDC and then BUILD 2011 being so poorly dealt with it virtually killed all new Silverlight work and even most of the user groups. Only one Silverlight group I know of still meats and we will see how that goes. Most of the professionals have distanced themselves from it. Even me where instead of saying I’m a Silverlight MVP, I’m not a ‘Microsoft MVP’

So where has all the Silverlight goodness gone? And what was so good about it? Well then XAML team was broken up and mostly part of blend and visual studio and windows and windows phone. There is still a small Silverlight team working on shipping Silverlight 5 which is in public beta. Now the whole cool story about designer developer relationship is still there with Windows 8 metro which in many ways promises to be cool and the next darling those tools are being pushed towards HTML5 tooling with in truth is sorely needed.

So truth be told, yes, Silverlight was not able to achieve its dream due to Apple blocking plug-ins on iPad and iPhone but it did compete and in any ways was better the flash in terms of tooling and time to market ROI stuff with the same UI. And Yes Silverlight is not dead as it is the basis for Windows Phone 7 and further the whole XAML story is part of the winRT or Metro for Windows 8 so in a way you might say ‘Silverlight is Dead’ but long live XAML. We will see I’m excited for Windows 8 but much less trusting of Microsoft then I was before. With that I will continue to support Silverlight everywhere for coolness sake (and you never know maybe I’m wrong and it will be the next big thing…) and it is still a great solution for things like lob apps but you’ll see my blogging going on http://www.vnext.org/ moving forward save short posts pointing back to vnext.org or {Interact} Seattle.

~Love, the last Silverlight mvp…