Jun
04

Several people have asked me to clarify the following tweets I made last week.

http://twitter.com/#!/rschummer/status/76152986992254976

http://twitter.com/#!/rschummer/status/76280482454708224

http://twitter.com/#!/rschummer/status/76286820048044032

http://twitter.com/#!/rschummer/status/76289027896115200

http://twitter.com/#!/rschummer/status/76301141113188352

http://twitter.com/#!/rschummer/status/76326750010867713

I was mostly tweeting to a couple of co-workers who wisely passed on the workshop, but it raised some interest of some followers. At the time I did not want to reveal what workshop I was in hoping it would get better, but now that it is over and I found it disappointing I thought I should share my thoughts. I do this in case it will help other decide if the session is worthwhile to them or not in the event Microsoft decides to do more of them around the planet. Since 140 characters is not nearly enough… here is my story.

This week I attended a one-day workshop from Microsoft called WebCamp. Specifically a special WebMatrix and ASP.NET MVC WebCamp hosted by a couple of Central Region Microsoft Developer Evangelists. When I signed up for this workshop the agenda stated the following:

  • Web Stack Introduction
  • Building a Site in WebMatrix
  • jQuery Fundamentals
  • ASP.NET MVC Introduction
  • Migrating from WebMatrix to ASP.NET MVC
  • Instructor-Led Labs

Since Microsoft is marketing the free WebMatrix to my customers as a simple way to publish Web sites I thought I might get up to speed on the tool. I also anticipate some of our customers potentially hitting a wall with WebMatrix and asking us to migrate to a more robust solution. If there is an easy path to ASP.NET MVC, and that is something we can use to help them, all the better for me to attend this session.

I should state up front that I had very low expectations going into this workshop based on the past history I have had with Microsoft developer workshops. Mostly because I walk out feeling like I just listened to mostly marketing-speak and a lot less technical-speak. That said, even the worst workshop I have attended I have walked away with something of value that allows me to justify at least part of the time spent. I also have a history of being let down by Microsoft Developer Evangelists (with the exception of a couple of exceptional ones like Jennifer Marsman who is in our region).

I also want you to know the Southfield Michigan (suburb here in Detroit) workshop was not the first time this session was given. The room was completely full with approximately 80 people. I would say the venue was completely “sold out”. Also, the WebCamp was free to register.

A couple of days before the workshop we received an email noting we should download and install:

  • Microsoft Visual Studio 2010 (get the trial)
  • Download and Install WebPI 3
    • Install WebMatrix (via WebPI)
    • Install MVC3 (via WebPi)
  • Download and install the Web Camps Training Kit

The email arrived a couple days before the holiday weekend. I fortunately did not get this email, but one of my co-workers did and it took her hours to download and install everything. Hours that were taken away from doing billable work. These were necessary for the marketed hands-on workshop. (more on this in a minute)

In fact on the WebCamp Web site it states:

A little pre-work will go a long way. Your only homework is to make sure your machine is setup ready to go and you come with questions. Remember these are interactive.

Please, note at events like these, power and bandwidth are limited to some degree. If you download the tooling before the event that will help relieve stress on the network. At some of the events we will not have enough power for everyone.  We ask that everyone share appropriately, and if you have multiple batteries it might not be a bad idea to bring it.

I hit some bad traffic on the way to the workshop (a 45 minute drive turned into a 75 minute fiasco) so I arrived just before the official start time of 9:00 on the agenda I got in email so I should only have missed breakfast. The speakers were already started when I arrived with some introductions.

One of the first things announced was a change in the agenda. No hands-on labs today, this was spun as good news since it meant we would get out early. So basically the first smackdown of the day is that everyone who spent hours downloading and installing software might have wasted their time. The agenda is also significantly different from the one I originally signed up for, and in my mind, not in a completely good way. Added is an introduction to HTML 5 (not a bad thing), gone are the Building a Site in WebMatrix and Migrating from WebMatrix to ASP.NET MVC. These are the two primary reasons I signed up. My initial thought was to leave, but at this point I was willing to give them the benefit of the doubt that the refinement of the agenda is based on the previous presentation feedback and maybe it was even better.

I knew this day had a dark cloud over it when the first thing they asked us to do is to go to the WebCamps Web site (built in a few hours with WebMatrix) to register for the daily drawings and the site would not come up. It had nothing to do with the Microsoft Internet access either as I was using my Verizon MIFI card. The site was broken (and later fixed so we could register). Bad omen.

HTML 5 discussion opened up the old Silverlight vs. HTML 5 wound from 2010. The explanation to clarify Microsoft’s position only seemed to muddy the waters with comments like (and I paraphrase here):

  • This is my opinion, not the official Microsoft opinion
  • There are things the evangelists are not being told that are being decided in Redmond.

