Tuesday, November 24, 2009

Business of Software 2009: Wrap-up

Just a few additional points that did not fit into the lessons learned or relearned...
  1. Most delegates I talked to were attending the conference for the first time too. I think it would be interesting to know what percentage returned from previous years. Most I asked owned more than one company.
  2. Meals and breaks were excellent networking opportunities. Each meal I learned something. For instance, at breakfast one morning we talked with someone with a 5 person company and they completely outsource their Human Resource department and functions. I originally thought you could only do this for larger companies. One of the big benefits is getting into larger group medical plans and being able to offer medical plans in multiple states to a distributed work force.
  3. I really liked the spiral binder used to take notes at the conference. I brought my own paper, but this binder has all my notes from the sessions bound together. Also very important to me too based on no white papers from the speakers.
  4. I like the travel slanket they gave as swag, but a warning delegates to bring a bigger suitcase might have helped some people get it home easier. {g}
  5. Presenters were as well prepared as any I have seen in the many years I have attended different industry events.
  6. Most presenter slides used images instead of bullet points. I understand the approach, but I am not sure of the value to the attendees after the conference. I guess a good white paper makes this irrelevant.
  7. Speaking of white papers, none delivered, no CD with the materials, and no download section :(. I am disappointed with this as I walk away with less value from the conference. Between images on slides and no white papers all I have are my notes and Twitter search (which eventually disappears). Fortunately I took awesome notes and have a friend who also took awesome notes to compare to.
  8. The evaluation forms only allow you to check a rating of 1 to 5, with little room to write feedback. This means I have provided very little feedback to the organizers and the speakers. The lost opportunity for improvement next year is substantial. They also handed out the evals on the last day which is way too late for me to remember exactly how I felt at the time of the session. Evals need to be in the registration packet so I can fill in as I go.
  9. I was surprised at the number of F-bombs delivered by the speakers. Yes we are all adults, but we also are all professionals. I do not see the value or importance of an F-bomb to make a point during a session that cannot be delivered some other way. Just not necessary.
  10. I got a chance to talk with Jeff Atwood (of CodingHorror fame and not on the speaker list) and thanked him for StackOverflow.com and the insight he provides in his blog and podcasts. Jeff was more than willing to talk about all the above. One of the other delegates we hung around with at the conference was asking me how I could just walk up and talk with Jeff. I told him speakers and industry superstars like Jeff are just regular people like we are. Shock and awe, powerful things that get in the way of opportunities for some people.
  11. Great conference, lots of inspiration, but more importantly I have a serious list of concrete items for me to look at and improve my companies.
Definitely hoping to make it to BoS 2010 in Boston October 4-6th. It is the right smack dab in the middle of the time I am cranking on Southwest Fox tasks I own responsibility to accomplish. I guess if I plan for it I should be able to pull it off. They have announced a few speakers already and the line up looks promising.

Labels: ,

Business of Software 2009: Session Lessons Day 3

The last day is like any other last day of a conference, you wake exhausted hoping to cram in just a few more nuggets of knowledge.

Talk sh*t, delegate, and know what you want - Michael Lopp
One thing that never impresses me is someone who talks sh*t, or bull sh*t. To me it means they don't really have something important or insightful, or don't know what they are doing. That is not what this session was about. Software development is a series of big and little decisions. The session is about his perspective on the real life software development cycle, and how you can use improvisation to reduce the amount of decisions needed because each decisions can be a bad one that will lead a project toward failure. In my opinion delegation is one of the hardest things to do in a small company. As you bring on more people you have to rely on their abilities to succeed. This is where the trust component is critical, because if you don't provide the tools for them to succeed and they are not natural successful people, you are likely to let down your customers. Michael took a slightly humorous and slightly vulgar approach to making the points of improvising, delegate work you don't want to do, and know what you want. Putting it all together gives you the best measure/structure and spec. All of this together will lead to successfully delivering the proper software to your customers.
(three stars)

Innovation Games: Creating Breakthrough Products Through Collaborative Play - Luke Hohmann
Instead of taking one of the "standard methodologies" used today to develop software, Luke has a different "fun" approach to collecting requirements, and developing software. To be perfectly honest, he lost me about 10 minutes into the session. I am sure it works for him and his company, just not my cup of tea.
(two stars)

Jam and Coffee: Resolving the conflict between power and simplicity - Joel Splosky
For those who read this and remember one of Whil Hentzen's many "User Hostile Interface" sessions at GLGDW past (for BoS2009 delegates who come across this blog for the first time, GLGDW is a FoxPro conference held in Milwaukee in the late 1990's and early 2000's ), this session was very similar to those. The difference is Joel was telling a story of why certain interfaces were bad and why software developers should be striving for simplicity in the software they create. Entertaining and thought provoking all in one session.
(four stars)

Done
That was the end of the conference. I had to rush out to the SFO to catch a flight to Frankfurt because I was speaking the next day at the German FoxPro DevCon. I really enjoyed the sessions and I got a lot more out of this conference than I am able to share through the words of this blog. All the more reason you should consider going to the one next year.

Labels: ,

Business of Software 2009: Session Lessons Day 2

How to give your company soul - Ryan Carson
For my money, this was the best session of the conference and was the session that paid for the conference by itself. Basically Ryan stepped through 8 things you have to do to make your company remarkable. While I disagree that all eight are important, I can say doing most of them will lead to a great company. I won't share all the ideas, but there are two really important ones I believe every company needs to work on. The first is to give back to the community. What community? In Ryan's case he is talking about the region where he lives and works. While this is an excellent idea and one I believe in myself, I also think it is important to give to another community. This is why White Light Computing sacrifices all it does for the Southwest Fox Conference, and why each employee has the directive to surf forums to answer questions, step up to do presentations at user groups and conferences, and contribute through blogging and tool development. Sharing is caring. Ryan notes it costs very little financially, but can absorb a tremendous amount of time. I consider it an investment. The other is to love your customers. I know a number of companies that follow the "love them and leave them" model, which fails miserably. Ryan focuses on physically meeting with customers, never allowing backtalk, and never talk disrespectfully. This is hard because we are all humans and have a tendency to want to point out failings or missteps. This was a talk filled with insight and over the top approaches to building a remarkable business. This is definitely something I am shooting for!
(six stars - yea, cheating on the five star scale)

Telling Stories - Paul Kenny
This session was all about story telling to sell your product. I will admit I was thinking this was going to be a session I caught up on email, but in reality I got a ton of inspiration from this session. Probably because he told a story to sell me on the idea {g}. The key quote from this session: "Data explains, stories inspire." Honestly, I want customers to be inspired to buy our services. I want delegates to be inspired to come to one of my conference sessions. Heck, in grade school we got the training we needed for this in the "show and tell" part of class. Why not use this training in our business?
(five stars)

Marketing Flops to Blockbusters - Chris Caposella
I was really looking forward to this session since I recall the time Chris was on stage at the Microsoft FoxPro DevCon in Orlando with Tod Neilson and the "Challenge Me / Could that have been written in FoxPro? No, but it could have" skit they put on. Probably one of the most memorable keynote sessions given at any FoxPro conference. Chris highlighted his career at Microsoft and talked about the big demo crash with Bill Gates demoing a new version of Windows and getting the dreaded Blue Screen of Death. Interesting, that turned out to be a blockbuster because it generated a lot of buzz in the press. Sort of proving once again, there is no such thing as bad press. Chris outlined three different Microsoft products that went from flops to success and one that just flopped (Office Accounting Professional). He discussed the honest reasons why they flopped and why they succeeded, which was refreshing to see. The key questions you have to ask yourself: Are you in this for the long term? Is the product game changing or category defining? This was a good session. Later on Twitter I asked Chris if the "Challenge Me" keynote was completely rehearsed or partially spontaneous. All rehearsed, as expected.
(four stars)

How many kittens is an iPod worth? - Neil Davidson
The Cranky Project Manager got the Swine Flu the week before the conference so Neil Davidson (as organizer) had to fill the slot. Neil has written a book on pricing software so it was not surprising he was going to step in and do a session on pricing. I can read the book to get what I got out of the session. Neil was not a dynamic speaker and the topic was a little dry. Fortunately it was also short.
(two stars)

Cognative Seduction - Kathy Sierra
Kathy was the most/best prepared speaker of the bunch. She rarely looked at her slides and kept transitioning from one slide to another as if the slides were telling the story while she was telling the story. I am not sure how many slides she had in the deck, but I am guessing more than 150 for the hour. The idea here is marketing to your customers by giving them the deep seeded desire to buy your product or services. I loved here statement: get lucky is not a business model. Although I truly believe luck is an important part of succeeding in business. Her points on giving your users superpowers through your software is another one of those - duh moments. Software should be easy to use and more importantly empower the users to be successful.
(five stars)

Beyond Crack Cocaine: 9 Weird Ideas on Happiness - Jennifer Acker
When I first read what this session might be about I thought it was going to be one of those motivational sessions. You know, do this and you will be happy. It was not. Before the conference delegates were invited to take a survey on what makes them happy. She used the results along with her past experience with similar surveys to convey her message of what makes us happy. Jennifer started out with the statistic that it takes 24 minutes to get into a zone where you lose track of time focusing on the task at hand. The average developer is interrupted every three minutes. Developers and management are happy when people are productive, so we have to remove the interruptions from our work day. I learned this years ago when I moved Outlook to checking email every 3 minutes to 30 minutes. 10x less interruptions in my day. At first Twitter was interrupting me every minute with updates, now it rarely interrupts me. Better time in the zone. Contributing to the social good makes people feel good. Find your productive time and focus on your work during that part of the day (another thing I learned years ago). Time shift until you find your sweet spot. My favorite point she made though is to reward yourself for completing tasks. As I tweeted, this affirms my sushi and ding-dongs reward system! Great session and a perfect way to end the day.
(five stars)

Evening
Speaking of sushi, I convinced Dale and Jeff to go out for Japanese food after we went to the bar where one company invited the entire conference out for drinks after the sessions. Sushi was good. Sleep afterwards was also a good reward.

Labels: ,

Business of Software 2009: Session Lessons Day 1

Normally when I blog about conferences I try to cover something about each session I attended on a certain day. The conference is single-threaded meaning you did not choose a session. You go to all of them with all the other delegates. There were some awesome sessions and some sessions that were the suxor, just like most conferences. For me though, I find if I get one thing out of any one session I am ahead of the game and it is time invested well.

At the beginning of the conference I decided to close the lid on my laptop and just listen. I have been to so many conferences over the years where people have laptops open and are multi-tasking. They are listening to the discussion while they surf the Web or play solitaire or mind-sweeper, or not (just playing games). I have been guilty of multi-tasking myself, but inevitably I am not giving 100% of my attention to the person who prepared to share with me something important. At BoS2009 I wanted to see if I could dedicate my full attention to the topic at hand. In between the first two sessions I caught up on Twitter and realized there was this whole back channel of information flowing about the session. So I followed and even contributed on Twitter the rest of the way. And during the sessions I did not like I handled things like email and surfed the Web.

Here are some lessons I want to share from each of the sessions and my ratings out of maximum of five stars:

Succeeding in Turbulent Times: Geoffery A. Moore
You probably have heard of the English translation of an old Chinese Proverb/Curse: "May you live in interesting times". That is sort of what is going on these days with "unprecedented", "never seen in our life-times", economic turbulence. No matter your thinking on how it all started and what group of individuals started the rapid decline of the economy, everyone on the planet has to adjust their personal life to accommodate the changes. As for computers and computer services, the global competition is driving the market towards commoditization. So businesses have to focus on productivity and innovation. His session drove home the difference between core and content. Core is doing what your competitors refuse or cannot do.
(four stars)

Trends to Bet On - Paul Graham
This session was "to be announced" up to the last minute. This is one of my personal pet peeves about the conference from an organizer perspective. How the heck can someone not know what a topic is two weeks before the conference? From a speaker perspective, how the heck can one develop and perfect a conference session with only two weeks preparation, and do their regular job. Answer in this case is simple: you don't really prepare. You just slap together 21 "trends to bet on", put them out there with no real evidence on why they are worth betting on. This session stunk with the smell of spending the time on the flight to San Francisco putting together the list. That said, I still took away a reminder of something important. Super good customer service - because it is easy for customers to switch in today's marketplace. Also care about what you create. Apple cares about the iPhone like Google cares about search, and that is why they both rock at what they do.
(two stars)

10 things I wish I'd known about VC when I was an entrepreneur - Heidi Roizen
Right now if someone asked me if I would ever be involved with a Venture Capitalist I would have to say, no way. I don't currently have a vision to build a start-up with the sole purpose of selling it when it hits monetization stride. Yet Heidi sucked me in with the various stories to back up the 10 things that she wished she knew. Great insight into the mind of a VC and how they think compared to how someone like me thinks about the business. One thing she pointed out is how important trust is between you and whoever you are doing business with. Customers, stockholders, partners, employees, investors, etc. This is not a revelation for me, it is an affirmation of something that is critically important to me. One other thing that is important to a business owner is to get an outside perspective of your company. I have done this every year with Geek Gatherings through the Southwest Fox Conference evals, but it is something I have not done regularly with White Light Computing and our customers. Definitely added to the to-do list.
(five stars)

Ideas for Building Better Software Business - Dharmesh Shah
This was another "to be announced" session I did not have much hope for when planning the trip to SF. At breakfast I heard someone talking about how much they looked forward to hearing what Dharmesh had to say. Then he starts out his session proclaiming his hope to do a better job this year. This gave me a complete disconnect feeling. The fact is, this was the second best session of the conference for me. Dharmesh explained how one of the goals for each business is to improve the odds of success and survival. I know, duh. But the fact remains most businesses get entrenched in the day-to-day operations and forget to plan the things needed for success long term. He discussed how important search engine optimization (SEO) is to a business. Finally, he mentioned how blogging is one of the keys to building a business. This is something I have spoken about at several conferences, the latest during an open spaces session at CodeStock 2009 centered on developers marketing themselves. I do not have solid numbers to back this up as the sole reason, but since I have started blogging my business has grown considerably. This is the first time I have heard someone else discuss the importance of blogging with respect to building/growing your business. I also like his proclamations: "be a superhero" and "have fun!" (both are beliefs I feel strongly about)
(five stars)

Breakouts
I skipped the breakout sessions and from talking with others, it was a good decision on my part. While I am sure they worked for others, they did not fit my needs. It was modeled a bit on open spaces with respect to you picking the topic and having an open discussion. The part it broke down on is the organizers limited it to smaller groups. So depending on the topic and the group you might have won, or lost. I took the time to catch up on some work.

Social Media: the good, the bad and the ugly - Matt Clayton
According to Matt we have 5 seconds to engage someone online. Wow, have we become a society of attention deficit disorder people? His session really centered making your Web site all about the social aspects, and getting your product to go viral. Interesting perspective. What I took out of this is to build community around your services or product. This I am quite aware of because of the long term success of the Visual FoxPro Community and how Microsoft and other companies have tried to duplicate it. What Microsoft never got with respect to this is that the community has to develop on its own. It is not something that can be forced. What we as business people can do however is provide the mechanisms to help the community thrive. From my perspective, this is what Twitter is doing, this is what StackOverflow.com is doing, and this is what FaceBook is doing. Providing the tools for communities to start and grow. Matt discussed the winning tactics and the dark side of the business. I got a lot of ideas out of this session with respect to changes I want to make to the White Light Computing Web site, which desperately needs a complete overhaul.
(five stars)

Pecha Kucha
"Keeping it brief - a presentation of 20 slides with 20 seconds each. That's 6 minutes 40 seconds, done"
What this boils down to is rapid fire topics with the goal of taking you from nothing to something, gaining your attention, and teaching you something useful in a short amount of time. Cut out the bloat and aim to deliver just the important content. I found some very entertaining. I found some interesting. A couple of them failed. All of them seemed well rehearsed and many of the speakers seemed nervous. Each of the presenters got a free pass to the conference, which in itself is a win. The audience votes on the best presentation and the winner gets a Kindle. The negative side of this is I cannot recall which presenter did what. All I know is the winner had a good blend of humor and content and did do the best of the bunch.

10 Rules for Successful Products - Don Norman
Don methodically discussed 10 rules needed to have a successful product. The key with this session is he also backed each rule with a story or example so you could validate if the rule applies to your business. For me the rule: "It is all about the experience" really hit home.
(four stars)

Conference Party
Monday was a long day. After the sessions ended we attended the conference party at the ThirstyBear Brewing Company. I was able to talk with Joel Splosky about StackOverflow, the BoS conference, and how he roomed with Chris Capossela when Chris was on the Fox Team. Later I barely lost to Dale Zimmer at Foosball, kicked his butt at car racing (video style instead of go-carting), got my butt kicked at darts by Dale, later beat Dave Bernard who beat Dale at darts (making me the overall champ {gd&r}). It was a fun way to end the first day.

Labels: ,

Business of Software 2009: General info

The Business of Software 2009 - A Joel On Software Conference was held in San Francisco from November 9th to 11th. I attended it for the first time even though this is the third iteration of the conference. I have been trying to get to it for the last couple of years. It is not a technical conference, which is normally the type of conference I attend for the last couple of decades. Nope, this conference was for the other half of my job, running a software development company. As much as I love designing, programming and developing solutions for my customers, I have a second role as the president of a growing company. I also love doing things like sales, marketing, hiring good people, sub-contracting, accounting, invoicing, and numerous other tasks I bundle under the term: "administrivia." This conference was more about the administrivia side of my job than the technical.

The conference was not inexpensive like a code camp, SQL Saturday, or even a regional conference like Southwest Fox. In fact the registration cost me US$1695 (early-bird saved me $300), flight was US$400, and the hotel was US$275 a night. All said and done, I spent close to US$3000 to attend. So why would I spend this much money on a conference? The marketing was simple in an email from the conference organizer Neil Davidson (founder and president of Red Gate - makers of SQL Server and .NET developer tools):
  1. It'll pay back for itself many times over. You'll come out with ideas and practical advice that will change the way you run your business.
  2. You'll meet hundreds of like-minded people. Running a business, or a team, can be lonely as well as hard. At BoS2009 you'll meet loads of people in the same boat as you. You'll be inspired, but also challenged and reassured.
  3. It will give you perspective. Two days in San Francisco, out of the office, will give you a much-needed perspective on the things that really count. It's amazing what you can get out of a bit of breathing space away from the daily routine.
  4. You'll get to hear from top people in the Business of Software. The speakers have been chosen because they have something to say, not because they have something to pitch. They are Joel Spolsky, Geoffrey Moore, Don Norman, Paul Graham, Heidi Roizen, Jennifer Aaker, Michael Lopp, Ryan Carson, Paul Kenny, Dharmesh Shah, Kathy Sierra and The Cranky Product Manager.
Neil had me with the first two, and the final two were just icing on the cake. Actually I was sold before his email as I had watched a couple of videos from prior years and talked with a couple of FoxPro friends about their experiences at prior Business of Software conferences. The only thing that stopped me from attending before was the scheduling and conflicts I could not resolve.

Since I was not speaking at this conference I had very little prep work, which was nice. The only four things I did:
  1. Reviewed the topics in advance to see which ones I thought I would get the most out of.
  2. Noted several questions I had that I was hoping to address with other delegates at the conference.
  3. Polish up the 30 second elevator speech about White Light Computing so when I was asked what I do I would have a good answer.
  4. Packed some additional business cards.
I attended with my friend Dale Zimmer (president of Detroit Area Fox User Group). We flew out to SF on Sunday, which is the day before the conference officially starts. The flight out Dale and I talked about a number of things we were hoping to get out of the conference. Honestly, based on our conversations during the 5 hours to SF and the things I learned, the conference was already in full gear before it was wheels down at SFO. Once in SF I was checking the Twitter stream to see how the welcoming reception was getting into full craziness. By the way, if you are interested in reading other people tweets about the conference, search for #BoS2009 and you will get time line with lots to read. During the conference several delegates were basically taking notes via their Twitter client. I was learning a lot reading their perspectives while listening to the speakers share their topic.

We dropped off our luggage and headed to the reception once we got to the Westin Market Street (conference hotel in downtown SF). We talked with some of the other delegates, and eventually hung out with Dave Bernard (another Visual FoxPro developer and business owner from Atlanta). I did get a chance to talk with Neil Davidson and thanked him for all his efforts in putting on the conference. As an organizer I know how much I appreciate when people let me know they appreciate the conference and the work that goes into it. Exchanged a few business cards and then headed back to the room to get some rest before the real kickoff on Monday.

Labels: ,

Sunday, November 22, 2009

Southwest Fox 2009: Wrap-up

Doug Hennig mentioned at the closing session that this was the most fun he has had at any conference. I have to agree. I think there was a lot of anticipation for this year's conference because of the buzz on Twitter and the behind the scenes planning by non-organizers for more of the social aspects surrounding the Feltman Party Suite and Grotto (hot tub area). I think the Fox Community is growing stronger because of events like this and the way people get to interact via Twitter and the forums.

I saw more sessions than any year as an organizer thanks to Therese and Marshal handling the registration desk area throughout the conference. I really enjoyed going to sessions and feel blessed to have learned as much as I did before the conference during rehearsals and at the conference. We have the best bunch of speakers on the planet. We host the conference, but when the rubber meets the road, the speakers make the conference and give people the biggest reasons to come to Mesa.

Speaking of the hard work our speakers did to prepare sessions, I am looking forward to reading each and every white paper written by our talented presenters. We have over 1000 pages of pure goodness to read. If you were at the conference, make sure to check for a few updates by our speakers. We have updated materials from Menachem Bazian, Mike Feltman, Toni Feltman (pre-con), Tamar Granor, Paul Mrozowski, Alan Stevens, and Christof Wollenhaupt.

I really enjoyed meeting Emerson Santon Reed, and seeing him at Southwest Fox. Emerson was the first of hopefully many ambassadors we get to bring to Southwest Fox. The Ceil Silver Ambassador Fund is a magnificent idea and the response from the community was overwhelming. I think this worked out well and seeing how excited Emerson was before and at the conference made my day. I also want to thank all those who talked to Emerson, shared in his experience at the conference in any way, and showed him how the Fox Community here works the same as it does in Brazil. One big community helping people learn about Visual FoxPro and software development through the broad sharing of knowledge. What a great experience for me to participate in.

There was one thing I noticed at the conference that was a little strange. It was the first year both Andy Kramek and Marcia Akins were not at the Southwest Fox. I know both have decided to retire from the speaking circuit, but it still was weird not seeing them this year in Mesa.

If you want to catch up on what other people are posting/blogging see the Southwest Fox blog: http://swfox.net/blog/2009/10/southwest-fox-2009-on-web.html

A huge thanks:
  1. To everyone who came to Mesa and attended the sessions, participated and contributed their knowledge in every way, and supported Southwest Fox so we can continue putting them on in the future!
  2. To all the speakers, you guys are the very best!
  3. To everyone who contributed to the Ceil Silver Ambassador Fund. It was terrific meeting Emerson and getting his perspective on Southwest Fox, and making this entire concept work. I cannot wait until we do it again next year. What a terrific tradition.
  4. To Arizona Golf Resort and Conference Center and their true partnering to make this conference as successful as ever!
  5. To Mike and Toni Feltman for opening up their room and enhancing the social side of the conference for everyone!
  6. To Doug and Tamar, my partners in crime, for helping me retain some sanity through this process again!
  7. To Frank Perez, for holding down the fort and keeping the customers happy at White Light Computing while I go missing in action for periods around the conference!
  8. To my wife Therese, also known as the Best.Wife.Ever (BWE), for her support during the planning, the support at the conference, and helping me unwind after the conference. None of my contributions are possible without her.
I am already looking forward to 2010. I hope you will meet us in Mesa from October 14-17, 2010 at the Arizona Golf Resort and Conference Center. I am sure there will be many more memories made next year.

Labels: , ,

Southwest Fox 2009: Day 3

The last day of the conference starts with my traditional first slot session. This year my topic "VFP and MySQL: Case Study for Remote Data." I really like the first session of the last day because the real conference diehards show up for the presentation. I am most appreciative of this group and this year they did not disappoint. Great session from my perspective.

The last session I attended was Jim Nelson's "PEMEditor: Swiss Army Knife for the Forms Designer -- the What and How." I needed to see part of this session in preparation of my VFPX session in Germany. Since Jim was covering his PEM Editor in a full session here at Southwest Fox I only covered a little bit of it in my VFPX session. In Germany I do not have this luxury. I anticipated Jim would cover some of the 5.0 features he just released and I did not have much experience with. Good session on one of the most powerful tools on VFPX.

I skipped the last session to prepare for the closing session, take care of some business with the conference facility, and say goodbye to some friends who had to catch an early flight.

After the closing session we clean up, and then head over for a meeting with the conference staff. Year after year they amaze me with the positive approach they take with the people who come to their resort, and how well they deal with any issues that come up during the conference. Unfortunately the discussion always seems to gravitate to the small problems or snags we hit, but in reality the conference was very smooth and the issues small. Next year I want to tell them how great it was and tell them I will send the small issues to work on for the next year in an email after the conference. They want to constantly improve just as much as we want to improve the conference experience.

After the meeting I headed back to the room and started helping Therese as she prepared for the speaker dinner. She had been working most of the day on getting food, and working preparing the meal. She excels at this and wanted everything to be perfect. I also got a bit of time to read a few of the evals. The speaker dinner came together nicely and the dinner was much more relaxed for the rest of us than the traditional speaker dinner. We had a BBQ with steaks and chicken, lots of roasted vegetables, sweet potato fries, and a peach crisp for dessert. Very tasty.

The speaker dinner sort of blended into the normal Feltman hosted party as other conference people still hanging around the conference center joined in. The grotto was packed and the party went late into the night. I called it a night sometime around 2 or 2:30. It was a great way to wrap up the most fun conference ever.

Labels: , ,

Southwest Fox 2009: Day 2

Saturday starts out with session surfing between Jody Meyer's "Developing and Extending the Visual FoxPro Grid Object" (one of the most popular sessions of the conference) and Doug Hennig's "Practical Uses for GDIPlusX." Normally I skip all of Doug's sessions because I can see them in Germany in a couple of weeks, but this year I am getting to Frankfurt a day late and will miss most of the sessions on the first day. This means I cannot rely on the scheduling gods working in my favor since I have to cram my sessions into the last couple of days. Both of these sessions had terrific content. Fortunately they both have good white papers for me to catch the stuff I did not see presented. I saw Jody's session a couple of times during the rehearsals in Michigan. I wanted to see how she performed in Mesa. I was not disappointed.

Next up was Rick Borup's "The Show Must Go On: Disaster Recovery and Business Continuity Planning." This is a really important topic in the computer services industry and often overlooked. You also don't know it is overlooked until something bad happens, and then you are miserable. I have worked on a couple of disaster recovery plans in my career, but I have not worked on one in a while. I wanted to get a refresher course so to speak with this session. Always enjoy Rick's sessions because I feel like I am back in college and Rick is the professor sitting at the front of the room. I liked how the other audience members participated and shared some of their disaster recovery experiences. Really enhanced the whole session.

Up next I presented the second occurrence of my "Enhancing the Visual FoxPro IDE with VFPX Tools."

After my session I jumped over to the Moxie Report Objects vendor session. A couple of years ago I almost had a project with the need for Bo's tools, but it did not materialize. I wanted to get a feel for what was new and where this important product was headed. Mission accomplished.

Unfortunately the last couple of session slots were taken over by a customer problem I needed to solve. I was planning on seeing Alaska Software's: "Fox and the Polar Bear", and Craig Boyd's "FLLs and the Visual FoxPro API." I did get a chance to record the "Nerf Attack" as Craig assulted Doug Hennig during his VirtualPC session. You can watch all the action, including the attack planning here: Strategy Session and Attack of Doug Hennig SWFox2009. As you can see, we like to have fun at Southwest Fox 2009.

Normally the speaker dinner is Saturday night, but based on speaker feedback in 2008, they wanted more free time during the conference evenings and a less formal dinner. So we moved the dinner to Sunday night after the conference. That freed up Saturday night dinner. Several of us had a hankering for sushi so we headed out for dinner. We ended up at a different sushi place than another car, but Christof Wollenhaupt, Doug Hennig, Emerson Reed, Therese and I found a terrific place recommended by Bill Anderson. Dinner was awesome.

After dinner a group of us headed over to the F1 racing track for some go-carting. Jody Meyer, Toni Feltman, Cathy Pountney came in dressed as the "Pink Ladies" and Frank Perez and the greaser guy. Smooth move as they had Doug and I thinking there was some conspiracy against us on the race track. The racing was fun for sure and the competition for bragging rights for another year was fierce. As usual I had the best average lap time in the second race which is my goal.

After the race we went back to the conference center. I spent a little time in the bar talking with people and a little more time at the Feltman Party Suite and hot tub. Since I had an 8:30 session Sunday I had to make sure I made it to bed at a "reasonable" time.

Labels: , ,

Southwest Fox 2009: Day 1

I was up early on Friday to run through my "Enhancing the VFP IDE with VFPX Tools" session. I always like to go through the session slides once and make sure the examples all run. I found one of my demos was broken and baffled at how it happened. Fortunately I was able to devise a strategy if it failed in the session.

Each day at the conference I make sure the conference session rooms are set up correctly and work with the conference center staff to reset some power and test out all the projectors. I also swap out the room schedules boards. Once I know everything is humming along I head over to breakfast. Nothing better than starting out the day with eggs. I appreciated it even more knowing we did not expect to have breakfast this year based on budgeting issues. I also like to sit down and eat with folks who are supported the conference and see how things are going and what sessions they are hoping to see during the day.

I surfed the first slot and caught part of Jim Nelson's "FoxCharts - Great Looking, Modern Charts in Pure VFP Code", and Rick Borup's "Quibbles, Quirks, and Quickies." I saw Jim's session rehearsed at DAFUG in August and was curious to see how he was going to do in front of the Southwest Fox crowd. Really, there was no change. Completely smooth delivery. Rick Borup is a seasoned professional and delivered a quick set of interesting VFP behaviors to consider and watch out for in development. I enjoyed both sessions, but with my VFPX session up next I was more compelled to understand why one of my demo was flaking out.

I really enjoyed giving my session on the VFPX tools. I also was happy with the turn out as I was up against three awesome sessions by Toni Feltman ("Data Driving Applications"), Jody Meyer ("Speak to Me: Applying MS Office Automation to Real Business Needs"), and Craig Boyd ("Virtual Earth for Visual FoxPro"). There is nothing more enjoyable than watching people have an "aha moment" when I show them something they will be using as soon as they can download and install it. The entire session is filled with possibilities. The only thing I don't like about it is the fact that 40 other developers are constantly updating the things I could be showing during the session. 40 to 1 means I typically deliver an obsolete session in some capacity. At Southwest Fox I knew the PEM Editor section was already behind as Jim and Matt released a new version just before the conference.

Next up was Doug Hennig's "Microsoft Virtual PC for VFP Developers" session. I had already seen the other three sessions in the rehearsals done before the conference. Doug never disappoints. I have been using VirtualPC and VMWare for years, yet I still learned something new with respect to how VirtualPC works. Doug showed us "Differencing Disk", which is like subclassing a base virtual machine into a second virtual machine and only the differences added to the second are stored on the second disk. VMWare has this functionality, but I did not know VirtualPC had it. Great session.

The lunch was make your own deli sandwiches. More importantly I got the chance to sit down and relax a bit, and have some really good discussions about Visual FoxPro and things happening in the Fox Community.

The afternoon started out with Christof Wollenhaupt's Excelporting session. Christof always comes up with excellent session topics and outputing to Excel is something many VFP developers deal with on a regular basis. Christof's session was superb, and his ideas always stretch my thinking on new approaches. His dry sense of humor also was shining again this year.

Next up was my favorite session to give at the conference: "VFP and MySQL: Case Study for Remote Data." It is my favorite because it is different from the productivity sessions I typically give. I also completely applied something I am working on and bring my experience directly through to the session. I started working on this session in October 2008, just after returning from Southwest Fox. So it took almost a year to bring to fruition. Remote data (non-DBF data stores) is something I believe is important for my customers and other developers. The idea I can connect a VFP desktop app and a Web site to the same database is powerful. I got a chance to start using MySQL which is something I have wanted to do for quite a while. The fact that there were excellent questions also showed people were interested in the material and interactive sessions really get my presentation energy going. I really enjoyed giving this session and received a number of kind remarks from the people who came to see it.

Another thing we tried this year is moving some of the bonus sessions into a regular session slot. In the past we received feedback that bonus sessions are too late and people are already tired by the end of the day. We offered the first half of the "Show Us Your App" (SUYA) and the VFPX Users Meeting. I wanted to attend the SUYA because it was a huge hit last year, but my duties as a VFPX Administrator gravitated me toward the VFPX session. You can watch the VFPX meeting as we broadcasted it live on SWFox TV (check out part 1 and 2). There are a lot of good ideas that were presented including creating an applet to consume XML to notify people of new releases, adding stories, a roadmap, and a launch point to VFPX.com, and pushing more project managers to get to a released status. One of the key take-aways from this session is to promote the fact the tools and components are FREE! All developers love free stuff, so why not take advantage of this.

The dinner party followed the first set of bonus sessions. I think the best part of the dinner party is that people get to wind down and do more networking.

After dinner I wanted to get to the second half of the SUYA. I got to see Mike Feltman show off his form to reporting builder, which is kind of cool. You can read more about it on the F1 Tech blog.

My wife came into the SUYA session to let me know the people in the "Future of the VFP Developer" bonus session were waiting for me to lead the discussion. The session is an open spaces session, which means developers discuss the topic and share ideas among themselves. The session is not really lead by one person. I thought someone else was covering the moderating part, but no problem, it sounded like it was going to be a good session to attend as well. Turns out the session was exactly how I hoped it would be. Lots of people indicating what they saw in their future. Most VFP developers have long adopted other technologies to integrate into their solutions. Listening to what others had to say shows some people sticking with VFP for the primary development and integrating other best of breed technologies as needed. Others discussed migrating to other technologies. I think in a way it showed a good cross-section of the Fox Community. Some people got validation of the approach they are taking, while others got ideas for them to consider. That was the entire goal of the session so it worked out perfectly. You can listen in on the conversations on SWFox TV.

Labels: , ,

Southwest Fox 2009: Pre-conference Day

Thursday morning we get the early rush at the registration desk. I spend the morning setting up the two pre-conference session rooms, and ensure the speakers' computers are working with the projectors. I really liked how the registration area was set up this year. It worked way better than the setup of the last couple of years. We did learn we need to get a banner so people know where the registration desk is as I was constantly answering the question about where people go to get their registration processed.

One thing we forgot to mention to the conference center people during the walk through on Wednesday is how we wanted coffee and tea out for the entire day. It took a full 15 minutes before the coffee station was up and running. I joked with Marc who runs the day shift that the staff was a little slow in getting it turned around. He joked he had to fire a couple of people for the slow performance. Fortunately everyone has a good sense of humor.

I did get a chance to check out part of Walt Krzystek's "Integrating VFP with SourceGear Vault" morning session. I was interested in the Vault session from a personal perspective since I am considering moving to SourceGear Vault. I did get to see an abbreviated rehearsal of Walt's session in Atlanta, so I wanted to see some of the parts I did not see. I did sneak into seeing part of Alan Steven's "Break It Down: Dealing With Legacy Code" session. I deal with a lot of legacy code at White Light Computing so I probably could have benefited from seeing the entire session.

The Mexican lunch was really good and I was starving by time lunch rolled around.

The afternoon I helped at the registration desk and worked with Craig Boyd to see if we could reproduce some download problems from the Southwest Fox FTP site and the CD image. I was able to reproduce the problem, but we could not figure out the exact condition or the settings to resolve the problem. We will get this ironed out before the 2010 files are ready. We did not make this a priority at the conference since every person got a CD with all the materials, and the individual sessions could be downloaded.

Right after the pre-conference sessions we have the speaker meeting. Not sure why, but the energy level at the speaker meeting was off the charts. Lots of jokes and friendly barbs. We had the speakers sign a couple of SWFox T-Shirts for auction for the 2010 Ceil Silver Ambassador Fund.

To change things up this year I actually had dinner between the speaker meeting and the Keynote. Therese had already taken Sara Ford to dinner so I joined them. All I had was some soup. For some reason I cannot eat before the keynote. It definitely is not nerves.

The Southwest Fox Conference Keynote is the official kickoff of the conference. We did announce Cesar Chalom as this year's recipient of the "VFPX Administrators Award" for all of his hard work on FoxCharts and GDIPlusX. We also introduced Emerson Santon Reed as the Ceil Silver Ambassador for 2009.

This year we changed things up by bringing in an outside speaker. When I say "outside", I mean someone who is not going to talk about Visual FoxPro in particular. In past years the Southwest Fox Keynote has something about Visual FoxPro on the agenda right after we deal with some of the "administrivia." Sara's talk was titled "Towards a Stronger Open Source Ecosystem on CodePlex.com." Based on feedback some people really enjoyed it and others, not so much. I get a sense from some of the people who did not like it that they did not understand that VFPX is hosted on CodePlex, and Sara was talking about the underlying Web site where the VFPX project and all its goodness is hosted. We also had some sound problems. You can watch the entire Keynote on SWFox TV.

The Trade Show reception followed where people checked out what vendors had to offer and others caught up with old friends, or had a chance to make new ones. I eventually made it over to the bar and then to the Feltman Party Suite before calling it a night much later than I wanted.

Labels: , ,

Southwest Fox 2009: Preparation Days

The preparation to make the trip to Phoenix is always jammed packed with last minute details. The 2009 conference was our third time putting on the show so one would think things would become some what automatic. In some cases it is and in some cases it is not as we try to change things up a little based on feedback and our own ideas. This year my check list seemed longer than normal, but I realized I was just busier than normal with the White Light Computing workload.

Northwest changed our booked flight just before the conference and the flight time really put a crimp into the planned schedule based on a tight schedule once we hit Phoenix. I called Northwest and got Therese and I on an earlier flight, but this meant getting up a few of hours early (1:30am Arizona Time). We carry a lot of the conference materials in our carry-ons because we want to ensure all the really important things make it to Mesa. This means lots of luggage. The flight to Phoenix started out with a 75 minute delay in Detroit. The air conditioning on the plane was not working because one of the problems was getting power working at the gate. I believe Northwest was just preparing us for the Arizona weather by heating up the plane to 85F. The delay forced us to figure out a new schedule once we hit the ground.

Once in Phoenix we got our luggage, picked up the rental car, found Doug searching for his luggage, and rushed to pick up the conference t-shirts, speaker shirts, and conference bags. Direct to the conference hotel to check in, drop everything off and head back to the airport to pick up Tamar and Marshal. Believe it or not, we were only a little behind considering the delays in Detroit. Last stop before heading back to the conference center is to pick up the room schedule posters we get printed out.

Dinner at the Cheesecake Factory Tuesday night was a nice reward at the end of a long day. Tuesday night only has two scheduled tasks. The first was to take delivery of all the shipped materials, inventory the items, and check to see nothing got broken. The second task was to get a full night of sleep because it is the only night in Mesa that happens.

Wednesday morning I was up bright and early. This works well for me as I can get some email and work handled before we jump into official conference mode. I also took a quick walk around the golf course to enjoy the warm weather. After breakfast we have a meeting with the conference center staff. We literally walk though the schedule of each day we are on site so everyone understands what is going to happen and when it is going to happen. The staff at the Arizona Golf Resort and Conference Center are terrific.

After the meeting we begin the assembly of the conference bags. New idea this year was to literally build the bags for each individual. The last two years we built generic bags and customized them as people checked in. This was a brilliant idea as it really simplified the registration process and reduced the number of people we needed to have at the registration desk.

Several other things happen on Wednesday. The conference center transforms the ballroom into the four session rooms by assembling the four 12 foot screens. This year there was a mix-up with the screens and we had to have them swapped out between the pre-conference sessions and the Keynote. The projectors arrive and need to be set up and tested. The conference bags get moved over to the registration desk. Many of the speakers arrive on Wednesday so Therese was making continuous runs to the airport to pick each of them up. She also picked up the Ceil Silver Ambassador Emerson Santon Reed early in the day. It really is a busy day. We ended it by going out to dinner at PF Changs. Dinner was awesome, but paled in comparison to the excellent discussions with everyone and getting to know Emerson a little bit before the conference.

Labels: , ,

Sunday, August 16, 2009

User Group Dependency on Conferences

Last week I saw Jim Nelson present his two Southwest Fox sessions, and one of Jody Meyer's sessions in Grand Rapids and Detroit. Yesterday I had the pleasure to listen to Cathy Pountney and Jody Meyer rehearse both of their sessions at Chicago Fox User/Developer Group (CFUDG). The two groups were also kind enough to listen to the real rough beginnings of my sessions too. I thought the three meetings were terrific and the hosts did a magnificent job.

Special thanks to Jody Meyer and Cathy Pountney for putting on the special August meeting in Grand Rapids last weekend and thanks to Bill Drew and Jeff Simon and the CFUDG gang for putting on the special meeting yesterday! And thanks to everyone who came out to listen.

These sessions are invaluable to speakers as they figure out what works and what does not work in front of a live audience. At least for me, I know I present differently in front of developers interested in learning than when I sit down in front of the dog in the office and run through my sessions.

Cathy finished her second session of the morning making it obvious to me she is serious about defending her #1 speaker status as she is already in top conference form. It was at that time someone made the comment (and I am paraphrasing here): "There is no need to waste your money on expensive conference fees and outrageous hotel costs when you see this quality of session during rehearsals."

Now I am sort of being kind on the paraphrasing, because what I really heard is: there is no need to support Southwest Fox or other conferences when speakers do the session rehearsals for almost free at user groups. Mind you the group who showed up made a generous donation for the food and covered some travel costs for the speakers, so the event was not free. Yet, the comment really rubbed me the wrong way. As an organizer who commits to 200-300 hours of volunteer time to put on Southwest Fox each year, and another 80-130 hours preparing sessions for the conference, I don't appreciate the sentiment that was expressed. It simply hurts.

There is something I believe is too important to be overlooked. It is something I have known for a long time and probably have not expressed out loud enough. Southwest Fox depends heavily on FoxPro user groups. We depend on them for marketing and we depend on them to provide venues for the speakers to rehearse their sessions. It is something the organizers of Southwest Fox have recognized from the very beginning. Two of the three organizers started and run local user groups and the third organizer presents at them regularly. We all understand how important these groups are for the community to share and learn together. One of the first things we figured out for Southwest Fox was the user group discount we offer and giving money back to the community to support the groups.

But this is not a one way dependency. FoxPro user groups depend on Southwest Fox and other FoxPro conferences. You see, the Chicago group has been blessed more than most groups because they draw lots of conference speakers to present to their group. CFUDG invites speakers to come and share. They proactively call speakers to visit. They are a terrific group to present to and are open to learning all kinds of new things. The Detroit Area Fox User Group, Grand Rapids Area Fox User Group, and LA Fox User Groups also have been blessed with regular meetings being filled with conference-level sessions. I know there are other Fox user groups around, but these groups really fill their schedules packed with presentation rehearsals.

So what exactly is the real dependency? Conferences need well prepared speakers to draw people to the conference, speakers need to rehearse, and user groups need speakers to draw people to meetings. So if the presenters are not rehearsing the conference suffers and people are not as likely to return next time. If there is no conference, speakers are not likely to spend 40-80 to prepare one session. User groups won't have conference-level sessions at their meetings and as a user group leader I know the "big name, conference level sessions" draw more than the core regulars to a meeting. It would be a downward spiral. I prefer the upward spiral where conferences exists and draw the best speakers and attendees, where user groups get more rehearsals, and the perpetual motion goes in the right direction. For conferences to exist, people must come. So now you understand why the comment felt like a dagger in my chest.

I know some people are unable to come to Southwest Fox because it conflicts with personal events, or live to far to travel at a reasonable cost, that the economy has affected some, or they have some project deadlines to meet. But to not come because you can see some of the sessions before the conference really doing yourself a disservice. You are missing most of the session you can benefit from seeing, not to mention the networking, the comradery, and talking to vendors who have some terrific products to demonstrate for you in person. Getting outside of the office and talking with other developers of like mind is an experience you will find extremely beneficial.

At the same time lots of people have asked me about 2010. Will there be a Southwest Fox 2010? I can only say maybe. We have not signed a contract at this time for a venue, and have not set any date. It all depends on how the community supports the conference.

So support your favorite conference (I hope Southwest Fox is high on your list) and support the speakers who are hard at work preparing to help you learn some really cool and useful stuff. There are upcoming rehearsals in Chicago, Atlanta, Detroit, Lansing, LA, and Philly. I personally will see almost half the sessions before we arrive in Mesa and hope to see more at Southwest Fox and German DevCon.

This past week I saw six of the sessions and I already learned enough stuff where it is entirely worth the effort I put in to make Southwest Fox happen. I think you will find out the same thing when you attend our conference.

Labels: , , , ,

Saturday, July 25, 2009

CodeStock 2009: Day 2, Part 2

The second half of the day was much better than the last half of day one and first part of day 2...

How I Learned to Love Metaprogramming
Kevin Hazzard
*****

As I mentioned to Kevin after his session, he took me back to the days of my computer science classes in college. Kevin has a terrific style of teaching complex topics so they are understandable to most people sitting in the room. I have no experience with the .NET dynamic language runtime (DLR), but following along the theoretical process Kevin discussed was really cool. I am sure I did not learn everything I was suppose to from the session, but I had no expectations of this to begin.

Great speaker and interesting material.


jQuery 101
Rod Paddock
*****

Rod is another one of the .NET rock stars who has roots deep in Visual FoxPro and not afraid to let the crowd know it. I have seen Rod speak many times. Rod has been an excellent speaker for years and each time I attend his sessions, regardless of the topic, I walk away smarter. Even when I do not agree with his perspective or his approach, I get his take on it and it helps me define my position.

This was the second session I made the trip for and was not disappointed. In this session Rod took the developer from possibly knowing nothing about jQuery to knowing you could return to the office and start using it right away. Immediate value. One of those sessions that pays for the conference. I was excited about jQuery to start with based on community excitement and talking with several developers about using jQuery. Rod reinforced this feeling in spades.

My favorite part of the session was one of Rod’s simple demos. One of the attendees in the audience showed some skepticism with respect to how simple it would be to accomplish it without jQuery. You could see the spark in Rod’s eye, as if he was being set up for something great. Minutes later he demonstrated the aha-moment, which was cool to watch how he put all of it in motion.

For me it really opened up the possibilities for rich applications on the Web and the how simple it is to implement cool Web stuff inside an app. It is not just a set of controls like you might find in the AJAX Toolkit, it is a powerful programming library.

Takeaway: jQuery is a no-brainer decision for Web development no matter what other technology is involved in the Web app, and a book called jQuery in Action is a must read in the near future. It was also nice getting a chance to talk to Rod in person since I use his FoxForum.com almost every day to help Visual FoxPro other developers.


Web UI Warfare: Choosing Between ASP.NET Webforms and MVC
Rachel Appel
****

This session was the battle of the Web presentation approaches between Webforms and MVC. The thing I liked about this session is the fact that there are two approaches with no clear or defined winner, and that is okay. Often I attend sessions where the speaker inadvertently tells me I am a moron because I decided on a different approach, or the opposite one they prefer. What Rachel did in this session is discuss the pros and cons of both and noted how you can use both in the same project. Picking the best of the technology as it is appropriate for the job at hand. Wow, what a concept. Rachel can be a bit brash in her discussion, but sometimes that works, and for this session it did.


Final Thoughts
The college atmosphere is fine, but scattering sessions across two buildings was not optimal for two reasons. First is the layout is anti-networking. The biggest benefit for me to attend any conference is the networking with other developers. I was able to talk with others, but not nearly as much as I do at other conferences. I met several new people, but mostly at dinner one night and at the Stevens After-party the other night. It was not a complete loss, but I am sure I would have made even more friends had the sessions been held in a concentrated area where people would have been more likely to hang out. The other disadvantage of the two-building layout is the fact it was a bit of a pain if you decide the session you initially pick is not for you and want to try out a different one. It might take 5 to 10 minutes to walk across the way, up and down stairs to the other session. The open spaces sessions were off in the corner, which I know is not conducive to the “program” where you want to suck people in as they walk by and overhear something interesting.

The conference also reinforced something about conference session scheduling: I really like the repeated sessions. I found I missed something and heard later it was good. No chance to see it when it is offered only once. I know more sessions can be offered without repeats, and this is cool, and something you can do when you are not paying for everyone's travel and lodging. Still, I prefer repeats so I can better schedule what is important to me.

Overall I was a little surprised by how many people I know in the .NET community. Some of them were even open to listening to a VFP-guy. Some of them were surprised that Alan Stevens is speaking at a conference I organize and it is on this foreign technology called Visual FoxPro. Imagine the look on their face when I showed them some Fox stuff Alan has in his family room. The horror {g}. Alan is one of the few who have established themselves in a growing .NET community, but are not afraid to let people know how cool Visual FoxPro still remains today for project development.

Also found some things to possibly bring to Southwest Fox. I walked away with some new friends and a renewed energy to learn some new technology. That might be the best takeaway of all and the part that made it completely worthwhile to take four days away from hot projects and billable work.

I definitely will keep CodeStock on my radar for next year. Maybe I will even submit some sessions abstracts.

Labels: , ,

CodeStock 2009: Day 2, Part 1

The second day of CodeStock was the day I was really focusing on since seeing the schedule.

Keynote
Simplicity
Josh Holmes, Microsoft
*****

"Simply" great. I have seen Josh present elsewhere and came in with low expectations for this keynote. In fact, when I went to bed the night before I told myself I would not be disappointed if I overslept and missed this session. I am glad I did not. This was a keynote about common sense and being thought provoking. It succeeded. Josh was well prepared and it was obvious to me this was not the first time he ran through this session. A little of my faith was restored in the Microsoft Developer Evangelist contingent at the conference.


ASP.NET MVC - Soup to Nuts
Peter Mourfield
(zero)

This is one of two sessions I spent $300 to see. I am in the process of deciding whether we are going to use ASP.NET or something else for one of our customer projects. MVC is a Microsoft technology add-on to ASP.NET to help speed up Web development based on Model-View-Controller pattern. If I had not done some homework beforehand I would not have even learned what MVC stands for.

Peter was obviously unprepared and unrehearsed. He told us about the Julia Childs cut and paste approach to presentation, which is a seriously sound approach to successful presentations. One key though, the code you cut and paste must work. It did not. Honestly, Peter was one of the worse presenters I have seen at any conference and I have been to dozens over the years. If I could rate this session on the eval a zero I would because that is the value of what I got from it. Terrible, terrible, terrible. I am guessing more than 60% of the people left before it was a quarter over. The session took up two slots. I tried to stick it out, but eventually bailed at the half way point because it was just too painful to watch. No takeaways from this session, just in case this was no obvious.


Starting a Software Company
(Panel Discussion)
*****

On the plus side, the benefit of bailing from the MVC session allowed me to sit in on this session and it was terrific. I am normally not a fan of panel discussions as they usually get derailed to off-topic discussions and often are controlled by a "loud mouth complainer" in the audience or a dominant speaker on the panel. Neither of these happened. I have started three software companies in my career. It was good listening to others talk about the approaches and what they think is formula for success. It confirmed some of the approaches I have taken over the years and made me think about other things to consider as White Light Computing tracks on positive growth for the foreseeable future.

There are a couple of things I like in this session. First is the discussion of the current economic times referred to as a nuclear winter. Several pundits declare these are the worst times seen by our generation. But successful companies like Hewlett Packard, Coke, GE, Adobe and Microsoft were all created during down times, so the panel speakers were encouraging people to start new businesses during these times. Honestly, I have started two businesses in Michigan during the current 9 year recession the state is suffering through. It is not easy and is fraught with risks. Yes, there are times when I reconsidered joining a company as a W2 employee, but I really love my job where I report to customers instead of the pointy-haired-boss.

Some key common sense points:
1) Luck is important.
2) Surround yourself with smart people.
3) Don't develop in a vacuum.
4) Break vision into manageable chunks (having a vision is also important {g}).

