Mobile Development - Which Platform?

A friend raised a great question on the PADNUG mailing list today (emphasis mine):

After seeing this:

http://www.engadget.com/2010/08/11/android-gps-navigation-x-wing-edition/

I'm really considering playing around with Air apps on my droid phone. That's a nice looking app that someone built just for the fun of it (it's not on the app store, doubtful it ever will be don't you think?). I'd like to be able to build Silverlight apps for my phone, but that's unlikely. Erik says Silverlight on Android is a big maybe: http://www.sparklingclient.com/silverlight-android-maybe/ (congrats Erik you were on the first page of the google search for silverlight and android).

I'm concerned that MS will ignore Android in favor of putting resources into Winphone7. The combination of Air + Android is very friendly to developers. Add in the momentum that Android has gained in the past 6 months plus the sheer numbers of handsets, well Air + Android seems like a valid choice. Winphone7 has zero handsets in the hands of consumers so far. Great development environment though, but not free (I've never used the free version of VS, so no idea there).

I'm ignoring the iphone completely here because Apple has very clearly said that if you don't code in Obj-C you won't get your app on the store.

Another thing that worries me a bit about Silverlight: I don't have any apps that I use that are in Silverlight. I noticed this the other day when I was using Balsamiq. Pandora, TweetDeck and Balsamiq are all great app experiences and are all made in Air. What's going on there? Is Silverlight just not catching the eye of independent developers?

Android

Let me begin by saying that I am not a fan of Android.  I've owned my Motorola Droid for 9 months.  I've had to reset it by taking out the battery at least half a dozen times.  I don't have many apps on it, I've tried to keep it clean.  I think it is a great phone for email and I love it much more than the blackberries I've had in the past.  The new 2.2 version of the OS is a much needed improvement.  The MS Exchange support is great.  The GPS Directions app is a must have.  With that said I hate my phone.

I've spent a while over-analyzing the Android marketplace.  I have a dozen or so free apps, but only one that I've actually purchased.  That was a very painful process.  The app that I paid for is psx4droid.  I have only one game that I've tried to play which is Final Fantasy VII.  The music was choppy, the video stuttered, the game was near unplayable.  That game definitely was pushing the device beyond what it could handle.  Maybe the emulator was poorly coded, or maybe my device just isn't that great.  I did get to a save point, so let me know next time you see me and I'll show you the experience I had.

My takeaway?  If you want to write high-performant games, don't develop for Android.

Silverlight - Windows Phone 7

I want to talk about my friend's observation that Silverlight is not catching the eyes of independent developers.  First let me say that I think his observation is right on.  We don't see a lot of free Silverlight OOB apps like we do with Adobe Air.  Maybe that's because the Silverlight guys are trying to make money instead of giving away great software for free.  Who knows, however I must concede that most of the Silverlight developers I know are capitalists.  Here's what I think.  I believe that many independent developers are jumping to develop for the marketplace rather than jumping to developer for a technology.  Trust me, once the Windows Phone 7 marketplace is live and the devices are in the hands of the consumers, then you'll be seeing thousands upon thousands of developers jumping to this new opportunity.

Apple and Objective-C

The last thought I have is about developing for "iDevices" and being forced to use Objective-C.  I used to rail against Objective-C as being total garbage, reasoning that I would never code in that cruft because my expertise was thankfully in the pristine world of C# and LINQ.  Why should I stoop to coding in a "lesser" language?  I was an arrogant prick (probably still am).  I must concede that Objective-C isn’t that bad.  The APIs aren’t that bad.  There are libraries out there like cocos2D that are pretty freaking amazing.  If you’ve got a CS background then you definitely don’t have anything to be scared about when learning this language and platform.  If you don’t have a CS background then it *may* be a bit tougher initially, but you’ll get over it and be just fine.

With that said there are still some philosophical questions you should still to ask yourself:

  • Is this a platform you *want* to develop for?
  • Are you willing to purchase the required hardware?  Note: both a Mac and either an iPad/iPhone/iPod Touch are required to develop apps.

And perhaps most importlantly:

  • Are you willing to strip away all your preconceptions and allow yourself to become a part of their culture?

Let's be honest, Apple users are primarily designers, at least this was the case in my background, and I'd wager that it's probably the case for most of you.  Traditionally developers haven’t gotten along well (or perhaps at all) with designers.  The whole Mac vs PC thing is more a reflection of the culture fight between developers and designers, then it is between the actual platforms.  If you're going to develop apps for that platform then you really need to understand the users of that platform.  Any anthropologist will tell you that the best way to understand a group of people is to integrate yourself in with them.  If culturally you can make this change then there is no reason why you shouldn't be developing for the Apple platform.  Let's be honest, that's where all the money is right now.  I mean, they have paid out over $1 billion dollars paid out to app developers.

tags: Silverlight | WP7 | Android | Objective-C

PDXSLUG - 8/10 - Building toolable Silverlight applications

Next Tuesday (8/10) the Portland Silverlight User Group will be meeting out at the Intel Ronler Acres Auditorium (RA1) to listen to Adam Kinney and Karl Shifflett show how to build toolable Silverlight applications that enable the developer/designer workflow.  If the topic and speakers aren't reason enough to attend, then consider the fact we have killer swag we'll be giving away.

  • 1 MSDN Ultimate subscription valued at over $200,000
  • Website Spark subscriptions valued at over $100,000

Look forward to seeing you there!


 

WHAT: Portland Silverlight User Group - August Meeting

WHEN: Tuesday 08/10/2010
6:00 p.m. Pizza (by Vertigo)
6:30 p.m. Presentation
~9:00 p.m. Afterwards at On The Border

WHERE: Intel Ronler Acres 1 (RA1) Auditorium (map)
2501 NW 229th Ave.
Hillsboro, OR 97124-5506

WHO: Adam Kinney & Karl Shifflet
Adam Kinney is a creative developer with a strong focus on UI technologies including HTML, CSS, Canvas, Processing, Flash, WPF and Silverlight. He enjoys working in the space between design and development teams enabling the best results from both sides. Having spent the last five years as an Evangelist for Microsoft, Adam also enjoys sharing his knowledge and helping others learn new UI technologies and tools. Recently leaving Microsoft, he is currently working on a variety of interesting projects and experiments with the crew at Pixel Lab and posting tutorials on his personal site: http://adamkinney.com.

