Tim Murphy's .NET Software Architecture Blog

February 2013 Entries

Speaking At The 2013 Chicago Code Camp

It has been a couple of years since I last spoke at the Chicago Code Camp.  Not for lack of trying.  Our community has so many top quality speakers and subjects the team that runs the conference has a tough time weeding through all the submitted talk abstracts.  It is always a great time and a good way to get an overload of technology in one day for free.  It doesn’t matter which platform or skill level you are interested you should be able to find something that interests you.

This year I will presenting on Creating Enterprise Windows Phone Applications.  This has been a hot topic in my recent projects and the presentation will be based on real life deliverables so there should be some good discussion to be had.  Almost everyone has a smartphone today and there is a certain group of business operations that can your company can gain a competitive advantage by leveraging the Windows Phone platform.


This year PSC Group is also happy to be a Gold sponsor of the Chicago Code Camp.  We will have a table and some of our staff there so be sure to stop by and say hello.  Who know, there may even be swag.  Follow @PSCGroup for all things PSC.

So mark you calendars for April 27th and register here.  I’m looking forward to not only speaking but also attending a number of sessions and catching up with people in the community.  See you there.

Platform Religion Leads To Bad Business Decisions

I have been accused of being a Microsoft fanboy which has probably become more true as the years go by.  Of course this is due in great part to the fact that developing for Microsoft technologies allows me to feed my family.  In truth though, despite my reservations about other platforms, I am pragmatic when it comes to recommending implementations for clients.  You should always take into account things like existing installed technologies, development team capabilities and ROI when determining the technologies that your solutions are based on.

The biggest danger of sticking with your favorite platform is the possibility of building a solution that is either going to increase your client’s cost of ownership or limit their capabilities going forward.  You have to take into account the availability of resources to develop and maintain the system.  If you can’t find people with the needed skills then you already have a significant risk because the people you can find will have increased salaries.  Another risk that will increase costs is if a platform either doesn’t have functionality that matches the business needs or doesn’t do them well.  Working around these deficiencies can drive a project deep into the red. 

Even I have to remind myself to back down the throttle when talking about my favorite technology or platform versus another.  It is easy to get caught up in these discussions.  It is just human nature.  What I am trying to do right now is come up with a set of questions that methodically determines the strengths and weaknesses of each option so we can match them to business needs.  This is what any good architect or project manager should do.  Approach your decision with analytics instead of ego and everyone will win.

February 2013 Chicago IT Architect Group Summary

2013 continues to roll on.  This month our meeting landed on one of the coldest day of this winter.  We were lucky enough to have our co-founder Carl Franklin presenting on Google Cloud Platform.  We are seeing more requests all the time presentations on clouds development and Carl delivered.  His history is traditionally in the Microsoft platform, but lately he has moved to Google technologies.  I think this gives him a great architectural viewpoint and the ability to give real life comparisons.  Even if you don’t chose Google Cloud Platform, Carl gave a lot of good concepts to consider when you are looking at developing a cloud solution.


With the first two months of the year well met we are looking forward to the rest of the year.  We currently have requests for Windows 8, Architect Soft Skills, Azure and Design Patterns amongst others that we are entertaining for presentation topics.  Keep an eye on our Meetup site and this blog for future announcements.

Get You Some DZone Refcardz


DZone is a great technology site and their Refcardz are a great way to kick start your understanding of new topics.  Refcards are about the length of a book chapter packed with great details to quickly get you up and running with the latest technologies.  There are quickly approaching 200 Refcardz on subjects varying from Adobe Coldfusion to Windows Powershell and everything in between with more added all the time.  These quick start guides are created by the leading subject matter experts in the DZone community and reviewed with the same rigor as a full blown book for any well known publisher.  They are a trusted source with a web site that you can visit for deeper information.

In an environment like consulting where you constantly need to get up to speed on new technologies these could be great resources to have on hand and give out to your development team.  As an architect they are also great resources getting a starting point for proof of concepts when investigating technology alternatives.  If nothing else you can always use these as bed time reading.  In any case you should do yourself the service of checking out the Refcardz that are available.

If you have a user group that would benefit from the Refcardz you can get printed versions from DZone directly by contacting William Soprano (@WillSoprano on Twitter).  I’m sure he will also be happy to hear any feedback you or Refcardz you would like to see created.


del.icio.us Tags: ,,

Be Honest With Product Reviews

As you gain attention in the technology community you will get asked to review books and products from time to time.  In doing so you are going to find that not everything that you are asked to review will be something you believe is useful or agree with the author.  I have found that being honest with the person who asked for the review is the best thing that you can do for both yourself and them.  Contact them and explain your reservations and ask if they still want you to publish the review.  While this doesn’t bring to the public what the problems are you aren’t falsely talking up the product or book.  At the very least the person who made the request will respect your honesty and will probably look to you in the future.  If you are lucky you will get an company or author who is willing to allow you to publish the review and leave a comment as to their view or how they will address your concerns.