One of the attendees is a young man who probably was 12 or 13 years old. He asked an insightful question if it was okay to start a business today that would fund what he really wants to do: game development. After the session I ran into him and passed along some advice: follow your heart, believe in what you want to do, and trust your instincts. Someday we will see this young man doing some great things in the gaming industry.

This session also lead to some terrific conversations at Alan Steven's after party. I met someone who is considering starting his own company in the Knoxville area. I passed along as much advice as I could. The key to starting any business is knowing it is not easy and it is not all peaches and cream.


Lunch
Open Spaces - Marketing yourself and your company
(not rated)

Marketing to me is a dark art. I read in Whil Hentzen’s The Software Developer Guide how nothing works. I definitely understood the point in Whil’s book, but the reality is: doing nothing will give you the same results. Several people offered the moderator some suggestions. I looked at this session as something of a brainstorming opportunity. In a brainstorming session there are no bad ideas, but instead of taking it all in, I felt like we were more in a debate about what works and what does not work. It was unfortunate because there were a number of terrific ideas thrown out and I am not sure any of them were absorbed. Several of the ideas thrown out take time and effort. I believe the moderator was looking for something easy and finding the silver bullet. Unfortunately it is not always easy.

The thing with marketing is building brand recognition and getting people to call to do business with you or your company. With the Internet available we have more avenues available to get brand recognition than ever before, and many of these avenues cost very little to try.