Karl Shifflett is a Program Manager at Microsoft working on the WPF and Silverlight Designer since August of 2008. Before Microsoft, Karl was a software architect, former Microsoft MVP and Code Project MVP. He has been designing & developing business applications since 1989 and transitioned to .NET in March of 2003. In April of 2007 he joined the list of WPF fanatics & evangelists. He is a member of Team Mole that delivered the Mole Visualizer for Visual Studio to the world. He is the author of the very popular XAML Power Toys; loves WPF and Silverlight LOB and is developing a passion for Windows Phone 7 and ASP.NET MCV. You can read his blog at: http://karlshifflett.wordpress.com/.

TOPIC: Building toolable Silverlight applications that enable the designer developer workflow
Warning: We won’t be 20 seconds into this session before mashing the gas pedal to the floor. After looking at the XAML tools Blend & Cider, we’ll dive deep into toolable application design. Toolable applications not only enhance the initial development experience but also provide benefits to long term application maintenance. An additional benefit is the enabling of the designer developer workflow. See the two roles played out in the presentation as they collaborate without clobbering each other.

Sponsors: While you are at it, consider visiting our Premium Sponsors that make these meetings possible:

tags: Silverlight | PDXSLUG | Blend

PDXSLUG - 8/10 - Building toolable Silverlight applications

Next Tuesday (8/10) the Portland Silverlight User Group will be meeting out at the Intel Ronler Acres Auditorium (RA1) to listen to Adam Kinney and Karl Shifflett show how to build toolable Silverlight applications that enable the developer/designer workflow.  If the topic and speakers aren't reason enough to attend, then consider the fact we have killer swag we'll be giving away.

  • 1 MSDN Ultimate subscription valued at over $200,000
  • Website Spark subscriptions valued at over $100,000

Look forward to seeing you there!


 

WHAT: Portland Silverlight User Group - August Meeting

WHEN: Tuesday 08/10/2010
6:00 p.m. Pizza (by Vertigo)
6:30 p.m. Presentation
~9:00 p.m. Afterwards at On The Border

WHERE: Intel Ronler Acres 1 (RA1) Auditorium (map)
2501 NW 229th Ave.
Hillsboro, OR 97124-5506

WHO: Adam Kinney & Karl Shifflet
Adam Kinney is a creative developer with a strong focus on UI technologies including HTML, CSS, Canvas, Processing, Flash, WPF and Silverlight. He enjoys working in the space between design and development teams enabling the best results from both sides. Having spent the last five years as an Evangelist for Microsoft, Adam also enjoys sharing his knowledge and helping others learn new UI technologies and tools. Recently leaving Microsoft, he is currently working on a variety of interesting projects and experiments with the crew at Pixel Lab and posting tutorials on his personal site: http://adamkinney.com.

Karl Shifflett is a Program Manager at Microsoft working on the WPF and Silverlight Designer since August of 2008. Before Microsoft, Karl was a software architect, former Microsoft MVP and Code Project MVP. He has been designing & developing business applications since 1989 and transitioned to .NET in March of 2003. In April of 2007 he joined the list of WPF fanatics & evangelists. He is a member of Team Mole that delivered the Mole Visualizer for Visual Studio to the world. He is the author of the very popular XAML Power Toys; loves WPF and Silverlight LOB and is developing a passion for Windows Phone 7 and ASP.NET MCV. You can read his blog at: http://karlshifflett.wordpress.com/.

TOPIC: Building toolable Silverlight applications that enable the designer developer workflow
Warning: We won’t be 20 seconds into this session before mashing the gas pedal to the floor. After looking at the XAML tools Blend & Cider, we’ll dive deep into toolable application design. Toolable applications not only enhance the initial development experience but also provide benefits to long term application maintenance. An additional benefit is the enabling of the designer developer workflow. See the two roles played out in the presentation as they collaborate without clobbering each other.

Sponsors: While you are at it, consider visiting our Premium Sponsors that make these meetings possible:

tags: Silverlight | PDXSLUG | Blend

PDXSLUG - 8/10 - Building toolable Silverlight applications

Next Tuesday (8/10) the Portland Silverlight User Group will be meeting out at the Intel Ronler Acres Auditorium (RA1) to listen to Adam Kinney and Karl Shifflett show how to build toolable Silverlight applications that enable the developer/designer workflow.  If the topic and speakers aren't reason enough to attend, then consider the fact we have killer swag we'll be giving away.

  • 1 MSDN Ultimate subscription valued at over $200,000
  • Website Spark subscriptions valued at over $100,000

Look forward to seeing you there!


 

WHAT: Portland Silverlight User Group - August Meeting

WHEN: Tuesday 08/10/2010
6:00 p.m. Pizza (by Vertigo)
6:30 p.m. Presentation
~9:00 p.m. Afterwards at On The Border

WHERE: Intel Ronler Acres 1 (RA1) Auditorium (map)
2501 NW 229th Ave.
Hillsboro, OR 97124-5506

WHO: Adam Kinney & Karl Shifflet
Adam Kinney is a creative developer with a strong focus on UI technologies including HTML, CSS, Canvas, Processing, Flash, WPF and Silverlight. He enjoys working in the space between design and development teams enabling the best results from both sides. Having spent the last five years as an Evangelist for Microsoft, Adam also enjoys sharing his knowledge and helping others learn new UI technologies and tools. Recently leaving Microsoft, he is currently working on a variety of interesting projects and experiments with the crew at Pixel Lab and posting tutorials on his personal site: http://adamkinney.com.

Karl Shifflett is a Program Manager at Microsoft working on the WPF and Silverlight Designer since August of 2008. Before Microsoft, Karl was a software architect, former Microsoft MVP and Code Project MVP. He has been designing & developing business applications since 1989 and transitioned to .NET in March of 2003. In April of 2007 he joined the list of WPF fanatics & evangelists. He is a member of Team Mole that delivered the Mole Visualizer for Visual Studio to the world. He is the author of the very popular XAML Power Toys; loves WPF and Silverlight LOB and is developing a passion for Windows Phone 7 and ASP.NET MCV. You can read his blog at: http://karlshifflett.wordpress.com/.

TOPIC: Building toolable Silverlight applications that enable the designer developer workflow
Warning: We won’t be 20 seconds into this session before mashing the gas pedal to the floor. After looking at the XAML tools Blend & Cider, we’ll dive deep into toolable application design. Toolable applications not only enhance the initial development experience but also provide benefits to long term application maintenance. An additional benefit is the enabling of the designer developer workflow. See the two roles played out in the presentation as they collaborate without clobbering each other.

