DevTeach: Come and gone

by kelly 11. March 2010 13:17

So another DevTeach, this time in Mississauga, has come and gone.

Previous ones I have been an attendee; this time I was a speaker. I was honoured to be selected and proud to be chosen to discuss a few topics that I have been learning and playing with for me. Overall, I think it was a great event. It was a new venue (was held at the MS offices in Mississauga), so was slightly different than the hotel experience. My first presentation went pretty well; thanks to James Kovacs for selecting me for it as well as providing some assistance during the talk. My second one… not so much.

Some hardware failures immediately before (read: 5 minutes) meant that I started a bit late and some of the features I wanted to show were not working as well as I wanted. So, this leads to 2 things that I have identified for me: First, Windows Updates can kill your machine right before a presentation as you never know what it will do. Second, buy a new laptop. I now have justification.

For those who attended and saw my talks, I thank you. Although I have spoken locally in Winnipeg before, this was my first speaking event to such an audience. I took a lot of the feedback (good and bad – especially the bad) and am working it into an action plan of how to move forward with doing better the next time. More demos, less jumping to the meat but putting the plate out first, that kind of thing. For those that were not as thrilled with my SketchFlow talk because of the issues with the machine (and I am one of them), I plan on creating a few webcasts of what I did. These webcasts I will post on my site (or elsewhere with links from here) to the videos so as to make up for the not-as-great-as-I-wanted talk.

Well, time to board the flight home. A lot of lessons learned, and some new things to consider as I move forward.

Cheers!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General | Presentation

Winnipeg Code Camp and Presentation Learnings

by kelly 27. February 2010 07:19

