This was my third SWFox (3 in a row) and for me. I believe I got more out of this year's conference than I did out of the last two combined. I will come back to why that is later in this post. I arrived in Phoenix almost five hours later than I was suppose to. There had been fog in Dallas and that messed up my departure from Pensacola and my connecting flight. It made for a long travel day.
I arrived early to attend Rick Strahl's Web Connection (WC) pre-conference which was two full days of reviewing WC. I had a hard time deciding whether to attend or not because Rick had told me it would basically be the same material as last year. I had never looked at any WC from last year. Last year it was a lot of WOW! for me, but honestly, a lot of the material went over my head. I am glad that I attended again this year. This year we covered the material a little slower and I believe more questions were asked; I know I asked more questions. I had gone into these sessions wanting to get a better understanding of WC's Web Controls. I believe that I have achieved that but I still need to get my hands dirty with it to get a clear understanding.
The
keynote on Wednesday night was given by Steven Black. His topic was niche marketing. I really wish there was a video posted of the keynote so that I could watch it again as there was a lot of points Steve made that I would like to watch again as I'm having a hard time remembering everything. Some of the points made in the keynote:
- As VFP programmers we are older which means we bring more experience to the table. As a result we can deliver a product quicker that is more complete and bug free.
- VFP is still a great tool and often times is actually the best tool for creating the types of programs that we deliver.
- We need to expand our toolbox to remain competitive which means we need to know how to use other data back-ends and know how to create browser based applications. Many of us are doing that already, but we need to be good at those tools. In short, be good at using several tools not just an expert at using one tool.
Now on with short reviews of the sessions I attended. I will review these in the order in which I attended.
Class Design Strategies: This session was rather basic and easy to understand. I believe the biggest point made was that the developer can add functionality to a class any time, but care must be taken to not break default behavior.
VFP and Thin Clients: I went into this session not really knowing what to expect and for the first five minutes considered leaving. What was demonstrated was the use of Terminal Services to run an application. This was a good demonstration of this strategy for delivering an application to multiple users. I found this very interesting and I'm glad I attended this session.
Developing VFP Application for Windows 7: I am so glad I attended this session. Doug Hennig covered some of the
gotchas in deploying an application on a computer using Windows 7. I had no idea; so this was a real eye opener for me. It is so much better to know about these things now rather than finding them out when at the customer site. As far as value goes, this session delivered.
Remote Data: Switch to SQL Server w/o Redesigning Your VFP App: I've been to several sessions on using SQL Server but I'm still not using it. I know I need to and I am working on that at the present time. This session was rather basic but it gave good information for those that haven't used used SQL Server. One of the topics covered was how to mimic the delete flag. It was a good discussion.
One thing that I did get out of this session was a SELECT statement to get a total record count on a table. I know, everyone knows how to do this, but it hadn't occurred to me to create a view just for this purpose. In the past when I was using VFP pages I would just use RECC("myTable") and store to a memvar, not so easy to do with remote data. Since returning home I have created a view with SELECT COUNT(*) from myTable and I'm using this in my revised application; works great.
Easy Multi-Threading with Visual FoxPro: This session had the biggest WOW! factor. Kevin Ragsdale did an excellent job of providing real life examples to demonstrate the use of multi-threading using Christof's DMULT.DLL. I immediately saw application of this in one of my applications. Thanks to Kevin for taking the time to put this session together. I heard of several people that were equally as enthusiastic about putting this in their apps.
Wanted: More Processing Speed!: It was good to attend this session immediately after Kevin's session. Jody Meyer demonstrated using ParallelFox to do parallel processing. It's a little different than the multi-threading technique. The examples given were very interesting, especially demonstrating setting the number of processes that would be going on at the same time.
Joins and Subqueries: Using the SQL Commands for the Hard Stuff: This was the best demonstration and explanation of joins that I have seen. Tamar Granor explained the different types of joins very clearly and had excellent slides that showed the different types of joins. While I have worked with joins I am glad that I attended this session.
It's so, uh, "gray"..Tips & Tricks to Improve Your App's UI: VFP allows the developer to create some really dazzling interfaces, but is that a good idea? That was what this session was about. Kevin Ragsdale showed some examples of how a well intentioned UI changes when users have selected different widows colors or themes. I have always been very interested in interfaces. I have more books on design than any other topic (besides VFP specific books). A user expects applications to behave a certain way and what they see in the interface is their perception of the application. The bottom line is that the developer must respect the user's windows settings. Great session.
Fox on the Run: This session was about creating mobile applications. It was very interesting, but unfortunately I didn't get to see the whole session. Eric Selje did show some cool things using CSS and mobile developer tools. I am looking forward to reading the white paper on this session to learn more. This session did have a bit of a WOW! factor, especially when you take into account that more smart phones will be sold than the combination of both desktop and laptop computers combined. This represents a huge market and a direction that consumers are going.
jQuery UI & jQuery Plugins for Making Your Ste Look/Work Better: This session presented some great material with examples. The 75 minutes went by so fast. I am looking forward to reading the white paper on this session and using some of these plugins for my web apps.
How Craig Boyd Makes Me a Hero!: Rick Schummer covered several tools that Craig Boyd has developed that makes adding certain features to an application very easy. By using these tools the developer can look quite smart and appear as a
hero to the customer. Rick says that in the white paper he explains how to find these tools as they are not really in a central location.
Looking Back: Techniques I'm Glad We Used: I don't really have any notes on this session, but I do remember that some of it went over my head. The premise for the session was a discussion that Steven Black had with a fellow developer on a past project that told Steve that many of the things they had developed were still in use today even though the customer was trying to "modernize". The design was still very solid. So, I took from this to take the time to design it right the first time.
Show Your Apps: It's always interesting see other developer's applications. My hat goes off to the people that are brave enough to stand up in front of strangers and present their applications. Often times English is a second language for these presenters. For me the most interesting app I saw was an app for a tablet PC to be used in the field. The presenter had done a lot of research on tablet PC's. It was quite interesting to see how people are finding solutions for various problems.
Programming Standards and Guidelines for Software: For me this session was more of a confirmation of practices that I already subscribe to. It is so important to have standards and guidelines and stick to them, especially in a group development environment. It makes reading code that much easier. BTW, I am a spaces developer vs. the tab developer.
Twenty Tools to Make Your Life Easier and More Productive: As developers we use several tools (other applications) to make our life easier. Rick Borup did an excellent job of presenting some of the tools that he uses, sometimes on a daily basis. It is nice to see some of the tools that another developer uses. It made me feel good to know that Rick uses some of the same tools that I do. I will be looking into some of the tools that he mentioned that I don't use.
Creating ActiveX Controls for VFP Using .Net: If you want to give your applications a different look, ie give it that "more modern" look, then create some controls in .Net. Doug Hennig showed how this can be done. I found this session very interesting, but I don't know when I will be able to play with this.
Yep, I attended 15 sessions plus the Show Your Apps bonus session. Several of the sessions were rather basic, but that was good for me; some of it was re-enforcement and some of it was clarification. Looking back over this review I see that I was impressed with two sessions with a WOW! factor. I've already implemented something I saw in one session. Another session made me aware of potential problems I may have in the very near future if I don't look into today. All things considered, I got something out of every session that I attended and I found all sessions to be relevant. It goes without saying that the presenters all did an excellent job and are all professionals who also treat the attendees as professionals.
It almost seems ridiculous to me now that I was on the fence about attending in the first place; I am so glad I attended. In reviewing my previous post I can't say that I did everything I had planned to do, but I did most of it. I have returned from the conference feeling both positive and motivated.
I did not poll other people as to what they are doing for the future The future is uncertain; there's no denying that. But, almost 20% of the attendees were first time attendees. To me that shows current interest in VFP. It was pretty clear to me that VFP developers love FoxPro as much as I do and still intend to use VFP. I know that I intend to use VFP but I do intend to expand my knowledge and create some different interfaces and back-ends.
How did I get more out of this conference than the previous two? It's pretty simple actually; I didn't party as much. There's actually more to it. I went with certain goals in mind. Plus, I've been active in coding lately so my mind was fresh with current experience. I saw things at this conference that I definitely want to put into my applications and feel confident in doing so. It seems that in past conferences I will see some really cool things but don't see how those things would apply to me. At the 2011 conference I saw cool things that I believe do apply to me.
I admit that I've been scared of the future and almost paralyzed in development because of outside forces telling me VFP is dead; if I listen to the outsiders it is impending doom. Attending the conference has solidified my resolve to continue on the path I'm going using the tools I know and love. More importently I feel both encouraged and motivated to be the best I can be after returning home from the conference.
At the closing session the organizers said that before the conference it was questionable if there would be another conference next year because attendance was down. It was scary for them as registrations were very slow in coming in (sorry to say I am guilty of being one of the late registrations). But, because the 2011 SWFox was considered a success there will be a conference again next year; they just don't know if it will be the same format or same location. I for one plan to attend next year. I do like the current format and the venue works for me. I like the current venue better that the AZ Golf Resort.
A big thanks to the conference organizers; they put on an excellent conference. Also, a big thanks to all the presenters who put in hundreds of hours creating their sessions.