Sponsors: While you are at it, consider visiting our Premium Sponsors that make these meetings possible:

tags: Silverlight | PDXSLUG | Blend

Register NOW for PDC10

Yesterday I registered for the Microsoft Profession Developer's Conference, otherwise known as PDC.  This year it will be held on October 28-29 on campus in Redmond, Washington.  Registration is only $1000 and it's going to sell out fast as there were only about 1000 or so spots available.  While you'll be able to watch all the sessions online for free, nothing beats being able to talk to the team members in person, to ask them your questions, and to participate in all the discussions that are happening off camera (e.g. in the hallways, during the meals, etc).

I really want to start a rumor that Microsoft will be handing out either Slate or Windows Phone 7 devices to all attendees.  I should probably clarify that I said the same thing during MIX10, and we all know how well that turned out.  I'm planning on using my iPad during all the sessions, and I'm not getting my hopes up about the swag.  :P

Let me know if you are planning on attending.  With such a small crowd this is sure to be a blast. 

tags: PDC10

PDX Nerd Dinner (4/22)

The next nerd dinner is tomorrow (Thursday - 4/22) at 6pm in the food court in Washington Square Mall. We'll be eating mall food and discussing WP7, Silverlight, XNA, and whatever else geeks you out (e.g. iPad, MonoTouch, upcoming Portland Code Camp, etc).  Check out our announcement on nerddinner.com.

tags: Nerd Dinner

PDXSLUG - 4/13 - Creating Great UX with Expression Blend

Hey guys, tomorrow the Portland Silverlight User Group (PDXSLUG) will be meeting at WebTrends.  Corrina Black, a UX Designer on the Microsoft Developer Division team will be talking about how to create great user experiences with Expression Blend.

We build software products with certain features, and our competitors come along and include those same features.  Eventually the only way we can distinguish ourselves from our competitors is by creating great user experiences.  This is how the iPhone leapfrogged both Windows Mobile and the BlackBerry, and how the Xbox became the dominant gaming console.

IMHO, this session is a must-attend, regardless of whether you are a designer or a developer.  And even if you don't use Microsoft tools, you can still benefit because creating a great UX is independent of platform (Adobe vs Microsoft vs Java vs Objective-C).

Hopefully I'll see you there.


 

WHAT: Portland Silverlight User Group - April Meeting

WHEN: Tuesday 04/13/2010
6:00 p.m. Pizza (by Vertigo)
6:30 p.m. Presentation
~9:00 p.m. Afterwards at TBD

WHERE: Webtrends (map)
851 SW 6th Ave.
Portland, OR 97204-1337

WHO: Corrina Black
Corrina Black grew up sketching pictures and cartoons, but didn’t turn to design until she discovered the Web and taught herself to design and code simple websites. She focused instinctively on user flow, interaction, and attractive solutions. Corrina is currently a UX Designer on the Microsoft Developer Division team. To broaden her impact, Corrina pursued a software engineering degree to combine with her passion for user experience design. For Corrina, user experience is what matters. A product that doesn’t solve a problem, is difficult to use, and doesn’t draw the user in, regardless of how amazing the technology, will fail.

TOPIC: Creating Great UX with Expression Blend
Corrina will do an intro to Blend and walkthrough the process of creating a great user experience; this will involve SketchFlow because detailing and iterating on user flow, layout, and animations and transitions prior to full-scale implementation is key to great UX design and this is done in tools like SketchFlow. She will also likely walkthrough the process of building a simple application in Blend to show the core functionality of Blend (maybe create a phone application).

Warmup - The Reactive Framework (Rx) in Silverlight
At the beginning of the meeting (6pm) our own Eric Sterling of Vertigo will be giving a short introduction to Rx. Have you had trouble writing asynchronous code (including unit testing code)? If so, Rx offers a compelling and syntactically attractive way of handling events.

Sponsors: While you are at it, consider visiting our Premium Sponsors that make these meetings possible:

tags: Silverlight | PDXSLUG | Expression Blend

Speaking at PADNUG (4/6)

Tonight I'll be co-presenting at PADNUG alongside Jason Mauer.  Jason will be talking about OData and XNA, and I'll be talking about developing for the Windows Phone 7 platform (notice how they dropped "Series" from the name).  I'm excited to talk about WP7 any chance I get, but I'm also worried that in this instance I won't have very much time.  We'll see what happens.  If there is enough demand then perhaps we'll schedule another hackathon for folks interested in getting started with WP7.

Afterward PADNUG I'll be part of the crowd heading over to Gustav's and would love to talk more about WP7 development and answer any questions.  I'm getting ready to submit my sessions for the Portland Code Camp, so please let me know if there is something that you'd like to see.  Right now I'm leaning towards speaking on 1) the WP7 marketplace, 2) tips and tricks learned in developing WP7 apps, and 3) heading up a Saturday evening hackathon.  Let me know what you think.

tags: PADNUG | WP7

PDX Nerd Dinner (3/30)

The next nerd dinner in Portland is tonight (Tuesday - 3/30) at 6pm in the food court in Washington Square Mall. We'll be eating mall food and discussing WP7, Silverlight, XNA, and whatever else geeks you out.