Although I write this before the event is complete, my part in presenting is. For those who are learning to present more in public (like me), I write this with some lessons learned for me and for anyone else interested. (For a summary of all sessions at the event, check out http://www.winnipegcodecamp.com )

First, do not trust your computer. It’s a tool and tools break down. Create a fallback plan. This is the 3rd time I have presented on ASP.NET MVC and it’s also the 3rd time that my laptop has died shortly beforehand. At least this time I had several days to recreate everything. I think I did OK, but not as well as I could have. Instead of practicing my presentation I had to begin over again. So as a fallback – always save your work on a second drive or USB key. (I had done 2 other presentations for DevTeach and had completed those mostly so have those backed up but this one I had not moved to my backup drive.)

Second, get some sleep. Because of my tool failure and recovery plan, I got only 3 hours sleep. I also presented at 9 AM. Put those both together and we have a problem. Coffee helps but only in the short term; you still need sleep.

Third, don’t drink the night before. I only had one drink so I was fine. A colleague’s statement holds true, however: “I should NOT have played that much beer pong the night before I was to present.” I have heard various statements in regards to various types of drinks the night before presenting but also quantity which can lead to some serious hangover sessions (“Someone said my presentation this morning was pretty dry… not as dry as my mouth!”). Although I had one drink to calm some nerves, I only had the one and that helped. (OK, there was a shot as well but China White’s don’t count.)

Those are some base learnings I am taking away from here. The last 2 times I have done some public speaking have been amazing learning experiences and I take that information with me to make DevTeach an amazing event.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General | Presentation

Not all coffee is created equal

by kelly 15. February 2010 11:50

Being a geek, I’m a bit of a caffeine nut. My tastes usually revolve around pop and coffee; I don’t need any of those chocolate-covered coffee beans, nosiree. But I do like my caffeinated beverage.

I don’t really want to go into the cola wars, as those have been hammered out on television during every major sporting event and pop culture show, usually whenever it’s not a commercial for beer, male-enhancement drugs or feminine products. (What’s sad is that I did keep count through a few shows to determine that those 4 categories make up, on average, 75% of commercials that are not network advertisements.)

When it comes to coffee, though, you don’t see a lot. You used to see those old Taster’s Choice commercials here in Canada which starred Anthony Head (Giles from Buffy the Vampire Slayer, Uther Pendragon from Merlin). There was the melody from Folger’s about the best part of waking up. But now coffee has gone into every third corner store. And yet it was something I always just took for granted – a cup of coffee. Depending on how someone at work made it, it was all right. Nothing spectacular but all right. But it was coffee.

Pour Your Heart Into ItI recently read the book "Pour Your Heart Into It - How Starbucks Built a Company One Cup at a Time" by Howard Schultz and Dori Jones Yang. (The image to the left will take you through to the page on Amazon.ca.) Howard Schultz is the Chairman and CEO of Starbucks, and reading how he came across this small company in Seattle and turned it into what it is now was an amazing read.

Now, you may think coffee is just coffee, but the book covered a lot of how one chooses the bean, the types of beans, the roasting process, and the inclusion of flavour. Now, the book was intended to be more of a company biography (which is why I picked it up), but reading on the details and the intricacies of the coffee is something that made me want to taste the difference.

French PressI’ve never really paid too much attention to the coffee at various places but this book made me do just that. Most coffee is watered down and you get no flavour, no enjoyment. But then at a place like Starbucks, you do; the downside is you pay an extraordinary price for it, but sometimes you don’t mind paying for quality. However, a co-worker had a French Press at work and recommended it. I was curious, and saw that there was one at the grocery store for 15 bucks. I decided to grab one and took it home. But now I needed the beans.

I guess I could have gotten the beans at the grocery store too, but one thing I took from the book was that the fresher the beans from roasting the better. There was a small coffee shop about 2 minutes from where I live so I decided to try that place out. I had never gone in before, but figured what the hey; can’t hurt to look, right?

The place is called Forbidden Flavours and when I went in I was greeted by the co-owner of the place. Even though it was a Sunday night and her staff were cleaning up to close-up for the evening, she took some time to talk to me about what I was looking for, my likes, my preferences, etc. I think this is what sold me on going there from then on – the personal touch. (The fact that I introduced myself only once on that first meeting and she knows me by name whenever I go in now is great as well.) She and her husband own the shop and they do everything there. The roasting is done on site weekly, so the beans that you get are extremely fresh. They offer small sample bags of coffee so you can try different ones. Their house blend, known as the Prairie Blend, is amazing – a light bean/medium bean/espresso bean combination. Amazing.

The flavour from this coffee is amazing, and in the French Press it’s astounding – made to how I want it. A richer flavour, a temperature for me, and I have it at my desk as well so no getting up to get more (except when I need more water). It makes a good 3 cups worth as well, so those 6 AM mornings are definitely helped. The fact that it gives my coffee that personal touch, and from a place that gives me the personal touch, is greatly appreciated. For those who are picky and love their coffee, try a French Press. For 15 bucks plus the coffee (which has a different level of grinding so you have to go somewhere that grinds or get your own grinder), it’s definitely worth it.

(On another note, as I wrote this post I found out that Forbidden Flavours is closing shop permanently on Sunday 21 February 2010. I only just discovered this place. It is one of the few non-chain shops in the area and it’s quite saddening to see it go. I used to go to another coffee shop here in Winnipeg which closed down over 10 years ago, and it was definitely a community place to hang out. Although I don’t know the reasons why, I wish Allan and Katherine, the owners of the shop, all the best. Katherine took her time to talk to me and for that I am ever appreciative – it’s rare that you find a business who takes that much time to understand a single customer and make them feel welcome.)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

From Presentation (Concept) to Reality

by kelly 29. January 2010 13:25

As a side project, I am helping a friend update and maintain a family website. They want a complete redesign (from scratch), and want to start to add in adding functionality to the site. After a brief discussion with them, they want to begin to lay out the project.

Hmmm… They want to prototype it. Wait a minute! I’m doing a presentation on SketchFlow in a couple of months – what an idea! A practical use of the tool for my presentation AND give these guys the prototype that they want! Sweet!

Oh wait, they also want some cool effects and visualization on their website? Well that can all be done with JavaScript and either Prototype of jQuery… Hold the phone! I’m doing a jQuery presentation as well! Well, look at that! Another merger!

What does this mean for me? That working on my presentations will actually work out better for my friend and his family, but also give me a direct goal with which to work on my presentation! This is perfect – this will give me exactly what I need to move forward. It’s always nice to have a goal. Many presentations with demos are put together to show a piece of the puzzle without an end goal; hopefully this project I am doing will have a “go live” date so that I can refer individuals to the plan during the talks (permission from my friend to use the information, of course).

Ah well, back to working! I just wanted to mention that finding the ability to actually put some reality to concepts is a nice change!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

SketchFlow | Presentation | jQuery

Early Resolution Status Update

by kelly 23. January 2010 17:07

So my last post had a few things I wanted to achieve over the foreseeable future. It's just over one month since that post, not even a full month into the new year, and I have already achieved much more than I had thought!

 

  • A better balance between personal and work life - Last year, while finishing up one project, I was doing regular 12-15 hour days because the work needed to get done and I wanted to make sure it got done so I did it myself instead of delegating some tasks to others. So far this year, while working on a new project, I have already begun to get into the normal 8 hour day. The thing will be holding to this once I get that momentum going.
  • Be a better motivator and coach rather than a boss - Already this year I am working with a number of individuals to bring some best practices to my department. This last week we rolled out some new formats of documentation for the company to follow, and after my current project ends I am hoping to begin working with the team on individual improvements, provide them resources to take their careers to the next level, and bring out some better habits around the organization. (Can you tell I am a manager?)
  • Speak more - Like I said before, I was accepted to speak at DevTeach. I am presenting at the Winnipeg Code Camp. I have submitted several abstracts to the first Prairie Developers Conference. All in all, looking up in this regard... but lots of preparation work! However this is definitely making me more knowledgeable in the areas I have chosen to speak on so it only helps me grow in this regard.  
  • Become more proficient in new technologies - I am working on this piece by piece. There is a lot out there to choose from and that makes it difficult. I have always been interested in UI and UX so a lot of my focus is going there. Not necessarily the backend technologies, but the experience the user needs. This is where a lot of my focus is.
  • Read more “inspirational” books - Since that last post, I have read a few on both leadership and company profiles. I love reading the books on individuals who build up a successful company and/or brand. My reviews of a few will probably be up in the next little bit, so definitely keep your eyes tuned.
So, those were my 5 goals. I am already working on them. Unlike previous years where I did nothing, because I set myself some unreachable goals due to my circumstances, I think these ones are reasonable. And, once I begin to move forward with them and bring them on as a standard way of me doing things, I will add more. This is not going to be a "make a list once a year" type of thing; this will be something that will grow over time, be expanded upon, and as items are completed removed from the list to be replaced with new ones. 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General

Early resolutions and a plan for 2010

by kelly 22. December 2009 09:02

I haven’t made a New Year’s Resolution in many years. My last one was to never again make a New Year’s Resolution. I am holding to that by creating an Early Resolution (TM) – well, several. This is more to give me goals to strive for within 2010 but also to keep myself acknowledged on my achievements so I can reflect, see what I did, and set the following year’s goals. I have already posted a few on Twitter, but wanted to put this out there as my personal checklist.

Last year, I gave myself the goal of wanting to speak on technical topics more publicly. I was happy to present at Microsoft TechDays here in Winnipeg with an Introduction to ASP.NET MVC on December 16.

19 kelly cassidy_dd596bc2-b15c-4dd4-88a8-c083eec40e9c 18 orange track audience_0f53e03e-11b1-416f-a3e9-4249f5a4a6f4

Little did I know I would be speaking to around 100 people on this topic. For a novice speaker, a little intimidating, but gratifying. (It seems no one knew my laptop crapped out the night before and my demo was thrown together 9 hours before the presentation.)

But this gave me a step forward to help with my 2010 Early Resolutions.

  • A better balance between personal and work life. I have a tendency to work too hard, to be a perfectionist, and let the personal life slide. Sometimes working so hard I make myself ill – like today as I write this. This will be corrected in the new year.
  • Be a better motivator and coach rather than a boss. Instead of dictating everything, work more in collaboratively. Listen. Not get upset. Build up the team environment rather then the “US vs. THEM” mentality. I’ve read a few great books on leadership recently (reviews pending) and it inspires me more as to the kind of leader I want to be.
  • Speak more. I have already committed (and been accepted) to 2 presentations at DevTeach in Mississauga in March (one on SketchFlow and another on jQuery). I am planning on doing a presentation at the Winnipeg Code Camp in February (topic TBD). I am considering putting together a few abstracts to submit to MIX (one of the largest web conferences). Speaking means you know your stuff, and this forces me to become knowledgeable in these areas.
  • Become more proficient in new technologies. My day-to-day is no longer coding, but I need to know what’s out there. We are becoming, more and more, of a full service provider to our clients so we need to know what’s out there and what is available. As an analyst, I need to know to provide options and direction. I need a stronger pulse on what’s going on in industry.
  • Read more “inspirational” books. To me, these are more business biographies and stories, either about the company or the person. Some of the most interesting I have read have nothing to do with technology, but the practices within are invaluable. I want to read at least one per month (on average). Recommendations are greatly appreciated.

Well, that’s my starting point. They are all somewhat tech oriented, and I am sure that more will come up. But this is a nice starting point. It gives me something to move forward to.

As it is now the 22nd and I still have to finish my gift shopping, I leave now, wishing everyone a great holiday (regardless of what you celebrate) and hope to post much more frequently in the future.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General | ASP.NET MVC

Cellphone Woes and Hopes

by kelly 15. November 2009 14:58

About a year and a half ago, I needed a new cell provider. I was not happy with MTS as my provider, as I was travelling out of Manitoba for work and conferences, and MTS is not a national provider and therefore charged me extra in roaming charges. For those of us who want a national plan, our choices (of a major provider) are Rogers and Telus. Having used Rogers at work, and heard some horror stories there, I chose Telus. It had its bonuses (cheaper plans) and negatives (no SIM card to just move to a new device), but I chose it anyway.

When I signed up, I picked up the HTC Diamond Touch. I originally wanted a BlackBerry Curve, but they had none, and without something I would have had no phone. So I went for the Diamond, for a few reasons:

1) It looked kinda cool. To go along with that, it had a lot of the applications and features I wanted built in.