What? Redmond is making decisions about future product development and they are not involving or telling the people who are the closest customer contacts they have in the developer community? Either I misunderstood the message, or it was purposely confusing so I would not understand the message. Either way, the message was sloppy.

If I was new to the Microsoft grinder wheel of deprecated technologies I would have walked out of that part of the discussion wondering what I had stepped into. I was hoping to hear from the discussion that I could go to a specific Web page on Microsoft.com to read the official roadmap of Silverlight and HTML 5 and the Microsoft position. But anyone who knows Microsoft developer division knows you won’t get a straight answer on this. The speakers should have just stated this and moved on. Instead they wasted 20 minutes confusing the issue more.

The one clear thing stated and something that should be obvious to any developer is that there are no broad right answers. Each decision to implement technology is based on the circumstances of the project and what is available to help create the solution at the time it is developed. No one should be able to tell you that you should always use Silverlight, or always use HTML 5 without knowing all the requirements and resources (money, time, skills) available to the project team.

What is not clear to developers though is what Microsoft plans to support and what makes sense for developers to invest their training dollars and time learning. I walked out of this session with more confusion, not more clarification.

The first section of the day was JavaScript Fundamentals. All I can say is that the presenter was condescending, insulting, and obnoxious. Completely unprofessional. Examples crashed over and over. I have seen a number of sessions where the demo gods were not kind to the presenter, but this one was a fine example of what not to do when training new presenters. First of all this is not the first time this session was given. I was told it was the 11th stop of the WebCamp tour around the Microsoft Central Region. Second, these are Microsoft Evangelists doing the training. Their job is to learn the Microsoft technologies and then show developers this technology so we can adopt it. It is their job to show us how well it works so we have an “ah-ha” moment and start using it to build solutions for our customers. What we saw was a train wreck. Clark Sells either was not on his game Wednesday, was distracted by some external force, or is not competent in his job. This is not the first time I have said this about a Microsoft Developer Evangelist unfortunately. I have not seen Clark present before so I can only hope he was having a bad day.

As the day progressed he became less obnoxious, and fewer demos crashed, but when it comes to the signal-to-noise ratio, it was night and day between the time he was presenting and Brandon Satrom was presenting.

I provided a number of examples of Clark’s unprofessional techniques in the evaluation sheet I handed in so I won’t repeat all of them here, but my favorite was his offhanded comment about sites that support certain browsers with: “give you the middle finger and tell you to download Google Chrome.” While I know some people found his antics entertaining, I found they distracted from the material. I appreciate speakers who add humor to their session, but in this case the bad humor used was an attempt to mask the bumbling and fumbling through the presentation crashes, and it was in my opinion a disaster. Maybe not an epic disaster, but for me a complete waste of time listening to someone showing me why raw JavaScript is a pain to use, and why I should be using a supported framework like jQuery. For those that already understand the truth in this were bored and off surfing the net during the presentation. Those that did not understand this might not have learned it in the end.

I am the kind of developer who learns by doing. I can read until I am blue in the face, and I can watch others demonstrate things all day long, but those only reinforce in my mind what I am capable of doing some day. It is not until I actually sit down at the computer and do it that I actually learn it. So to me the loss of the hands-on workshop was a major disappointment. Granted, I did not have the software loaded, but my co-worker did and together we would have learned during this time.

I have seen a few jQuery introductions at conferences over the last year by Rod Paddock, Paul Mrozowski, and Steve Bodnar. Microsoft should just hire one of those three guys to give this portion of the WebCamp as they were 10x better than the session at the WebCamp.

The session on WebMatrix had so much potential. The product is quite interesting as you can start with template sites that leverage open source tools like WordPress, Umbraco, Joomla, Orchard, and Drupal. Unfortunately we never really saw all that much of how WebMatrix works, and how you would go about building a site other than the canned templates. I am sure there is a lot more to this product than what we saw.

During the MVC section the presenters built a podcast database site with some basic functionality. They showed how straight-forward it is build a site. What they did not do is migrate a site built by WebMatrix. They also stressed how close it was to Ruby on Rails. I believe Microsoft only built MVC to slow or stop the trend of developers moving from ASP.NET to Ruby on Rails. There is one point new to me I think is important to share. The presenter said that PHP was created at the time Microsoft moved from Classic ASP to ASP.NET and that the reason it was created was ASP.NET made it more difficult to develop Web applications initially. PHP is designed to be simpler like Classic ASP. Microsoft is recognizing the complexity of ASP.NET and is trying to make it easier to develop Web apps, and to get more Web developers to use their Web technologies. I found this a little enlightening.