BTW, if you're thinking of getting started with WP7 development, I recommend first watching the following 2 sessions from MIX before you download and install the tools:

  1. Joe Belfiore: Changing our Game – an Introduction to Windows Phone 7 Series
    (http://live.visitmix.com/MIX10/Sessions/CL01)
  2. Charlie Kindel: Overview of the Windows Phone 7 Series Application Platform
    (http://live.visitmix.com/MIX10/Sessions/CL13)

On a side note, I tried posting this on nerddinner.com. I added a dinner and then tried searching for it and it isn't there. Has anyone ever been able to post something on that site? Seems like this was more of an idea for the MVC book, rather than something useful that people could use.

tags: WP7 | Nerd Dinner

Boise Code Camp 2010 - Slides

Thanks to everyone who came to my sessions yesterday.  I've uploaded the slides/examples for download.

tags: WP7 | Boise Code Camp

Boise Code Camp 2010

This weekend is the Boise Code Camp (Mar 27-28). These guys do a great job putting on a great show. I know it's short notice, but if there is anyway you can attend then know that I whole-heartedly recommend it. While I'm there I'll be presenting two sessions on developing for the Windows Phone 7 Series platform (WP7). I'm currently scheduled for right before/after lunch on Saturday.

  • Building Games in XNA for the Windows Phone 7 Series

    We'll first walk through an overview of developing XNA games for the Windows Phone 7 Series (WP7) platform, and then examine the tools provided for building these games. We'll then jump into a demo of creating an XNA game similar to MineSweeper for the WP7 platform.

  • Developing Silverlight Applications for the Windows Phone 7 Series Platform

    We'll first go through an overview of the Windows Phone 7 Series (WP7) application platform, and then examine the tools provided for developing WP7 applications. The majority of the session will be a demo of building a WP7 application in Silverlight.

While this is a code camp and I'd prefer to spend most of mine time in the code, I realize that with this topic I'll be doing a lot of explaining and QA at first. Let me make this clear, there will be code. However, I've also discovered that I'll need to be prepared to spend some slides and time discussing other things such as developing for the enterprise and how the marketplace works. I'm assuming that most of my audience will be folks who most likely haven't downloaded the tools, and watched all the MIX sessions. If I'm wrong in this assumption then please correct me.

If you're planning on being there then please do find me and say hi. I'm excited, the Boise Code Camp is always a ton of fun and always worth my time in attending. One thing you might find interesting is that when we do the planning for the Portland Code Camp it is Boise that we look to as example for what we define as success.

tags: Silverlight | WP7 | Boise Code Camp | XNA

This Week in Silverlight - #4

Earlier this morning the Sparkling Client Podcast released their 4th episode of This Week in Silverlight.  Assuming you're not familiar with it, this is a show that I participate in with Brian Henderson and Erik Mork.  We discuss Silverlight and Windows Phone 7 Series (WP7) rumors, well actually they discuss them while I sometimes promote them.  We also talk about recent news in Silverlight, identify quality blogs/tutorials, and highlight a Silverlight app of the week.

Please listen to it and feel free to send me feedback.  Don't hesitate to let me know if there is anything you think I should focus on or mention.

tags: Silverlight | Sparkling Client | This Week in Silverlight

Portland ALT.NET User Group

I don't know if many of you have heard, but there's a new user group in town called the Portland ALT.NET User Group.  You may be asking yourself "What is ALT.NET?"  When I think of ALT.NET the first thing that comes to my mind is the ALT.NET PurseFight! blog, which I'll admit was hilarious to read, too bad all the content is gone.  However, there's still a "non-active" twitter feed you can follow (@altnetprsefight).  I just don't get those guys.  *shaking head*  Here's a tweet that I simply didn't understand:

What Alt.Net needs is a french revolution, and we'll tell you what: @shanselman is Louis XIV.

And that was Louis XVI, not XIV. Our bad.

Really?  Wasn't Louis XVI the king that came to power at a young age and was later executed via the guillotine?  Why would they say that?  For that you should read this summary of what some folks thought was wrong with ALT.NET.  Yeaht, those would be the crazies.

Now I've been a part of the ALT.NET community, in fact that's how I got to know Glenn Block.  I participated in the list when the movement was first starting to swell.  Back then I was teetering on whether I should start a Portland ALT.NET User Group.  I even gave it another chance and went to the ALT.NET conference in Seattle last year.  That was a lot of fun, the conversations were interesting, but it wasn't worth the drive up there.  What did I learn that I didn't already know?  Nothing.  Did I get to hang out with a bunch of cool people and meet new folks?  Absolutely, but frankly I'd rather do that when I'm at MIX/PDC, or when I drive up for one of Mithun's FireStarter events.

I guess the big question is whether the ALT.NET community has changed, or whether the Portland community can be different.  This group in Portland is being headed up by a friend of mine, Jason Mauer.  Jason is an ex-Microsoft employee.  Does he have an ax to grind, will he turn out to be another Rob Conery?  I don't know, we'll see.  I'm hopeful that this group will be good for the community, but based on the history of ALT.NET I'm certainly not holding my breath.  However, I'm willing to reserve judgement just yet and I recommend that you do the same.  Their first meeting will be on March 31st from 6-9pm at WebTrends.  Please show up with an open mind.  I'll be there.  Hopefully you'll be able to join us.

March 31, 2010 – 6pm to 9pm
at Webtrends (map)

Agenda
6pm – food (yes, there will be food! Actual non-pizza food!)
6:30 – Kickoff discussion [Jason Mauer]
7:00 – Design Patterns [open panel]
8:00 – Flavors of Agile [open panel]
9-ish – wrap-up

Please RSVP on Upcoming so we can get a headcount for the food order:
http://upcoming.yahoo.com/event/5553523

tags: ALT.NET

PDXRIA March Event

Anyone interested in Silverlight should also be interested in this.  Make sure you RSVP via Upcoming.

-kw

=======================================================

Thursday March 4, 2010 from 5:30pm - 8:00pm
Thetus Corporation
34 NW 1st Ave
Portland, Oregon
Join us March 4th for an evening of local, sweet Flex and Flash demos, food and beer, and a look ahead. We invite experienced Flex application developers to bring their resumes for speed interviewing with Thetus VP of Client Services.

Sponsored by Thetus Corp and in association with the PDXRIA User Group.

Ryan Stewart, Adobe's Flash Platform evangelist, will get things started with a talk on cutting edge Flash Platform features. Ryan will be raffling a free copy of Adobe CS4 Master Collection.

Then, we're on to Flex demos from:
Matt LeGrand (Multi-touch capability with Flex);
Rob Reinhardt (videoRx.com);
and Thetus (Savanna UI platform).

That gives us time for a round of lightning presentations from community members and breakouts for code looks.
Finally, don't miss a chance to win as we raffle off the Adobe CS4 Master Collection.

Meeting starts at 6 PM. Food and networking at 5:30 PM sponsored by our host, Thetus Corporation.

Your RSVP enters you in the Adobe CS4 raffle. Let us know in your RSVP if you'd like to present your work during our lightning round.

tags: PDXRIA

Seesmic Stickers

Two weeks ago I saw a tweet where the folks at Seesmic were offering free stickers.  Being a die-hard Seesmic fan myself, I decided to hit them up and see if they would kick in some stickers for the Portland Silverlight User Group.  Needless to say, Loic did not disappoint.  Here's the catch though, I only have 80+, and I'm only going to hand them out one at a time.  If you want one then you must show up to our next user group meeting.  We are meeting this Friday, 6pm at WebTrends (map).  Shawn Wildermuth will be here answering all your Silverlight questions.  The folks at Vertigo are providing the free pizza and soda.  I will be handing out Seesmic stickers.  Look forward to seeing you there.

tags: Silverlight | PDXSLUG | Seesmic

This Week in Silverlight - Podcast

Last Thursday I had the privilege or recording my first podcast with Brian Henderson and Erik Mork.  It was a blast.  If you listen to it then you can tell that I absolutely loved having a platform to spew Zune phone rumors.  This was a new format for the Sparkling Client, where we got to talk about what is new in Silverlight, what excites us, and what we think people should pay attention to.  I think the goal is that we record these regularly, similar to This week on Channel 9.

Please listen to it and by all means, feel free to send me feedback.  I'm already aware that I need to pickup a new headset for recording.  If there is anything you think I should focus on or mention, please don't hesitate to let me know about it.

tags: Silverlight | Sparkling Client | This Week in Silverlight

Portland Silverlight User Group

Last spring Erik Mork and myself started talking about the difficulties I was facing with PDXUX.Net and what it's future should be.  The group had shrunk in size and was starting to average an attendance of 12-15 people.  I wasn't sure if the problem was location, or speakers, or the fact that the group had too broad of a focus.  Erik thought the group was just too ahead of its time.  I decided to stop having group meetings while I tried to figure out whether it should continue on.  The sad thing is, no one complained.

Shortly after the release of Silverlight 3, Erik suggested that PDXUX.Net should evolve into the Portland Silverlight User Group.  It's amazing how long we spent thinking up names until we settled on that one.  We thought this group could start in November where we would have a big-name speaker come to town to kick off our event.  The two problems with that idea were 1) I was already scheduled to speak on MVVM during the November PADNUG meeting, and 2) the speakers we were soliciting would be at PDC.  We knew my MVVM presentation would draw a lot of folks (80+) and didn't want to compete against that.  Instead we decided to use that as an opportunity to publicize our December kickoff.  Somehow Scott Stanfield heard we were starting this user group and wanted to get involved, and before I knew it we had our big-name speaker.

For our December meeting with Scott Stanfield presenting we had 80+ folks show up.  This was held clear out in Hillsboro at Corillian/CheckFree/Fiserv (map).

In January we had Mike Downey come and share his story of joining Microsoft and switching from Flash to Silverlight.  This time we held the meeting downtown at WebTrends (map) and had 70+ people show up.

At the end of January we organized a Silverlight Hackathon.  Kimberly Wallmark had suggested this on the Silverlight/PADNUG mailing list and the community response was overwhelmingly in favor of it.  The hackathon was held on Sunday, January 31st at Souk where we had 40+ people show up to code/learn between 1-6pm.

Our next meeting is on Friday, February 19th, again at WebTrends (map).  This will be Q&A session with Shawn Wildermuth.  Shawn's mind will be overflowing with top secret information he'll have just learned at MVP Summit.  If you're interested at all in Silverlight, then you'll definitely want to attend this meeting.

Overall I have to admit that the success of the Portland Silverlight User Group has exceeded my wildest expectations.  We have a lot of interest from other potential speakers who want to be a part of the magic that is happening here in the northwest.  Thanks for your attendance and support.  As you folks continue to attend and be a part of this user group, Erik and I are commited to making it our top priority to have premium speakers.  We want this to be the best Silverlight User Group in the world.  With your help we can be.

tags: Silverlight | PDXSLUG

Shawn Wildermuth speaks at PDXSLUG (2/19)

WHAT: Portland Silverlight User Group - February Meeting

WHEN: Friday 02/19/2010 - (Yes, Friday is Correct)
6:00 p.m. Pizza (by Vertigo)
6:30 p.m. Presentation
~9:00 p.m. Afterwards at TBD

WHERE: Webtrends (map)
851 SW 6th Ave.
Portland, OR 97204-1337

WHO: Shawn Wildermuth
Shawn Wildermuth is a Microsoft MVP (C#), member of the INETA Speaker's Bureau and an author of six books on .NET. Shawn is involved with Microsoft as a Silverlight Insider, Data Insider and Connected Technology Advisors (WCF/Oslo/WF). He has been seen speaking at a variety of international conferences including SDC Netherlands, VSLive, WinDev and DevReach. Shawn has written dozens of articles for a variety of magazines and websites including MSDN, DevSource, InformIT, CoDe Magazine, ServerSide.NET and MSDN Online. He has over twenty years in software development regularly blogs about a range of topics including Silverlight, Oslo, Databases, XML and web services on his blog (http://wildermuth.com).

TOPIC: Silverlight Conversation and QA w/ Shawn Wildermuth
Do you have questions about Silverlight? Shawn's the person to ask. He's full of Silverlight knowledge, and he's coming to Portland to have a conversation with us. Shawn is extremely well known and respected in the Silverlight community, and it's going to be a real treat to have him. If you want to have a complex and nuanced discussion about Silverlight, join us for this meeting.

Warmup - Operating System in Your Browser Window
At the beginning of the meeting (6pm), Marc Schulper will show us how to write Silverlight applications for a web based operating system.

Sponsors: While you are at it, consider visiting our Premium Sponsors that make these meetings possible:

tags: Silverlight | PDXSLUG

A Path to Learning Silverlight

Lately I've been trying to figure out how to immerse myself in Silverlight 4.  There's a lot that's new, and to be honest I'm still catching up on Silverlight 3.  I admit that it's tough to learn new technologies when your employer is not eager to adopt them.  I've also noticed that occasionally when I talk about Silverlight some people will quickly become overwhelmed.  A few have mentioned that they feel so far behind in learning Silverlight, they're now worried they may never be able to catch up.  If they only realized that now is the perfect time to start learning Silverlight.

The first thing I recommend is listening to Scott Guthrie's keynote from PDC (skip to 53:30).  This will help you understand how far the Silverlight reach extends (45% as of 11/09), as well as see scenarios where major companies are choosing to go with Silverlight (fyi, it's not just multimedia).

Next I suggest that you download and listen to the Silverlight 4 Podcast Pack with Erik Mork and Tim Heuer.  After you download it you can extract it directly into the MyMusic/Zune folder.  Zune will automatically pick up the new audio files and add them to your music library (see screenshots below).  The average length of each podcast is just over six minutes.  I recommend listening to these today if you haven't already.

I'm a big fan of user groups.  These are great opportunities for networking, finding new leads and opportunities, and learning where you should focus your efforts in order to keep your skills sharp.  Adam Kinney maintains a list of Silverlight User Groups.  If you have to drive 100 miles to attend it once a month, then by all means DO IT!  In my opinion you can't afford not to attend these meetings.  If you don't have a local Silverlight User Group, then search for a local .Net User Group.  Get on their mailing list, find out when the next Silverlight presentation is, and tell them you're willing to help find sponsors if they'll have more meetings centered on Silverlight.  :)  I realize there are some individuals who live where there are no user groups at all.  If you're one of those folks, feel free to ping me and I can share some advice in starting your own user group.

Finally, I recommend attending one of the Silverlight Tour courses.  Let me clarify, I very, very strongly recommend this.  Back in December Agilitrain came to PDX and I made sure to sign up and attend.  I am 100% convinced this is the best way to immerse yourself in Silverlight.  Their coursework now includes Silverlight 4 material, and you get a free copy of Telerik RadControls for Silverlight.  Their instructors are smart, well-trained, and experts with hands-on experience.

Good luck in your efforts, and please fight the urge to continue living in the world of WinForms.  It's so much nicer out here in the light.

tags: Silverlight

Workshops at MIX10

Before the MIX conference starts, on Sunday there will be a full day of workshops.  These aren't free, people have to pay extra to attend ($295).  By registering for a pre-conference workshop pass you get to attend two 3-hour workshops (one before lunch and one after).  These workshops are the speaker is able to go deep on a topic and really help you grok new concepts, tools, technologies and disciplines.  Note that these workshops will not be posted online after the conference.

I've been telling folks about a few of the workshops from last year’s MIX conference.  My favorite was Design Fundamentals for Developers by Robby Ingebretsen.  As Jaime Rodriguez explained, folks had to pay extra to attend these workshops.  Because this one was accidentally posted online they decided to leave it up for everyone.  Thank-you!

I noticed that Robbie is presenting the same workshop again this year.  I wasn't sure how similar it would be to what he had done before, but he did clarify that in a recent twitter conversation:

schallerje @ingebretsen Hey Robby, will your "Design Fundamentals for Developers" workshop @MIX10 be the same as last year?

ingebretsen @schallerje yeah, believe it or not, MS asked me NOT to change the workshop content too much this year...but expect some small updates.

schallerje @ingebretsen OK, then I guess I will skip the workshop day this year, but don't get a false impression: You workshop was really great! ;)

Some folks say that developers can’t do design, that they just weren’t born with it.  In my mind that’s a cop-out, and it simply isn’t true.  Having spent a couple years working for different interactive agencies and working very closely with designers I’ve come to realize that we’re actually quite similar.  Robbie's workshop and life experiences validate my thoughts.

I won't be attending Robbie's workshop this year, but will instead be attending John Papa's Silverlight 4 Boot Camp and Arturo Toledo's Design Tools and Techniques (tips and tricks, all about learning how to use Blend).  If you are going to MIX then you definitely should consider attending a few of the workshops.  I'll keep an eye out for you.

tags: Silverlight | Blend | MIX10 | Design

Technorati Post Claim

I'm claiming this blog on Technorati, please ignore this post (DEDEBWMSD9AE).

tags:

OGPC 3.0

TechStartThe TechStart Education Foundation, in affiliation with the Oregon University System, is proud to host the Oregon Game Project Challenge (OGPC 3.0) for its third year at Chemeketa Community College on Saturday, May 1, 2010 (details).  Last year I was a judge for OGPC 2.0 and found it to be a very rewarding experience; so rewarding that I’d like to ask you to consider joining me in being a judge for this 2010 event.

Last year 41 middle and high school student teams created computer games specifically designed to be fun, challenging and innovative.  Teams competed from around the state of Oregon and Southwest Washington for trophies and prizes. We expect this year to be the biggest OGPC yet!  We also expect it to be the most exciting and rewarding for students:  New this year we’ll be allowing students to create games using any platform of their choice in addition to Game Maker!  (Can you say XNA!)

In order to make this a valuable experience for the students involved, we need over 50 volunteer judges to spend the day reviewing and scoring the teams and their projects.  Please rejoin me this year by being a judge and by helping to recruit some of your colleagues to join in on the fun and to share this rewarding experience with us.  To register to be a judge for this year’s OGPC please send your name and e-mail address to Mark Lawler (mark.lawler@comcast.net).  The students and I look forward to seeing you there!

tags: XNA | OGPC

Attending MIX10

I'm attending MIX this year, are you?  If you're unfamiliar with MIX, or maybe you aren't sure who this conference is for, then check out this short 3 minute video from Channel 9 (Who, What, When, Where, Why and How of MIX10).

This year the conference is breaking tradition and will be held at the Mandalay Bay.  Previously, this conference has always been held at the Venetian.  Block out your calendars now for March 15-17.  Try to get there a day early so you can participate in the workshops.  These do cost extra, but they're totally worth it.

If you have any interest in Silverlight then you'll definitely want ot attend MIX this year.  There will be sessions on Silverlight 4, Silverlight for Mobile, Silverlight for MonoTouch, and Silverlight for line-of-business apps.  Judging by the frequency that Microsoft has been pumping out releases, I'd be surprised if Silverlight 4 didn't ship during MIX.  I know that's hoping for a lot, but remember, I'm the guy that hopes for a Zune phone announcement everytime Robbie Bach takes the stage.

This year MIX will be awesome and you'll be remiss if you didn't attend, but don't take my word for it.

tags: Silverlight | MIX10

Books to Learn Silverlight

A question came through the PADNUG mailing-list asking about good beginner Silverlight books.  I've included my response below.

You really owe it to yourself to take a hard look at the book Pete Brown is currently working on (http://www.manning.com/pbrown/).  Today at PDC he announced this book would be modified to cover Silverlight 4.  His book will officially be released roughly during the same time that Silverlight 4 goes RTM.  What’s great about the Manning Early Access Program (MEAP) is that if you purchase it now you can read the chapters as they come online and watch as they are revised.  Take a look at the table of contents.  Today on Channel 9 Pete promised that the next drop of his updated chapters would be sometime next week.  If there was only one book I could recommend, it would be this one.  You simply cannot get a better author.

I don't work for Manning and I don't get any kickbacks from Pete.  I stand by the statement that I believe Pete is the best author for this topic (learning Silverlight/MVVM and starting from nothing).  Hopefully I didn't offend anyone with that statement.  If so, please feel free to send me a copy of your "better" book.  I'd be happy to read it and be proven wrong.

tags: Silverlight | PADNUG

Silverlight Usage Statistics

The Illusion

Last week I was discussing Silverlight vs. Flash with a friend of mine.  He seemed to think that the only criteria for deciding which platform to use was marketshare.  He then referred me to http://riastats.com/.  While I appreciate his desire to reach all audiences, I believe he is failing in his analysis.  Let me explain...

This website (http://riastats.com/) is a service provided by a hosting company.  While their data is interesting, I find that it changes drastically from day to day.  Last Friday their reports stated that Silverlight had only 29% penetration, yet tonight I checked and it says Silverlight now has 33% penetration.  Do you know how many people would had to have installed Silverlight in the last 72 hours for these numbers to be anywhere close to correct?  Needless to say, these guys have a pretty big margin of error.  The fine print mentions that the statistics are gathered from 77 websites.  It would be nice to know exactly what 77 websites they use to collect their data.  I mean, how can anyone presume that their their user base is the same as what's being serviced by these 77 anonymous websites?

My friend and I were discussing Silverlight vs. Flash and it eventually devolved into trash-talking.  :)  But what about folks who take these statistics as absolute truth?  What about folks who aren't just talking trash, but I planning their IT strategy around these statistics?  For anyone to make a business decision of which platform to use, and then to reference this service (http://riastats.com/) as the authoritative resource is ignorant at best and criminal at worst.

Most online companies have some form of advertising revenue in their business plan, yet very few depend on it for 100% of their profits.  So if you are a company who isn't 100% dependent on advertising revenue, then why do you care what percentage of the world has Silverlight installed?  I mean, you're making money through other means.  Shouldn't you be focusing on understanding the users who generate the majority of your reveune?  What if you found out that their habits and online experiences meant that 86% already had Silverlight installed and the rest were highly likely to install it?  What if?

Now let's pretend that you're one of those arrogant startups (present employer excluded) who claims your user base is really the entire world.  Seriously guys, you're not Google or Facebook.  You don't service the entire world right now (remember, you're a startup).  Believe it or not, in 12-24 months of all the things that will change, this won't be one of them.  Seriously.

The Reality

On September 17th, Scott Guthrie talked about both the current state of Silverlight and where things are heading in the near future (watch video).  While this was very informative, the "meaty" announcements won't be happening until next week at PDC.  Here's some of my notes from what Scott said back in September:

  • Earlier this summer Microsoft released that Silverlight is on about 1 in 3 of all internet connected devices (desktop, mobile, and embedded).
  • Some countries are above 50% and in fact pushing 60% penetration.
  • Worldwide they expect Silverlight to above 50% in the next couple months.

A couple other points to consider:

  • NBC used Silverlight for the 2008 Summer Olympic games.
  • NBC will again be using Silverlight to broadcast the 2010 Winter Olympic games.
  • NCAA March Madness streamed all their games using Silverlight.
  • The Democratic National Convention last summer (2008) was broadcast using Silverlight.
  • President Obama’s Inauguration was broadcast using Silverlight.
  • UFC uses Silverlight for their online pay-per-view events.
  • Netflix uses Silverlight for their online player.
  • NFL Sunday Night Football is streamed live each week using Silverlight Smooth Streaming.
    • Week 1 had over 500,000 viewers watching it for an average of 55 minutes
    • Player was built with full DVR support
    • Included slow-motion
    • Replay of key events (touchdown, interception, etc)
    • Included Highlight reel
    • Included chat
    • Displayed video in 720p HD
    • All this was done off 2 web servers

Conclusion

I would argue that of the people who purchase and consume video online, a very high percentage of them have Silverlight installed.  Those who do not have Silverlight installed would have no problem with installing and using it.

The argument that you should not consider a platform because it doesn't have a certain level of marketshare just doesn't hold water any more.  Otherwise no one would have considered building apps for the iPhone, rather than sticking with the Blackberry.

tags: Silverlight

Where to Find Work / Using Recruiters

There's a thread that was generating a lot of discussion on the PADNUG mailing-list last week.  It was about where to look for work, and evolved into whether or not one should use a recruiter.  I've included my response below.

My last three positions didn't come from recruiters, but from either craigslist or people I knew at those companies.  With that said, each time I go looking for a position I contact my recruiter friends to see if they can help me.  In truth, I lean on them for help pretty hard.

Whether or not you choose to take a position presented by a recruiter (versus a position you find through other means) really that depends on what type of position you're looking for.  Startups generally don't use recruiters, especially early on.  Top-tier companies (e.g. Amazon) have recruiters in house.  Many superman-like positions come from word of mouth (e.g. almost any big hire @ Microsoft).

Using a recruiter doesn't mean you'll have to take a lower rate/salary.  That depends entirely on your capabilities.  If you aren't happy with the amount of money you're being offered, then perhaps now is the time to qualify yourself for those senior/architect level positions.  If that's what you want then tell the recruiters this and they'll help you understand what you need to do to qualify for those positions.  There's a good chance that you may find that the only thing left for you to do is to ask for these upper-level positions.

If you prefer doing short-term contract work, then you may want to consider forming your own business and being entirely independent.  The rates are higher, but you take on more responsibilities as well.  In that case you're really forming your own startup.

Sitting down and talking with a recruiter is a great way to find out what you want.  I find that many are more than willing to listen to your situation and offer advice where they can.

tags: PADNUG | Jobs

Slides and Examples from PADNUG Presentation on MVVM

Thanks to everyone who showed up and particpated during my MVVM presentation at PADNUG on Tuesday night.  We had a large turnout (80+) and it was a bit intimidating.

The slides and examples are posted at http://kelly.whitepdx.com/mvvm/.

I can see there's a lot of interest in this topic.  Things are definitely picking up in the industry for work opportunities for using WPF and Silverlight (thanks Win7!).  If you want to learn more about this topic, please download the slide deck and check out the links to additional resources.  Just a word of caution, it's going to take some effort to learn MVVM, so be prepared to invest yourself in it.  Also, I was talking with Erik Mork and others about having a follow-up MVVM presentation as part of the new Portland Silverlight User Group.  Stay tuned for more information regarding that.

tags: PDXSLUG | PADNUG | MVVM

Speaking at the Portland Area .NET User Group on Tuesday, November 3rd

In two weeks I’ll be presenting for the Portland Area .Net User Group at the Microsoft office here in Portland. I'll be discussing the Model-View-ViewModel design pattern (MVVM). Last summer I was planning on giving this same presentation during the Portland Code Camp.  Unfortunately I had to back out at the last minute, due to being swamped with work, getting ready for a new baby, and more work (ah the joys of being a startup junkie).  I took a good amount of flak for backing out (and rightly so).  A number of people wanted to see that presentation and I let them done, for that I apologize.

You're probably wondering exactly what will be discussed during this presentation.  I've included the official abstract below, but you should know that my primary goal is to have a discussion with folks and help them understand why MVVM is a pattern worth learning about.  Sure there will be demos and examples, and we'll even go through some tool recommendations.  But honestly, I'll have only enough time to help you begin to understand this design pattern.  What I want is people to leave the meeting with a desire to begin to learn MVVM, and the discipline to begin to adopt it.

Examining Model-View-ViewModel (MVVM)

MVVM is a design pattern for building rich clients in both Silverlight and WPF. Frankly, there's a lot of buzz around this idea, but why should you care about it (other than to pad your resume)?

In this session I'll be making the case both for and against using MVVM. I'll go over what it is, show how you can use it, and will be including plenty of examples. I'd also like to discuss some of your concerns for why you may want to avoid it, and lastly examine some tools that make it easier to use.

Even if you don't currently use WPF or Silverlight you should still attend this presentation. At the very least you'll leave with an understanding of MVVM such that you'll be able to comfortably discuss it during your next job interview.

That last sentence in the abstract isn't a joke, but it may be a bit far reaching.  I believe that in order to be comfortable discussing MVVM during a job interview you'll first need to have used it, practiced with it, and have done more than just skimmed MSDN articles and read through code examples.  In August I interviewed with Cynergy Systems and they tested both my level of knowledge and experience with MVVM.  Despite my lack of "professional" experience with MVVM (courtesy of my previous employer), I was still able to intelligently discuss MVVM, explain how and why I would use, and demonstrate where I'm using it in some personal projects.  I am confident you will begin to see more employers testing and filtering candidates based on their knowledge and experience of MVVM.  The adoption of rich clients (both Silverlight and WPF) is climbing steadily and this pace will only increase as companies are forced to distinguish themselves through usability and user experience, rather than feature sets.

My goal with this presentation will be to whet your appetite and hopefully spark a desire to go off on your own and learn more.  It takes discipline to learn and adopt something new, and WPF is hard, especially if you've been doing WinForms for the last few years.  When you're ready to take your education to the next level then you should seriously check out Shawn Wildermuth's Silverlight Tour.  They'll be here in Portland on December 2nd-4th.  You might want to pencil that into your calendar now, I'm guessing this class will fill up soon after the PDC announcements regarding Silverlight 4 and Silverlight for mobile.

So if you're going to be in or around Portland on November 3rd, please stop on by.  The meeting starts around 6:00pm with free pizza.  Afterwards we go across the street to Gustav's for socializing and continued discussions.  Hopefully I'll see you there.

tags: PADNUG | MVVM

Silverlight 3 Firestarter Simulcast in PDX

The Seattle Silverlight Firestarter is September 17th in Seattle. Speaking will be Scott Guthrie (keynote) followed by presentations from Tim Heuer, Brad Abrams, Karl Shifflett and others. If you can get up to Seattle, consider going. It's going to be amazing!

For those of you interested in hearing this event live from Portland, there will be a simulcast. Sign up and reserve a seat now. This will be held at the Microsoft office in Tigard, so space is limited.

Also, there's going to be a free lunch, prizes and local Silverlight expertise on hand to answer your questions.

I'll be attending this event up in Seattle. Erik Mork, from the Sparkling Client Podcast, will be attending in Portland. He's an expert Silverlight Trainer and Silverlight Consultant, and will be available to answer questions. If you have a project coming up where you need some expertise, give him a call. For Silverlight Development you can't get much better, I mean, he is a Silverlight MVP after all.

Silverlight-3 FireStarterSpeaker
8:45 – 9:00Event Kickoff Mithun Dhar
9:00 – 10:00KeynoteScott Guthrie
10:00 – 11:00App Dev/Scenarios for Silverlight 3Tim Heuer
Break (11:00 – 11:15)
11:15 – 12:15Expression 3 Overview (Includes Behaviors)Adam Kinney
Lunch Break(12:15 – 1:00)
1:00 – 1:30Sketch Flow Adam Kinney
1:30 – 2:30Toolkit & ControlsJustin Angel
2:30 – 3:30RIA ServicesBrad Abrams
Break (3:30 – 3:45)
3:45 – 4:30XAML Power toysKarl Shifflett
4:30 – 5:00Q&A PanelAll Speakers

tags: Silverlight

Adding pictures and video to Sunshine

Last Saturday I attended UFC 102 here in Portland, Oregon. It was freaking awesome! I got a bunch of pictures, as well as some video clips. I want to put these on the blog and share them, but first I need to figure out how I'm going to add in the capabilities for galleries and video sharing. Time to get cranking on additional features. Details about the fights and who I saw will be posted along with the videos and pics, hopefully next week.

tags: Sunshine | UFC

Building a blog with ASP.NET MVC

A couple months ago I decided to take down my old blog and create a new one from scratch using ASP.NET MVC. I wanted to familiarize myself with this new technology and I needed a "meaty" project that would be a good candidate for it. I also wanted a new blog that behaved the way I wanted, and which would be easily extensible. I've tried out dasBlog and Community Server, and they just aren't for me. I'd looked closely at Oxite but knew I would be happiest if I just built my own.

Last night I finished the first iteration of my new blog. Please welcome Sunshine v0.1. It didn't take very long to build it, I didn't really start cranking out the code until last week. Overall it's been a fun experience, and I've still got a long ways to go. What's nice is that there are plenty of examples out there for me to look at, as far as functionality and features that I can choose to implement or not. My goals are to go through a sprint and put out a new version at least once a month until it is complete. At that point I'll be focusing on cleaning it up, making sure I have an adequate amount of code coverage for my unit tests, and placing the source online as a reference for others.

tags: Sunshine | ASP.NET MVC