2) It was a Windows Mobile technology. I use BB at work all the time, so having a Windows-based platform to play around on and program with was kinda cool.

3) The touchscreen capability. I actually do prefer a touchscreen to actual keyboard, but that’s just preference not a make-or-break.

In that year and a half, I have replaced the battery twice (the battery life sucks), had major problems with the touchscreen becoming unresponsive, and basically the Windows Mobile equivalent to BSOD on virtually every application (including the phone, which I really don’t see how that is even possible).

So today, I ventured back to my Telus store and bought a new phone: the BB Curve 8330 which is what I wanted to get a year and a bit ago. I am still setting up and configuring (doing the OS updates now) and will get the BB App Store installed soon (Step 10 of 11 in the update process is up to 30 mins long), and will then be back on my way to smartphone goodness.

One thing i was not expecting was to have to create the link to my email account on my PC; I couldn’t do it on the BB. The manual said I could (Internet Email or Exchange) but the BB only gave me the option for Exchange or skip. I chose skip, but that’s ok; I still got it working. Kinda frsutrating though. At any rate… here goes the BB venture.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General | General

Support and Common Sense

by kelly 20. September 2009 09:43

I’m writing this post because of something that happened at work. Nothing bad, but a funny little event. But the results of that event give me pause: the response to said event was a “politically” correct one but not necessarily one that answered the support question, nor did it even broach the subject that perhaps someone was playing a prank on him. No, it glossed over keywords and provided what appears to be a form email in response.