Now if I am using a product or book that I have purchased on my own the situation changes some.  At this point I feel it is my right to be honest and completely open with the community at large.  If it is helpful scream it from the rooftops.  If, on the other hand, it has serious defects be fair with your criticism.  There are usually some aspects of the product that are admirable.  Be sure to give credit where it is due.  I usually frame failures as things that need improvement.  Remember, someone put a lot of blood, sweat and tears into the work and you wouldn’t want someone ripping your efforts apart.  If you are constructive everyone wins in the end.  Consumers will know what they are in for if they make a purchase and the author has feedback to improve their next endeavor.

In the honest and fair with your reviews you will find that more review requests will come your way.  You will also see the community turning to you for your opinion and advice.

Leveraging Generation App

Generation App is the place for developers to get started building solutions on the latest Microsoft technologies.  I originally understood it to be for Windows 8 and Windows Phone 8 development, but you can sign up for a 30 day adventure to build web apps and framework based apps as well.  When you sign up you get a list of subject areas to study in order to create the best application possible.  You also get daily emails with links to content to help you progress and helpful YouTube videos.  The real bonus of this program is direct interaction with a Developer Evangelist to get advice while building your app.

I have to say that the service behind Generation App has been great.  They have called and emailed me several times to check on progress and to see about setting up a review with a Developer Evangelist.  They are honestly looking to help.  Where else are you going to get this type of help for free?  What it comes down to is that if you are sincerely looking to get moving with new application development and want one place to use as your jumping off point you should sign up for Generation App.

Why You Shouldn’t Build An App In 1 Page

I have seen a number of people boast that they have a 1 page web application design.  Congratulations.  Now ask yourself why you did that and what the impact that design has.  There are reasons that we modularize applications.  One reason is to give the user logical separation of functionality.  The fact that the application transition from one screen to another give the user a visual queue that something significant has changed and they should take notice. 

From a development standpoint all-in-on design usually bring with them maintainability issues.  Back in the days of ASP 2.0 we used to work with a lot of hidden panels and have all of our code in one file.  Where did that get us?  It brought with us increasing amounts of time to find and fix bugs.  I have worked with solutions where other developers have put dozens of UI elements on a page in the name of getting rid of the evil post back flicker.  The result is a nearly unreadable file especially if there are custom templates for data bound elements.

I understand the attraction of this design from a UI perspective but I believe that only the simplest apps can pull this off effectively.  Be practical instead of trying to be superman just to prove that you know every trick of a technology.  In the end both the user and the developer who comes after you with thank you for an application that is clearly broken into functional area.

del.icio.us Tags: ,

Chicago Code Camp 2013–Speakers And Registration

The time is fast approaching for Chicago area developers to get their geek on.  The Chicago Code Camp is accepting both registrations to attend and speaking proposals.  The Chicago area has some great thought leaders and this is the place to see them.  Last year’s topics included iOS, robotics, clojure, activejdbc, Rails, cryptography and more.  This year PSC Group has decided to be one of the sponsors for the event and are submitting several talks.  There should be something for everyone so be sure to sign up. 

del.icio.us Tags: ,

Scratch–Programming For Kids Or Going Old School

I was watching the TED session on Scratch after seeing it linked to in the DZone newsletter.  I was interested to find out what it was and see if my kids might be interested in playing with it.  Of course I also needed to find a new programming language to learn for the year (ok, couldn’t resist a little dry humor).  The Scratch programming environment can be downloaded from MIT’s site here if you want to give it a try.

Scratch is an interesting little drag-n-drop language that is great for understanding the basics of programming.  Of course for those of us who have been exposed to higher level languages with specific constructs for to do every operation we will have to relearn to bend the limited syntax constructs to our will.  Using this environment reminded me of when I first learned to program as a kid using Applesoft basic on an Apple II+ and writing HRG programs but with better tools.


So how does it do as a learning environment?  The visual structuring of the components acts as an easy way to figure out where you can use a particular construct.  It isn’t going to let you place an language object in an area where it doesn’t belong.  This is similar to the warnings generated by the real time interpretive checking done in today’s IDEs like Visual Studio and Eclipse.  At the same time it does take some time to understand some of the syntax standards.  Only sprites can “say” something.  There is no way to popup an alert.  Instead you make a variable visible in a specific location of the screen.  In all it is easy to get the basics and come back wanting to figure out how to do more complicated operations.

The kids and I had fun making Minecraft Creepers march up and down the screen to sound effects that we recorded.  Even if they don’t end up writing their own programs we had fun creating something together.  Check it out and see where you can take it.

Feed Reader For Windows Phone 8 Has Me Reading Blogs Again

While I post on a regular basis, Twitter has become my pointer to any blogs that I read.  I haven’t logged into a RSS app or Google Reader in a long time.  When Feed Reader was featured on a web site recently (sorry but I can’t remember which one) I decided to give it a try.  It logged directly to my old Google Reader account which made getting started a breeze.


That app easily shares links via Twitter or saves them to Instapaper.  The wildest feature is that it will audibly read each post.  I can’t say that I will use the feature very often, but it could be good to keep up posts while driving.  Add to this podcast and Youtube support and I think it is a pretty rock’n app.  When this is coupled with my normal Twitter feed browsing it will make keeping up with the latest tech topics and sharing them with the community a lot easier.  Great job guys.