I know I have been slanted on the negative side during this blog post, and I apologize for that since I try hard to look for the positive in everything and really believe in the “positive approach attracts positive results” philosophy. That said, I learned a few things during the six plus hours:

  • Modernizr looks like a cool tool for Web developers supporting HTML 5 on current and older browsers.
  • HTML 5 is not just about HTML markup.
  • WebMatrix has potential for developers learning the Web now.
  • Microsoft workshops will continue to disappoint me, but if I learn who is presenting in advance I can be more selective.

At least I walked away feeling it was a technical session and not a marketing session.

I also left with one big question: Why is WebMatrix and Lightswitch two separate products? Since they have a lot of similarities, why not one product with a build switch that selects the deployment for Web or desktop? I ask this question without a lot of experience in either tool. This is a casual observation from someone who has seen demonstrations and overviews of both products. I know WebMatrix is creating ASP.NET solutions and Lightswitch is creating a rich Silverlight experience. I know Microsoft likes to have different groups go off and develop products internally that will compete in the open marketplace, but to me I see more synergy than difference. Maybe they target a different level of end-user or developer? I think it would be cool if they shared the same metadata on the backend and would allow me to deploy one or the other generated solution depending on my needs. I don’t know. More to ponder before my next geek get together I guess.

Even though the WebCamp was “free”, as the owner of my business it cost me 12 hours or more of billable time to send two people. My coworker also spent five hours download, installing, and reviewing the lab materials – which were never used, and a couple hundred dollars in travel expenses out of my pocket. Not to mention the intangibles of the night away from her family and extra help she had to arrange to help her son while she was gone. The bottom line impact for this “free” workshop is financially significant for our small company and our employees. I feel it is important to budget for training for the staff, and the type of people we have thrive in a learning environment. What I really dislike is wasting this budget, which is exactly what we did this past week. Fortunately, next time I’ll be smarter.

I do want to retract one tweet, or at least alter it slightly. I originally stated:

I may be watching a train wreck in the making. Nope, definitely a train wreck. Possibly the worst presenter ever.

“Possibly the worst presenter ever” is flat out wrong. Back at a Microsoft DevCon I watched as a presenter spend an extraordinary amount of time navigating Open File Dialogs looking for files, and navigating menu pads looking for the correct menu item to demonstrate the topic at hand. Many of my blog readers remember the session well. The presenter never rehearsed, and might have made it up the night before for all I know. It was years ago and they remain in my mind as the worst presenter ever and worst conference session ever. And there are other sessions I have blogged about over the years where I have felt I wasted my time. Overall, Clark’s presentation was not worse, but could easily be ranked in the top 10 worse sessions I have had the time to sit through. {sigh}

And to balance it, Brandon was polished and his presentations went smoother. Now if I could only forget the HTML 5 vs Silverlight, and Web Forms vs. what ever is better or not discussion. {g}

So I hope this clarifies my tweet ramblings of frustration that my followers were reading. If you are not on Twitter and ran across this blog post I hope it provides you some insight on a developer’s experience with a workshop that went bad. If you are a Microsoft employee who is looking for feedback on your WebCamps, I believe I was as frank and honest in my paper evaluation as I was here, although this blog post gives you a lot more detail than the simple paper evaluation allows me to provide. I am sure there are others who saw this presentation way differently than I did. I know the people sitting around me were quite frustrated, but as I waited to talk with one of the speakers at a break near the end of the day I saw a lot of people hand in evaluations with high marks on the presenter scale. Different perspectives are important to the organizers of the event. I know that because I run conference and speak at several more each year.

Thanks for taking the time to read this blog post.

May
27

Speakers and sessions for Southwest Fox 2011 have been announced. The conference features four half-day pre-conference sessions and more than 26 main conference sessions in five tracks. Whether you’re still working only with Visual FoxPro or extending Visual FoxPro with other tools, you’ll have no trouble finding plenty of sessions to enhance your skills and widen your horizons.

As for our presenters, initially we have lots of Southwest Fox veterans like Menachem Bazian, Rick Borup, Steve Ellenoff, Tamar Granor, Uwe Habermann, Doug Hennig, Venelina Jordanova, Jody Meyer, Jim Nelson, myself, Eric Selje, and Christof Wollenhaupt. We also have three Southwest Fox freshman: Steve Bodnar, Kevin Ragsdale and Tuvia Vinitsky.  We are hopeful registrations will allow us to bring in additional speakers as well.

I am looking forward to sitting in on lots of sessions if time allows like last year. I am presenting a couple of new sessions:

1) How Craig Boyd Makes Me a Hero!

2) Programming Standards and Guidelines for Software Craftmanship

White Light Computing is a Platinum Sponsor again this year. We will have a booth to show off our developer tools and services again so please stop by.

You can follow us in Twitter: @SWFox. If you check out who @SWFox is following you will find our list of speakers who are on Twitter.

And there are still plenty of surprises up our sleeves (some we don’t even know ourselves yet) to entice you to come to the best Visual FoxPro conference in North America!

Please help us get the word out about the conference by yelling from the mountain tops. We certainly appreciate everyone who blogs, or records podcasts, or tweets, or Facebooks (is that the proper verb?) about their positive experiences at past Southwest Fox conferences. An email will be sent to everyone who has attended Southwest Fox in the past on June 1st. Send us an email if you are interested in getting on the list. (info [AT] swfox.net)

Registration opens June 1.

Only 152 days until we gather in Gilbert!

Apr
17

For the second year in a row I am speaking at DevLink. The organizers have selected my “Mocking the Customer” session, which I enjoyed presenting with positive feedback at two conferences last year:

In the past I have found that customers like to change their mind about what they want. This normally happens once they see the implementation of what they asked for during the first round of requirements discussion. Developers work hard to put together the user interface using the designers, but it is relatively expensive to the customer base if it gets thrown away. Sure there are times when we hit the nail on the head, but normally I find the real solution does not shine until the customer “spits on it.”

Balsamiq Mockups is a designer that lets developers and non-developers alike build wireframes/mockups. These are blueprints for how the application user interface can look or work. Developers and users can sit down and flow through the application before hours of development are completed. Balsamiq Mockups facilitates the creation of the wireframes with lots of controls developers are using from the toolboxes provided in the native application designers.

You will learn:
* What the benefits are when you wireframe with your users
* How you can leverage customers and designers/artists to create mockups
* How easy it is to create mockups
* That wireframing actually leads to more business, and doesn’t take away revenues from development
* The different ways Balsamiq Mockups makes you a more agile developer/team

I really enjoyed DevLink last year and I look forward to meeting up with old and new friends in Chattanooga (new home of the conference) August 17th to 19th, 2011.

Apr
17

Today I reviewed a new beta release of the VFP 9 SP2 Help file being prepared by Francis Faure on VFPX. I needed to compare it to the Help file for VFP 8 and when I tried to access the VFP 8 Help menu pad I got the following error:

OLE error code 0x8002801d: Library not registered.

To be clear, I got this error trying to get the Help menu to drop down inside of Visual FoxPro, not selecting the Help option on the menu, or by pressing the F1 key (which failed to bring up the Help file). Puzzled I ignored it and opened the CHM file directly in Windows Explorer. It opened fine and I was able to provide the feedback to Francis. I rarely use VFP 8 these days. Actually I mostly use it to compare behavior to VFP 9, which was exactly the case this afternoon, or to help other developers when I am mentoring or answer questions on the various forums.

I took a shot in the dark and tried using REGSVR32 to register the FoxPro Help EXE found in the Common Files folder. I found out immediately this was the incorrect approach as REGSVR32 barked at me that it failed. Fortunately the Visual FoxPro Wiki came to the rescue as it does so frequently for me. The correct way to register the FoxPro Help executable is to run the EXE with the /RegServer parameter.

FoxHHelp8.EXE /regserver

You can do this via the Windows Command Window, but if you are running Vista, Windows 7, or an earlier OS without Administrator rights, make sure to run the Command Window with administrator access.

[I documented this for my future self in case I need it for another machine - RAS]

Mar
26

One of the things I did at the Microsoft MVP Summit earlier in March was take part in an discussion about the FoxPro Community along with Alan Griver, Tamar Granor, Doug Hennig, and the co-hosts of the Community Megaphone podcast Andrew Duthie and Dane Morgridge.

This discussion boiled out of several discussions where Andrew and Dane kept running into former FoxPro people in the .NET community. They wanted to hear more about Fox Community and later found out that the root of the Microsoft MVP program was founded in the Fox Community as well. Our discussion covers a number of topics about developer communities and is what we find common and unique among them, as well as characteristics you find in people who are actively participating in a developer community. It was a fun hour.

The interview/discussion was recorded in the Microsoft Commons in a cafeteria. In the background was lots of MVPs eating and socializing so I am really impressed with the quality of the audio. I enjoyed participating. The only wish I have is that some of the other former Fox MVPs who have turned to the “dark-side” (Rod Paddock, Rick Strahl, Jim Duffy, Julie Lerman, Kevin McNeish, Markus Egger, Cathi Gero, and Craig Berntson to name a few) and other Fox people who are now .NET MVPs (Alan Stevens, Bonnie Berent, and David Giard) were not there. Although with that many people it would have been out-of-control. The list of people here is only part of the crowd though that have helped the .NET Community actually become more of community in the sense the Fox Community has known for more than two decades.