The Issue

HoffLovesYouWhen working at a company with computer people, one thing you should learn: Never leave your computer unlocked. Your coworkers will inevitably prank you – either by emailing another coworker from your account, sending them love messages over messenger, or having your background changed. (All 3 of the above have happened to me.)

Recently, and individual got “Hoffed”, which is having your desktop background changed to one of many pictures of David Hasselhoff – see attached. This is the image in question.

The recipient of the “Hoffing” decided to contact Windows Support and request assistance to remove the Hoff from his machine. (This individual was able to remove it, but a strange occurrence happened as per his email which prompted the support email.

The Email

What follows is this person’s email with all names and contact information removed, but the exact contents being enclosed:

Dear Microsoft,

Recently, my wallpaper was changed to a tiled picture of a shirtless David Hasselhoff. After changing my desktop picture, I have noticed that my lockscreen still displays the Hoff, and he’s still shirtless.  How did it get stuck there?

Did windows recognize the Hoff and decide that it liked it so much that it should remain my lockscreen background forever? Is this some undocumented feature of Windows Server 2003?

Any information on the subject would be greatly appreciated.

As you can tell, some obvious sarcasm there. One could acknowledge that the email was sent because the individual was bored, or just wanted to pass along some hilarity.

Now, I don’t know if Microsoft’s policy is to reply to every support email or if they get personalized attention versus form letter responses, but this email did receive a response.

The Response

Here is the response, again with all names and contact information removed:

Hello XXXXXXXX,

Thank you for contacting Microsoft Customer Service.

I understand from your e-mail that you are unable to change the wallpaper on your Windows Server 2003 computer.

There are several ways to obtain support:

You may search for self-help articles to resolve your issue:

http://support.microsoft.com/ph/3198

You may also post your issue in the Microsoft newsgroups:

http://technet.microsoft.com/en-us/windowsserver/bb430837.aspx

If the Microsoft Windows Server 2003 came from your computer manufacturer, they are your primary option for support:

http://www.support.microsoft.com/default.aspx?pr=oemphone

XXXXXXXX, you may also work with a Microsoft Support Professional via e-mail, telephone, and for some products, chat to resolve your issue. Please select the appropriate edition of Windows Server 2003 from the below link to contact the Support Professional. Depending on how you obtained your software, there may be fees to use the Assisted Support option: https://support.microsoft.com/oas/default.aspx?ln=en-us&x=14&y=13&c1=508&gprid=3198&&st=1

I hope the issue is resolved soon and appreciate your patience.

Thank you,

I see 2 issues here: One, this is most obviously a form letter, and 2, it did not address the issue requested. If it was, indeed, an auto-scan, it picked up on the keywords “wallpaper” and “Windows Server 2003” and focused on that. The individual mentioned that he removed it as a wallpaper already, but it was still there on the lock screen. None of the above links addressed that issue.

General Comments

Come on, Microsoft. If you are going to provide support, provide support; this is either an auto-scan with an automatic response from support individuals, or it is being responses by someone whose English language skills are not up to par. The question is not addressed herein; the initial “problem” that the individual quoted is being solved even after it was already done.

Lately, Microsoft has been great with how it approaches the developer sphere: open forum discussions, best practice sessions, opening up future developer products to beta far in advance to garner real feedback, stronger support for OSS. That’s a great leap in the right direction! But if the support team for your operating system environment cannot handle such a ridiculous comment as this one, and even maintain to resolve the wrong issue than was requested, then MS you got a ways to go… but at least one section of your company is on the right path.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General

WebForms vs. MVC

by kelly 7. September 2009 12:33

I have now played around with ASP.NET MVC Framework 1.0 over the last few months in great detail. I first was introduced to this framework at DevTeachthrough a presentation from the gift to software developers, Justice Gray. A new web framework that was not control-based (and no ViewState) sounded good, as many of the projects I have worked on are not necessarily web applications but public-facing, information-providing web sites and some of the elements and controls in WebForms is a tad overkill and performance draining at times.

I recently read and commented on the book “Professional ASP.NET MVC 1.0” in my blog. In that post, I indicated that what I thought was missing from the book: reasons and justifications of when to use one over the other. The book was technical in nature (as it should be), but my experience is that developers want to use newer things and they need to be able to justify a newer technology to their boss instead of just “because it’s there”. So, what follows are my opinions on when to use WebForms and when to use ASP.NET MVC (I’ll just call it MVC for the purpose of this post – I won’t be referring to any other MVC frameworks at this time). These are just opinions and are based upon where I see the strengths of each of the systems.

WebForm Strengths

I think the main strength of the WebForm framework is its ability to run as an true application environment. It’s initial design was to make the transition from a desktop environment to the web, otherwise there would be no such thing as ViewState. Why would you need state for a standard website? You wouldn’t. Maybe for a shopping cart system, but a secured website and cookies fit the bill there.

There are enough third party controls out there with cool things that they do that WebForms will not go away, nor should it. For the longest time it was the only player on the block; having competition, even if from the same parent, can only make it better. As well, many organizations have a lot of time and effort invested into WebForms applications so why should it go away? It shouldn’t; it has its purposes and it works great for those.

MVC Strengths

A strength of MVC is its ability to deliver content through URL routing. Yes, I know that the routing engine is available to use through WebForms too, but I think it’s ability as an inherent part of the MVC system is a major strength. I mean, compare these potential URLs:

http://www.blah.com/DoSomething.aspx?action=blog&id=MVCPost

http://www.blah.com/Blog/MVCPost

Of those 2 URLs, which one is easier to read (from an end user POV)? Which one is easier to understand where you are? Definitely the second, which takes full advantage of the routing engine in MVC. As well, MVC focuses on strong separation of the view from the logic; WebForms… not so much (it can, but with many developers focusing on a technology instead of a best practice, you don’t see this as much).

Where Could They Be Used Together?

I could see both technologies being used to create a full deliverable solution:

  • A WebForms application being used to create the support interface for a content management system
  • MVC being used to deliver the public-facing result of the CMS

Why would I see it this way?

  • The CMS needs to be able to set content on multiple templates. Only authenticated users should be able to do this, not everyone who has access to the site. Being able to manipulate content (images, text content, page templates, activation and expiration dates of content) is inherent to application-style functionality. The ability to manipulate content seems much more in-place with the purpose of the WebForms infrastructure.
  • The public-facing site (content delivery) would be much more suited to MVC. MVC merely has to extract the information it needs and provide it through the controller and model to the view, which handles all UI elements. For the most part, modules within a CMS are (should be) reusable and as such just need a mechanism to display them, and MVC provides that quite easily.

Now, I am not saying that you cannot or should not use one technology for the infrastructure or public delivery over the other; it’s personal preference. However, I think MVC gives a few extra bonuses for a public site that needs value to be applied to it:

  • Native routing engine that gives more user-friendly URLs, which makes metrics gathering that much more simpler to do (if done client-side)
  • Page settings are easier to control (page title, etc.)
  • No worries about third-party WebForms controls displaying strange raw HTML (it has been known to happen)
  • Adding a new visual piece of functionality does not inherently mean changing every element of the application, whereas with WebForms you may have to do so (not always)
  • Full control over the UI means the potential for enhanced search metrics

I am focused greatly on metrics, usability, and enhancing a website with work these days so thinking of how I can enhance an application… well, MVC seems to have these things more “out of the box” which means faster turnaround, which means more value, which also leads to more work to make things better. WebForms has its place, but public-facing content delivery sites (IMO) is not one of them.

There is a mantra out there in software these days: “The right tool for the job.” It really takes an understanding of the technologies out there to make this call, and knowing its capabilities really seems to help. Having only a one-sided view limits the potential for enhancement and value; you really need to understand what is going on and go in with the mindset of delivering something quality, but also with a system that can help make things better.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

ASP.NET MVC | ASP.NET | WebForms

Book Review: Professional ASP.NET MVC 1.0

by kelly 7. September 2009 11:02

000e4f03meProfessional ASP.NET MVC 1.0 (Wrox Programmer to Programmer)
by Rob Conery, Scott Hanselman, Phil Haack and Scott Guthrie
Published by Wrox Books
ISBN: 978-0-470-38461-9

I finally had the chance to complete this book. This has been a very long summer, and my hope was to finish this by the end of June. No such luck. I only just finished it this September long weekend after trying to find some time to do it, but that was not to be. I am happy to say that I have now completed it, and it was worth its time to actually take some time.

The Good

This is definitely a good book for someone already familiar with coding in C#. You don’t have to be a C# guru (thank God for that), but you have to understand the nuances of the language. Understanding the ins and outs of ASP.NET helps too so that you can truly understand the difference between the MVC framework and WebForms.

The book has 420 pages made up of 12 chapters. This should not seem daunting, though; the first chapter alone takes up the first 164 pages of the book, but is a complete step-by-step walkthrough of an ASP.NET MVC application called Nerd Dinner. It gives and intro to virtually every concept that the MVC Framework 1.0 covers without delving into too much detail; the detail follows in the other 11 chapters.

Each subsequent chapter contains a singular topic that allows the reader to focus and they actually flow well into one another: Routing to Controllers and Views to TDD. This book covers a lot of the main topics that a developer who delves into MVC will need (I especially like the TDD chapter – definitely a boon for someone who never saw the value in TDD until recently, but that was simply because I never truly understood the value).

I do like the fact that this book did not jump into jQuery. The authors mention at the start of Chapter 7 that jQuery will be supported within ASP.NET MVC but do not delve into it. Why not? Because there are many books on jQuery out there that can cover the topic there. jQuery is also not native to just MVC so it makes sense not to cover it here, but I am glad that they did make mention of the technology.

They also mention that WebForms and MVC can exist in the same project. What? Touting the fact that the technology being used is not the only solution out there?? Inconceivable! And yet, it’s great to see a compare and contrast view, and then a “But we can work together by…” methodology being demonstrated.

I also enjoyed the “Product Team Aside” sections. What is nice about this book is that it is written by 4 individuals who actually worked on the product team within Microsoft. That means that they truly have an inside track as to what is going on with the technology and give a birds-eye view of it. There are far too many books that are used by experts in the technology, but with only personal experience and no knowledge of where it is going. (Although they don’t outright say where MVC is going in the book, a logical assumption is that they aren’t going to focus on a feature that they know is going to be dumped – the primary advantage of the product team writing it is that it is not someone making an assumption and posing in a book “Why is this not there?”.)

The Bad (AKA What I Think Would Be Better in the 2nd Edition)

What I mean to say here is not necessarily bad, but just something I think could have been better.

Being one of the few books that gives you a full tutorial from beginning to end, one thing I found disappointing was the fact that some of the code presented in the book just simply wouldn’t compile. I followed every step-by-step instruction and it worked for the most part, but once I hit a certain threshold it just wouldn’t work. (Thankfully, the authors provided the application online for download. By downloading that you could get the application to compile, but it was the final version so you really had to jump around and grasp a lot of things at once.)

I think it would have been better had Chapter 2 actually been Chapter 1 – a comparison of MVC frameworks, a high-level discussion of what it does (not in-depth) and then dive into the tutorial as a second chapter. (Don’t get me wrong – I love the idea of the full application tutorial, not enough books give this kind of in-depth summary from beginning to end; I just don’t necessarily agree with it as the first chapter.)

This is something I am putting under bad, but it’s not bad; I hope that by putting it here that if the authors read this post that they will consider it for a future edition, and that it also sparks some discussion/debate: Put more emphasis on the testing. There were 2 chapters in the book which covered TDD and testing patterns, but I don’t think that was enough. The MVC framework is such that this is the perfect technology to truly expand upon the testability of software applications and bring a higher level of quality to the applications. With proper tests, confidence in the quality of the application goes up and value of the application (and the development team) also goes up. Far too often, testing comes as an afterthought if at all; partly because many frameworks do not truly support how it can function. This framework endorses the testing platform from day one, and I think not enough attention was granted to it. (I know it may have made the book bigger, but considering the size of some other technical books an extra 2-3 chapters on testing your MVC application would not kill anyone.)

The Nitpicky

I am pretty nitpicky a lot of the time. Although well written, you could tell that this book had 4 authors. You could tell frequently when one person wrote one section or chapter and then another took over; their personalities (especially if you read their blogs) stood out as did their writing style. I am pretty sure that much of the identification was taken out during the editing phase, but you can’t get it all. (You also can’t please all of the people, which is why this is not a bad thing, but merely a nitpicky thing.)

What I Would Have Liked To See

The book really does cover the advantages of MVC over WebForms, but also talks about the advantage at times of WebForms over MVC. What it does not cover, in my opinion, is when you would want to use MVC over WebForms. The book is (and intentionally so) technical, but my experience is that an organization wants their people to make recommendations and relate it back to the business element and why they should choose a current technology. Many companies may not even want to look at MVC 1.0 because:

  1. It’s a version 1.0 product
  2. This framework may not yet be “proven” to an organization that has a deliverable arrangement necessary
  3. It’s considered to be merely a new “flavour of the week”

Although there are many great technical reasons to choose MVC, there is no way to convince a non-technical (or even someone technical who would understand it but is set in their ways) why you would want to use this framework for a client deliverable. (I will touch on what I think the best case for MVC versus WebForms should be in an upcoming post – probably to be written shortly after I post this one.)

Summary

I may sound somewhat negative, but I am not. Not about this book. This is one of the better technology-related books I have read in a long time. It covers the technology in detail, it gives great examples, it gives ideas of where the technology is going, and it shows that it’s not the only solution out there. It can co-exist with other, similar technologies and continue to grow. My negatives are not really negatives, just more personal preference; there is nowhere here where I said that “this sucks” or anything along those lines, because it doesn’t. This is a well brought-together book which drives people to understand this new framework (already in 2.0 Beta – I knew I should have read faster). It isn’t the end-all, be-all; it is simply another option. And I think it’s a good one that’s only just getting started.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Review | Review | ASP.NET MVC | ASP.NET MVC

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen

TextBox

RecentPosts