I think coming up with marketing ideas is way easier than figuring out if they work. I am not sure I can measure any one thing I have done as working, but one thing is for sure, the entire approach I have taken over the years is working.

I shared as much wisdom and experience I could, but most of my ideas do take time and effort. They have worked for me and White Light Computing. Hopefully the moderator and others in the room will benefit from them.

More to come on the second half of day 2, and my final thoughts...

Labels: , ,

CodeStock 2009: Day 1, Part 2

After lunch, more sessions...

DevBasics: The ASP.NET Page Lifecycle
Jay Harris
****

Jay took us through the ASP.NET sequence of events and explained what they were, when they happened, some gotchas and tips for the event, and how you might use them in your Web app.

The session was well prepared, clear and definitely basic as noted in title and abstract. One thing that would have helped is demoing more of the events and discussing practical uses of the events. Not being critical here, just a suggestion. It was a good session.

Key takeaway is a better understanding of the ASP.NET page lifecycle. I also learned there is a Web site where speakers can set themselves up to be rated by those that attend their sessions (http://speakerrate.com/). Interesting how many of the speakers I checked out have only one or two people rating sessions. I have always wondered why it is so hard to get feedback from people through evals.


Programming SQL Server T-SQL
Joe Kunk
**

One word to sum up the problem with this session: rehearsal. It was painfully obvious that Joe did not put the time into rehearsing this session. He started telling us how he was working on the materials the night before, which is never a good sign. He also noted it was a 200 level session, yet the first 75% of the session was definitely 100 level. The last 25% of the session was the meat of the session and it unfortunately was rushed. If I was Joe I would focus on the last 25% of the material, expand it a little and find you have a terrific session.

I went into this session hoping to get some golden nuggets for my work with SQL Server. For me personally, I believe my weakest development point (vs. configuration/administration) with SQL Server is T-SQL so this was a perfect opportunity to jumpstart the refinement of my skills in this area. Lately I have been working a lot with VFP data-based customer projects. I spent the better part of 7 years doing mostly SQL Server and all of a sudden the tides went the other way for the last couple of years. So I am a little rusty {g}.

All that said, I walked away with one silver nugget which means the 75 minutes were beneficial. Joe showed us how you can include the column headers in copying the result set of a query. This was a two-fer. One, I did not know I could select all the records (Ctrl+A after clicking on the row) and copy the result sets from SQL Server Management Studio to the clipboard. That was cool to learn. The second nugget is the option in SQL Server Management Studio to include the column headers in the clipboard. You get to these from Tools | Options, then in the dialog tree view Query Results > SQL Server > Results to Grid. Check on the option to "Include column headers when copying or saving the results".

Key takeaway was the already mentioned nuggets.


The Basics of ASP.NET
Jeff Blankenburg
Microsoft
*

Jeff never fails to take a great session and disappoint. He was one-for-five on demos (crashed and burn). I guess having seen him before should be elated with the one demos that worked even a little. Microsoft should be ashamed that a Developer Evangelist is this unprepared to present to a paying audience. I have to believe this session was one of his canned sessions he does with customers in his day-to-day job with Microsoft. This session further erodes my confidence in the people who are suppose to help us developers learn and adopt Microsoft technology.

Also, if you have a session that covers the basics, shouldn't this session be at the beginning of the first day instead of the end? It could be another scheduling conflict as Jeff mentioned he arrived just before his session so maybe he asked the organizers to put him where he got slotted. There are several sessions out of order, but I also know scheduling sessions slots is not a trivial exercise.

Jeff covered Master Pages which is something I think is cool and something I know we use on the Southwest Fox Web site. It brings consistency to the look and feel and makes it easy to develop pages. He covered the AJAX Toolkit too. I feel he focused way too much on the AJAX Control Toolkit which is obviously dated compared to more cutting edge stuff like jQuery. There were other topics like LINQ and Web services, but by that time he lost my interest. Still, I answered a question correctly before anyone else and won a Twix candy bar.

Takeaway: never waste another session slot by seeing Jeff speak. (sorry, I tried to be as positive as I could)


Deep Fried Bytes - Live (Podcast recording)
*****

Over the years I have taken part in podcasts with respect to being interviewed. What I have learned is the hosts make it look a lot easier than it really is. I am fascinated by podcasting. I think podcasts bring terrific value to the developer community. At CodeStock I was introduced to Deep Fried Bytes which is a popular technology-oriented podcast hosted by C. "Woody" Woodruff and Keith Elder. I was interested in seeing a live podcast recording. There was some interesting discussion and questions from the crowd. Most of the time the hosts knew the expert to help answer the question. It was a remarkably smooth process.

Earlier in the day I listened to a speaker tell me how the .NET platform allows for developers to easily develop applications on the Web, desktop, and mobile platforms. During the panel of Microsoft Developer Evangelists I asked a question about what Microsoft is doing with respect to competing with the iPhone based on the lack of development and stunted growth of the Windows Mobile platform. It is well known how poorly Microsoft has competed on this platform and appears they are standing still while Apple and RIM eats their lunch. I got the canned answer on how Microsoft takes the challenge and is working on Windows Mobile 6.5. Yawn. The battle is lost. They need to deliver Windows Mobile 7 and have a kick butt response to the iPhone if they have a prayer of competing.


Evening Social

After hours there were games and finger food at one of the local sponsor's office. There were people pretending to be rock stars on the XBox and lots of board games. I stayed for a while and Steve Bodnar got us involved in a group of people who headed out to dinner at a local Japanese restaurant. There was some fun discussion and laughs, ongoing tweets, and some decent food. Typical geek dinner.

The afternoon was a mixed bag for me. In reality, I was interested in two sessions on the second day and could have skipped the first day all together without worrying about getting value from the conference. So any wins were a bonus for me.

Labels: , ,

CodeStock 2009: Day 1, Part 1

CodeStock is a developer gathering in Knoxville, Tennessee that drew 376 people from around the country. The conference is a community event, meaning it is put on by developers. Most of the sessions are based on the Microsoft stack (.NET, SQL Server, Visual Studio), but has business topics and some open source coverage as well. You can attend 10 sessions over two days and there is one keynote each morning to start out the day. I attended the conference for one reason, to jump start my learning of ASP.NET to help my make the decision if we are going to use it a project we are hoping to work on later this year. The decision is simple, use the Microsoft stack, or use something else like Ruby on Rails with other open source technologies. This decision is as much technical as it is a business decision, and one I struggle with each time I sit down and think about it.

The event registration cost me $45 because I registered late (normally $25). This is ridiculously cheap even considering the cost structure of the conference. The conference facility is a local college in Knoxville, and not tied to a specific hotel. Lunches are less expensive boxed sandwiches, chips, cookies and soda. Speakers travel is not covered. Sponsors cover a significant part of the cost structure for this type of event. It is supported by a passionate group made up of volunteers. While there are a lot of things in common with a standard conference you might go to, the entire infrastructure and business model are completely different. The entire trip with air miles supported airfare cost me around $300. I shared a room with Steve Bodnar to also curb costs.

One thing I learned at the conference is the way sessions were selected. People voted months ago on topics. The votes were based on title and the abstract - without a speaker name. I did not take part in this because I was late to the party and quite frankly would have been out of my element in the selection process strictly based on me being an ASP.NET noobie. I don’t know for sure, but I suspect the organizers don’t want this to be a popularity contest, and to have people vote strictly on topics/technology. I am sure this could happen, but the reality is I choose the sessions on content *and* speaker. This might sound snobish to some, but speakers make up the core of the conference and make or break a session. No matter how important a topic might be to me, if I know a speaker is weak, or does not prepare well I know I will not get value out of the session. I have been quoted as saying there are certain speakers I would listen to no matter what the topic is because I know I will learn something new out of the session. This is only reason I attend conference sessions.

Honestly, I believe this process watered down some of the session content and delivery at CodeStock. Granted, as you will read soon, there were some terrific sessions put on by talented and prepared speakers. There also were some terrible sessions put on by talented, but unprepared speakers. The difference was easy to witness, and literally painful to watch. As a person who has put on dozens of presentations, I felt bad for them. On the flip side, I really enjoyed watching other talent and passion flow in other sessions.

Open Spaces Keynote
Alan Stevens
(not rated)

Alan is a star in two communities (both in VFP and .NET). You might not know, but Alan is more of an “unconference” kind of guy than a prepared session slot kind of guy. His passion is bringing developers together to discuss ad-hoc topics. This is what open spaces is all about. Someone kicks off the conversation with a question or statement, and let controlled chaos ensue. This opening keynote was Alan's introduction to open spaces and his several escalator ride pitch to convince you to follow him to the land of un-session nirvana. His passion oooozes on stage, and he convinced many to follow by posting a session topic in one of the many slots.

The reality is, open spaces is a lot like the discussion you will find in the corridors at a conference. The unplanned “hallway sessions” that usually start with a couple people discussing something, and others join in and before you know it you get a flow of ideas and answers to questions. These sessions bring as much or more value than one of the planned slot sessions going on in the rooms at the same time.

The problem I have with the open spaces approach in this format is the slots are filled randomly and they compete directly with a schedule I already picked out in advance. What I mean about the randomness is you could have two related topics but get them out of order with respect to some background and advanced discussions on the same topic. The cool thing about it is you have alternatives to the rare open slot when none of the planned sessions meet your taste. The open spaces are also during lunch, so for us uber-geek conference attendees who see lunch as more time to learn it can be a bonus session.


Back to the Basics: What is .NET?
Keith Elder
*****

Keith is a well prepared speaker. His session delivered a nice overview of .NET and the basics needed to get started from someone who obviously has expertise.

I thought this was a great way to start the conference. Keith explained how .NET is managed code, described as "developers don't have to manage memory." He also explained how it was cheaper than Java. I don't understand the entire math equation, but it had to do with IIS being a "free" app server compared to needing BEA, WebSphere, or WebObjects. This is the first time I have heard anyone tell me .NET is cheap and IIS was free. {g}

One of the key advantages of .NET is the single development platform for mobile (WinMobile), Silverlight (Web), Windows desktop, and Linux with Mono. This is a pretty powerful concept that is not promoted to me by Microsoft, and a heavy discussion point in the LAMP arena. I have a little problem with the "mobile" perspective since I believe Microsoft does not compete well on this platform and are getting their butts' kicked by Apple and Research in Motion (RIM - Blackberry).

He gave us a quick overview of the Visual Studio IDE, and explained the large ecosystem of developers creating tools and components for VS developer to purchase. This has been one of my sour points with the Visual Studio experience: the total cost of ownership. I have been spoiled with VFP. Literally we have it all in the box. The Visual FoxPro IDE supports the language and app development, has tools and components, a report writer, and data (local and backend). Sure you might have to purchase some ActiveX controls here and there, but normally these are for specialized cases and most VFP apps are fine with the canned controls and tools. I asked Keith what the real costs for the average developer is with VS.NET once you license all the components to get the real job done. His answer was very wishy-washy. I have heard from other developers in the past it could be as much as a couple thousand dollars per developer on top of the costs of purchasing Visual Studio .NET. Not a trivial decision for any development shop.

The meat of the session was in the coverage of the .NET framework, code, and the assembly DLLs. Keith covered all the base compilers and how others can be included for other languages. I thought his overview of the Intermediate Language (IL), the Common Language Runtime (CLR), the Dynamic Language Runtime (DLR) was well done. He showed us the Global Assembly Cache (GAC), and briefly covered the Red Gate .NET Reflector (which is very cool, and scary if you think the ReFox decompiler is evil).

Key takeaways from this session were some clarification on .NET and where things are on the machine, .NET Refector is going to be extremely helpful from a learning perspective, and how well .NET plays on platforms that are important to me. I really thought the session was well done. Keith is an experienced speaker and a name I already knew going into the conference. I would definitely see another session he presents.



Useful jQuery tips, tricks, and plugins
Elijah Manor
***

It would have been real helpful if organizers had scheduled this *after* Rod Paddock's jQuery 101 session. I am not sure if this was a scheduling problem of speaker availability or not, but it would have probably been rated a little higher if I had known jQuery a little more. Elijah is a respected person and expert in this field. He is a prolific tweeter as I have learned since the conference. His tweets are filled with lots of pointers to some extremely useful resources. I know I have learned more from him since the conference than I did in his session.

The session was packed. I got there late and ended up leaning against the back wall during the session, which is not conducive to learning, at least not for me.

Key takeaways from this session include VS 2008 SP1 includes support for jQuery, Firebug is awesome for Web development, the jQuery FlexGrid plugin rocks, and follow @elijahmanor.


Lunch
Open Spaces
(not rated)

I grabbed my boxed lunch and headed to open spaces. Honestly, I don't recall the topic (writing this blog entry a month after the conference without any notes). Obviously this was not much value. I bailed early.

More on day one to come...

Labels: , ,

Sunday, December 07, 2008

German DevCon - Day 3

The final day of the conference in Germany is like the final day of any conference, you start out the day exhausted. Add on top of the fact I have not slept more than a couple hours a night because of the jet lag and the time zone difference from home.

I also did not have the first session of the day so I was able to attend Bo Durban's 8:30 session on "Creating Custom Controls with Sedna." Yes, another reporting session I am sure will be very useful to me in the near future. Bo showed us how to take the Sedna reporting architecture and extend it for our own purpose. His extensions show how you can drop a shape on the report and have it be one of the custom shapes he has predefined. His custom shape takes on the attributes (size, color, etc.) of the standard VFP shape you drop on the report. Very interesting and will take a little to sink in.

Up next is Tamar's "Solving Common Problems with VFP SQL" session. It sort of was a session that gave me that time-warp sensation. I recall sitting in on one of Tamar's SQL sessions at one of the early DevCons (probably 1993 in Orlando). Tamar has been giving SQL sessions for many years so I am not sure if it was then or 1996 in Scottsdale. Or maybe both. It does not matter how many times I see sessions like this, I always walk away being reminded of some technique I have forgotten about. It also reminded me I probably should reread her book: "Taming Visual FoxPro's SQL - Real World Data Solutions For VFP". There are techniques I just have not used that were introduced in VFP9 like the ability to create SQL Selects from virtual tables (another SQL Select).

I skipped the Microsoft keynote given by Tim Fischer of Microsoft Deutschland because I probably would only understand about 1% of it. The topic was interesting as it was about Software + Services and VFP, but it was given in German and my mind was not prepared to pseudo translate.

After lunch was "Practical Uses of XML" by Doug. I really liked this session. I definitely have used XML in my customer applications and developer tools, but it is always interesting to see what applications other developers come up with. Doug's session gave a brief overview of XML and some of the gotchas you have to be aware of and some techniques for working with XML data.

Last session of the conference was my "Extending the Sedna Data Explorer" session. I have done this session numerous times and I got tripped up in the last example where I display the ShowPlans for all the views in a database. The demo crashed and burned. This is a demo I did in the morning when I ran through all my examples one last time. During the day I was working on the Upsizing Wizard chapter and upsized the VFP NorthWind database. I was testing the upsizing of VFP views and when you do this it turns them all into remote views. Well the ShowPlan code is counting on local views and I was seeing the SQL Server login dialog during the demo. Not cool. Fortunately everyone was understanding that the demo gods were not kind during the last 5 minutes of the session. See why I don't update my machine for a couple weeks before a conference? Even something a silly as a demo can get tripped up by changing data.

Later in the evening of the last day is the speaker dinner. Rainer always comes up with a spectacular spread of interesting food. Each year there is fun discussion and lots of laughs. I thought I would leave by 11:00 but they kicked us out sometime after midnight. I was nearly falling asleep at some point, but got my second wind along the way.

The conference was terrific. I learned a lot, got some important work done, and was able to get some ideas spawned for VFPX during my time in Germany. In fact, during the conference one of the German speakers submitted a project to automate VFP builds. It was accepted and is the first time I was able to tell the project manager face-to-face that the project was accepted. We have not announce the project yet because the project manager is busy with his real job, but expect to see it soon. Looks real interesting. I am looking forward to next year if I am so blessed to be selected to speak in Germany for the fifth straight year.

Labels: , ,

German DevCon - Day 2

I skipped all the morning sessions so I could work on my customer projects since I have seen all the English sessions already. I did not get a lot done Wednesday and Thursday and was feeling the heat to produce some code for the deliverables I promised. The code is not very glamorous as it is changes to a FoxPro for DOS app, but the implementation is extremely important for my customer and the code I am working on has some cool elements in scheduling service calls out for the repair people. My customer is changing the process of assigning the calls to the repair people for the first time since the 1990's so I have to make sure it works and assigns the calls correctly every time.

The first session I attended was Doug's "Creating Explorer Interfaces in VFP", a session I have looked forward to since he submitted it as a session for SWFox. His screencast generated a lot of interest among the people who registered for SWFox and it received a lot of praise from people I talked to who went to it (both at SWFox and in Germany). During the session Doug went into something I am coining as "high-speed Canadian" as he started speaking quickly. You can tell when a speaker is really excited by the material they are presenting. Doug is a natural high energy speaker and he was ramping up during the early part of his session. He did slow down eventually. You see, while the Germans are terrific at English, it is not their first language so it is the responsibility of English speakers to conscientiously slow themselves down. The session did not disappoint. Doug has a really powerful treeview wrapper class with all the bells and whistles you could want. I also know he added the ability to disable the treeview after his session based on feedback he got during the session. He also showed how he uses VFPX components from the Themed Controls project as well.

The second part of my "Using VFPX Components in Production Apps" session was next. I presented a couple of components and filled in the rest of the session by showing off the new changes to the New Property/Method and the Edit Property/Method Editor being worked on by Jim Nelson and Doug Hennig, and the recent FoxTabs project lead by Joel Leach.

The last regular session of the day was Kevin McNeish's "Rich Internet Applications in Silverlight 2.0." There has been some buzz around Silverlight and I have a potential project that might be best done as a Web app so I wanted to get the scoop on Silverlight.

Rainer asked me to talk about VFPX in the second bonus session during his segment on the future of Visual FoxPro. He wanted me to briefly discuss the importance of VFPX, why it is so important to the future of VFP. I took the opportunity to ask people to get involved one more time.

Labels: , , ,