You can listen to the podcast here:

http://www.communitymegaphonepodcast.com/Show/26/FoxPro-Reunion

Thanks to Dane and Andrew for taking the time to talk with us.

Mar
26

This is just a quick reminder that session proposals for Southwest Fox 2011 are due by this Monday, March 28. For details, read the Call for Speakers document.

Now off to get mine polished up and sent in.

Mar
22

The Ceil Silver Ambassador Fund brings a developer to the Southwest Fox conference in the United States as an ambassador for the developers in his or her country. This gives the recipient the opportunity to meet and share experiences with developers attending Southwest Fox and gives other attendees the opportunity to learn about VFP development in the recipient’s country. Please see the Ambassador Fund page to get more information on the nomination process or to learn how to contribute to it.

The Ambassador selection committee consists of Southwest Fox organizers Rick Schummer, Tamar Granor, and Doug Hennig, former Ambassadors Emerson Santon Reed, Cesar Chalom, and Bernard Bout, and VFP community members Christof Wollenhaupt, Rick Bean, and Alex Feldstein.

We are looking for nominations from the VFP community for the 2011 recipient. To nominate someone you think is deserving to be selected, please email their name and a brief list of their contributions to the VFP community to ambassadorfund AT swfox.net. Names must be submitted no later than April 15, 2011.

Mar
14

I have long been a user of the fine SQL Server developer tools produced by Red Gate. My all-time favorite is SQL Compare. Red Gate also has sponsored the Southwest Fox Conference which I am an organizer. I have attended the last two Business of Software conferences co-hosted by Neil Davidson who is the CEO of Red Gate. And I participate in the Friends of Red Gate program, which allows me to provide feedback to the product groups at Red Gate. So you might say I have a nice relationship with the company.

Red Gate made a recent announcement in an open letter to the .NET Community, which detailed some future changes to the product with respect to the licensing and most importantly that it was no longer going to be free. I watched the reaction in the .NET Community via Twitter and on some blogs, and was not surprised how many developers were reacting. Developers are notorious frugal and love free stuff, and complained loudly how Red Gate was cheating them and going back on their word/intention of always having a free version.

Any developer with few exceptions, who makes a living developing software and finds use for a tool like .NET Reflector core to their development experience certainly can afford $35 for the standard edition. Here in the USA we are talking a few pizzas or a week’s worth of Starbucks coffee. I have talked with numerous .NET developers over the last few years including people who work with me and they find this tool indispensable. The top of the line version which allows you to step through third-party assembly code is only $95. To me, as a business owner who likes when our company delivers solid software, $95 is a steal to gain functionality like this.

I emailed one of my contacts at Red Gate giving my view point. I am in the slightly unique position of having a line of commercial and some free tools that I make available to the developer community. I have experienced the developers who complain that I charge for tools that have some premium features and how I should make the pro versions free to everyone. I explained to Red Gate that they can expect some heated posts and tweets. But in the big picture, people should understand that the survival of a product for the cost of a few pizzas is minor in the big scheme of things.

As a thank you for my feedback Red Gate has given me some .NET Reflector VSPro licenses to give-away. This came to me as a total surprise.

I gave away 10 licenses to members of the Detroit Area Fox User Group last Thursday. I have 10 licenses to give-away at the Michigan Great Lakes .NET Group on Wednesday, and I have 10 more licenses to give-away here via my blog. This is close to $3000 of software. As you can see, Red Gate is a super generous company.

Rules/Disclaimer

[Edit 15-Mar-2011] All licenses have been given away.

So if you are doing any .NET development, or expect to be doing some .NET development and would like a FREE copy of .NET Reflector VSPro please send me an email: DotNetReflector AT WhiteLightComputing.com with the subject: “.NET Reflector Please”. The first 10 people who I get an email from will get instructions on how they can get their license returned to them via email. If you don’t get a response from me in 24 hours, consider yourself too late. I am fairly certain these licenses will not be around for long.

One license per individual. All tax considerations are the responsibility of the winner (consult your tax accountant for specific details). No employees of White Light Computing, or any family members of the employees of White Light Computing are eligible. Your mileage may vary, some settling may occur during shipping. Not valid outside of planet Earth. All decisions made by me are final.

Thanks

Thanks Red Gate for the great tools and the terrific support of the developer community, you guys rock.