The Imaginative Universal

Studies in Virtual Phenomenology -- @jamesashley

2011: The Year in Review

January 01
by James Ashley 1. January 2012 23:17

cover-001

2011 was an extremely busy and exciting year.  I had the chance to go to more conferences than I ever have before: MIX11, An Event Apart and BUILD were highlights for me.

Blog: I wrote several blog posts I was rather proud of – much as a doting father would be.  The most popular was Windows Phone 7 at a Crossroads which received more comments than I typically get as well as extremely flattering outside attention from codeproject.com and the Windows Phone Dev Podcast.  My two personal favorites, however, were one on Delight and another called The Kinect’s Past which received a comment from Bill Buxton.

Speaking Engagements: I also had a busy year speaking at the Greater Gwinnett Microsoft User Group, the Atlanta .NET User Group, CodeStock 2011, MADExpo 2011, Web Visions and SIEGE 2011 as well as a private presentation on UX for Microsoft and Bank of America.  I also did a podcast interview for IEEE Spectrum about Windows 8.

Keynote: I was invited to give one of the two keynotes at the Mid Atlantic Developer Expo conference.  It was a distinct honor and an extremely fun event.

User Group: I spent another year running the Silverlight Atlanta User Group.  Corey Schuman and I have been organizing and maintaining the Silverlight User Group for two years, now, and only recently changed the name to the Atlanta XAML group after what was frankly a very tough year for Silverlight.

Conference: It was the second year I led the organizing of the ReMIX conference in Atlanta.  Our attendance was up to 450 this year.  More importantly, we were able to get just about every speaker we wanted including Rick Barraza, August de los Reyes, Josh Blake, Arturo Toledo and Albert Shum.  We also had a single track devoted just to the Kinect.  I want to thank the other organizers of ReMIX for indulging me in this: Cliff Jacobson, Sean Gerety, Wells Caughey, Dennis Estanislao and Farhan Rabbi.

Book: I spent the last quarter of this year working on a Kinect SDK book for APress with my colleague Jarrett Webb.  This was a good outcome since I spent the first part of the year writing several chapters of a Windows Phone book that didn’t get to see the light of day.  Expect to see the Kinect book towards the beginning of February.

My most impressive achievement, however, was catching up on five seasons of The Wire.  There are lots of blog posts going up around the web right now purporting to give advice about what you should and should not do in 2012.  My advice is short and sweet: you need to watch The Wire.  If you don’t, you are a horrible person, hate America, are aiding and abetting terrorists and are preventing George R. R. Martin from completing his next novel.

Tags:

Omphaloskepsis

Consider the Cow

August 29
by James Ashley 29. August 2010 17:54

vache

For a while now, a trope has been going around (I think started by Jesse Liberty) to the effect that if you know Silverlight then you already are a Windows Phone 7 developer.

Having spent a lot of time lately on the Windows Phone 7 forums answering questions, I’m actually amazed at how many posts come through that demonstrate a lack of basic knowledge about Silverlight.

… and that’s kindof cool.

My first emotion, however, is always shock and resentment that people are trying to write Windows Phone apps and yet are asking elementary questions about data binding, about how to template a control, about the purpose of the DataContext, about how to skin a listbox.

Not uncommon are questions such as:

“Please to show me how to write a complete Twitter client with samples and with security built in. Thanks in advance.”

What I find impressive in all this (my second emotional reflex) is that the developers who are trying to do the most with Windows Phone are not experienced Silverlight developers – the people we all originally assumed would adopt the Windows Phone platform.

They are not interested (to my chagrin) in the nuances of the Silverlight platform and the best way to prop up an MVVM framework. 

Instead, they are looking to accomplish a task and then move on.  I suspect that while I am still putting the finishing touches on my tombstoning infrastructure and my comprehensive solution to page transitions in a phone app, they will already each have 20 applications ready for the Marketplace, all of them beautiful, functional and competent.

The philosopher Hegel, at a certain point, extols the virtues of the cow, and recommends that people should consume concepts the way a cow will consume grass, quickly and efficiently.  Nietzsche, in a similar vein, considers the cow’s contentment chewing her cud while the philosopher worries about what will make him happy.

One oddity of modern (by which I mean in the past 5 years) programming is that application development time has not gotten any shorter despite the prevalence of frameworks and syntactic sugar in our languages to make the development process easier.  Is it that with better tools, we simply take greater time to create our software edifices?

Windows Phone applications, by contrast, are small and light.  They certainly gain by sophisticated architectures – and I’ve read many a screed decrying the lack of TDD and IoC experience among the new breed of phone developers – but do they really need it?  Do I need architecture at all for a three page application?  Do I really need unit tests?  Continuous integration?

In the consulting and corporate worlds, being able to talk to TDD, IoC, SCRUM and a host of other acronyms sets an expert developer apart and justifies higher rates.  In those particular environments, it makes sense to hone these skills and to guard them jealously as they give us a competitive advantage in the consulting marketplace and along the corporate ladder.

Phone development, however, is judged by a different marketplace.  A phone application doesn’t have to appeal to architects and CEO’s. It simply has to appeal to the twitchy fingers of a phone marketplace consumer who has no idea what is going on underneath the slick appearance of an app.  It seems unlikely that any phone application will achieve high ratings based on the beauty of its architecture. 

So consider the cow.  As consumers of phone applications, this is what we all are.  An app must catch our interest quickly.  The moment an app loses our interest we forget about it.  An app is either successful in maintaining our attention or it isn’t, and if it isn’t it is soon consigned to oblivion.

And now consider the virtues of the cow developer.  The best ones share common characteristics with and understand their audience.  They have little time for finding the “best” way to skin an app (after all, there’s always more than one way to do that).  Instead, they want a quick solution so they can move on to getting the colors right, the sounds right, the overall experience right.  If someone else can provide the quick solution, all the better. 

There is no particular pride to be taken in coming up with a solution by oneself.  Pride doesn’t feed anyone. The primary objective is to create apps that delight the consumer and make him want to buy (or chew, to extend the cow analogy a little too far).

Perhaps it is time we, as developers, began admiring the cow rather than the architect of our plumbing.

Tags:

Omphaloskepsis

DevLink Dynamic Object Code Sample

August 10
by James Ashley 10. August 2010 21:52

Several people asked about the Dynamic code I used for making Restful calls at the end of the Dynamic Types and Dynamic Objects talk at DevLink.

I have uploaded the sample to my skydrive.  Please use this code in any way you like.  Just keep in mind that most of the magic going with JSON and XML parsing was written by Nikhil Kothari.

Tags:

C# | Omphaloskepsis

BlogRoll

Download OPML file OPML