Southwest Fox 2017

October 26-29, 2017
SanTan Elegante Conference Center
Gilbert, AZ

Southwest Fox 2017 Sessions

There are 7 conference tracks at Southwest Fox 2017. "Level" shows the expected Visual FoxPro level for attendees for a session. Click a track's icon to jump to the sessions for that track.

Pre-Conference: These half-day sessions are offered on Thursday before the main conference starts, and are available for an additional cost; see the Register page for details.
Extending VFP: The sessions in this track look at ways to extend VFP's reach, by using it together with other products or by taking advantage of native extension capabilities, including working with SQL back-ends.
Moving VFP Applications Forward: This track covers topics related to modernizing VFP applications as well as alternatives for new platforms and future application development.
Solidifying VFP Development: This track will appeal to all VFP developers. Sessions cover either a) VFP fundamentals, aimed at those newer to VFP, whether moving up from FP2.x or coming to VFP from other languages; b) VFP best practices, aimed at helping all VFP developers improve; or c) in-depth looks at aspects of VFP that some developers may not have mastered yet.
Taking Advantage of VFPX: The sessions in this track showcase the projects in VFPX, providing attendees with enough information to put those projects to work for them. These sessions are deep dives into specific VFPX projects.
Technology and Business for the Developer: This track looks at tools, technologies and techniques to make life as a developer easier and more productive. Topics in this track are application to both VFP and Xbase++ developers.
Web and Mobile: The sessions in this track are aimed at developers who want to learn more about creating web and connected mobile applications.

Keynote

Presenter: Dave Bernard
Level: All levels
When: Thursday, October 26, 7:00 - 8:30, Elliott/Flagstaff

The hype of AI, machine learning, bots, and digital assistants has been building since the start of the year, amplified by efforts of Google, Facebook, and others. Many of the bots that have either hit the market or are getting ready to launch, carry out tasks traditionally done by humans. We'll explore the historical relationship between technology innovation and job creation, and discuss the realities of potential future job obsolescence.

Pre-Conference

Pre-ConferenceExtending VFPMoving VFP Applications ForwardWeb and Mobile

Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Thursday, October 26, 1:00 - 4:00, Flagstaff

This session is the complete guide to VFP and the Web. What are the options? How are websites and web apps different? What skills will I need? How can I evaluate what I need for a specific project? What skills will I need to master? What are the main differences in desktop and web programming approaches? What is stateless and how does it affect my application?

More information and misinformation is available on this topic than almost any other VFP issue. This session takes you through the ABC's of VFP and the Web and clarifies everything from ASP to XML. We will discuss website connections, web applications, JavaScript, CSS, HTML, and just about everything else connected to the web—all from the perspective of a VFP developer.

You will learn:

  • Statelessness and callbacks: how to adjust your programming paradigm for the web
  • About different categories of what is loosely called "web connectivity"
  • What JavaScript, jQuery, Angular, JSON, Web services, MVP, ASP etc. are
  • What products like FoxWeb, West-Wind , AFP, ActiveVFP, FoxInCloud claim to do for VFP
  • The differences between "web" products, including features, costs, knowledge needed, and implementation time
  • How to evaluate third party vendors claims about working with VFP
  • What skills will be necessary or helpful for different types of projects
  • Criteria for selecting best approach for a VFP web application
  • Economics: financial feasibility and ramifcations of different platformsBasic VFP knowledge

Prerequisites: Basic VFP knowledge. Knowledge of website setup and basic HTML/CSS/JS helpful.

Pre-ConferenceMoving VFP Applications Forward

Presenter: Doug Hennig
Level: All levels
When: Thursday, October 26, 9:00 - 12:00, Flagstaff

Even if you're planning to continue development in VFP, learning another language like C# can be very useful. There are some things that are a lot easier and faster to do in .NET than in VFP (the reverse is also true). This pre-conference session introduces the C# language, comparing it to constructs and syntax in VFP to shorten the learning curve.

You will learn:

  • How to create a project in Visual Studio
  • What strong typing means and the advantages and disadvantages over weak typing
  • The basics of C# syntax
  • How C# classes differ from VFP classes
  • How to create C# classes
  • About inheritance in C#
  • The uses of abstract classes and interfaces
  • What static classes and members are

Prerequisites: General knowledge of programming

Extending VFP

Extending VFP

Presenter: Rick Strahl
Level: All levels
When: Friday, October 27, 11:30 - 12:45, Flagstaff (R1)
Saturday, October 28, 2:00 - 3:15, Flagstaff (R2)

The Web Browser control is one of the most powerful ActiveX controls available to you to integrate into Visual FoxPro. The control provides a way to display and interact with HTML content and JavaScript from your FoxPro applications. Whether you want to display HTML content, which is a great way to display lots of text, or whether you want to build a rich UI that uses HTML-based layout, you can do it quite easily with the Web Browser control. It's even possible to use rich JavaScript-based components and control those components from VIsual FoxPro; I'll show an example of using a powerful HTML/JavaScript-based editor in Visual FoxPro. This session is an overview of how to work with the Web Browser control, how to control the rendering process, and how to interact with the live document and JavaScript components that live in a Web page to build dynamic content that can interact with your FoxPro application.

You will learn:

  • How to use the Web Browser Control in Visual FoxPro
  • How to control IE render mode for the Web Browser Control
  • How to interact with content inside of the Web Browser Control
  • How to build rich applications that use two-way communication between JavaScript components and FoxPro

Prerequisites: Some familiarity with COM, some familiarity with JavaScript, and some familiarity with HTML

Extending VFPPre-ConferenceMoving VFP Applications ForwardWeb and Mobile

Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Thursday, October 26, 1:00 - 4:00, Flagstaff

This session is the complete guide to VFP and the Web. What are the options? How are websites and web apps different? What skills will I need? How can I evaluate what I need for a specific project? What skills will I need to master? What are the main differences in desktop and web programming approaches? What is stateless and how does it affect my application?

More information and misinformation is available on this topic than almost any other VFP issue. This session takes you through the ABC's of VFP and the Web and clarifies everything from ASP to XML. We will discuss website connections, web applications, JavaScript, CSS, HTML, and just about everything else connected to the web—all from the perspective of a VFP developer.

You will learn:

  • Statelessness and callbacks: how to adjust your programming paradigm for the web
  • About different categories of what is loosely called "web connectivity"
  • What JavaScript, jQuery, Angular, JSON, Web services, MVP, ASP etc. are
  • What products like FoxWeb, West-Wind , AFP, ActiveVFP, FoxInCloud claim to do for VFP
  • The differences between "web" products, including features, costs, knowledge needed, and implementation time
  • How to evaluate third party vendors claims about working with VFP
  • What skills will be necessary or helpful for different types of projects
  • Criteria for selecting best approach for a VFP web application
  • Economics: financial feasibility and ramifcations of different platformsBasic VFP knowledge

Prerequisites: Basic VFP knowledge. Knowledge of website setup and basic HTML/CSS/JS helpful.

Extending VFPTaking Advantage of VFPX

Presenter: Doug Hennig
Level: All levels
When: Saturday, October 28, 8:30 - 9:45, Elliott (R1)
Sunday, October 29, 10:00 - 11:15, Elliott (R2)

The Project Manager is one of the oldest tools built into VFP, and it's been showing its age for a long time. For example, it doesn't provide integration with modern distributed version control systems (DVCS) such as Mercurial and Git, it doesn't have a way to filter or organize the list of items, and it can only work with one project at a time.

Project Explorer is a soon-to-be VFPX project that replaces the Project Manager with a modern interface and modern capabilities. It has all of the features of the Project Manager but adds integration with DVCS (including built-in support for FoxBin2PRG and optional auto-commit after changes), supports multiple projects within a "solution", allows you to organize your items by keyword or other criteria, and has support for easy "auto-registering" addins that can customize the appearance and behavior of the tool.

This session introduces Project Explorer and shows how it can make you more productive than working with the Project Manager. This session starts by going through the interface and functionality of Project Explorer, then looks at its internals to see how it's designed, and finally shows how to write addins that extend the functionality or customize the user interface.

You will learn:

  • How to use Project Explorer
  • How its integration with DVCS increases productivity
  • How to organize and filter your project items
  • How Project Explorer was designed
  • How to write Project Explorer addins to customize its behavior and appearance

Prerequisites: Experience using the VFP Project Manager

Extending VFP

Presenter: Toni M. Feltman
Level: Intermediate
When: Friday, October 27, 8:30 - 9:45, Flagstaff (R1)
Saturday, October 28, 11:30 - 12:45, Flagstaff (R2)

For a recent long term project I was afforded the luxury of having a true SQL Server DBA involved. In fact, my role as a developer isolated me completely from the production servers. Every interaction with the database had to go through the DBA before it went to production. This was a good thing because as SQL server has grown and advanced, I have lost sight with all of the ways to secure, monitor, and tune it. I was spoiled. Our DBA knew what he was doing and was a team player who worked well with the development teams.

Fast forward and our awesome DBA finds a different opportunity and leaves the organization. He is replaced with someone who is very inexperienced by comparison AND is not a team player. Suddenly systems that used to hum along nicely are crashing and somehow it is the developer's fault because the DBA has no clue how to monitor, tune, or secure the database.

This session will be a crash course in the bare bones basics of DBA level database tuning, securing, and monitoring. I hope that a few attendees can bring some of their horror stories to share.

You will learn:

  • How to recognize that your DBA needs help
  • Simple security techniques
  • Basic database monitoring tools and techniques
  • Database performance tuning

Prerequisites: Basic knowledge of SQL Server

Extending VFPWeb and Mobile

Presenter: Rick Strahl
Level: Intermediate
When: Friday, October 27, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 28, 5:15 - 6:30, Flagstaff (R2)

Web Sockets have been around for a quite a while, but usage of the technology in everyday applications has been surprisingly light. Web Sockets provide two-way communication over HTTP between a client and a server. Unlike standard HTTP requests, Web Sockets can push data to clients as data arrives and any active clients are immediately notified when an event arrives. It also allows for notifying many clients simultaneously via its hub and spoke model of event notifications. There are many use cases for this technology where real time communication is important and unlike Sockets of old, Web Sockets work over HTTP and are easily accessible over open HTTP connections. In this session we'll look at how Web Sockets work and a few concrete examples of how you can use this powerful technology to interface Visual FoxPro to external services.

You will learn:

  • What Web Sockets and tools like SignalR and Socket.IO do
  • How to create Web Socket clients and servers
  • How to connect a client to a server application and handle notifications
  • How to interface with SignalR via wwDotnetBridge

Prerequisites: Familiarity with Web Development and .NET

Extending VFPSolidifying VFP Development

Presenter: Tamar E. Granor
Level: Intermediate
When: Saturday, October 28, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 29, 10:00 - 11:15, Flagstaff (R2)

In many applications, you need to take nice, normalized data and turn it "sideways," using the values in one or more columns to specify columns in the result. Most often, the process also involves aggregating data for each of those values. In Visual FoxPro, the result is called a cross-tab; SQL Server calls it a pivot. Once you've created a cross-tab or pivot, reporting can be difficult because the result may have many, many columns.

In this session, we'll see how to generate cross-tabs and pivots, as well as how to report on them, including exporting to Excel and creating graphs of the results.

You will learn:

  • What a cross-tab or pivot is
  • How to create cross-tabs in VFP
  • Why FastTab is better than VFPXTab
  • How to perform pivots in SQL Server
  • How to report on cross-tabbed or pivoted data

Prerequisites: Some familiarity with SQL queries

Moving VFP Applications Forward

Moving VFP Applications ForwardPre-ConferenceExtending VFPWeb and Mobile

Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Thursday, October 26, 1:00 - 4:00, Flagstaff

This session is the complete guide to VFP and the Web. What are the options? How are websites and web apps different? What skills will I need? How can I evaluate what I need for a specific project? What skills will I need to master? What are the main differences in desktop and web programming approaches? What is stateless and how does it affect my application?

More information and misinformation is available on this topic than almost any other VFP issue. This session takes you through the ABC's of VFP and the Web and clarifies everything from ASP to XML. We will discuss website connections, web applications, JavaScript, CSS, HTML, and just about everything else connected to the web—all from the perspective of a VFP developer.

You will learn:

  • Statelessness and callbacks: how to adjust your programming paradigm for the web
  • About different categories of what is loosely called "web connectivity"
  • What JavaScript, jQuery, Angular, JSON, Web services, MVP, ASP etc. are
  • What products like FoxWeb, West-Wind , AFP, ActiveVFP, FoxInCloud claim to do for VFP
  • The differences between "web" products, including features, costs, knowledge needed, and implementation time
  • How to evaluate third party vendors claims about working with VFP
  • What skills will be necessary or helpful for different types of projects
  • Criteria for selecting best approach for a VFP web application
  • Economics: financial feasibility and ramifcations of different platformsBasic VFP knowledge

Prerequisites: Basic VFP knowledge. Knowledge of website setup and basic HTML/CSS/JS helpful.

Moving VFP Applications ForwardPre-Conference

Presenter: Doug Hennig
Level: All levels
When: Thursday, October 26, 9:00 - 12:00, Flagstaff

Even if you're planning to continue development in VFP, learning another language like C# can be very useful. There are some things that are a lot easier and faster to do in .NET than in VFP (the reverse is also true). This pre-conference session introduces the C# language, comparing it to constructs and syntax in VFP to shorten the learning curve.

You will learn:

  • How to create a project in Visual Studio
  • What strong typing means and the advantages and disadvantages over weak typing
  • The basics of C# syntax
  • How C# classes differ from VFP classes
  • How to create C# classes
  • About inheritance in C#
  • The uses of abstract classes and interfaces
  • What static classes and members are

Prerequisites: General knowledge of programming

Moving VFP Applications ForwardSolidifying VFP Development

Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 27, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 29, 8:30 - 9:45, Flagstaff (R2)

Remote Desktop Protocol (RDP) / Terminal Services has become a popular option for moving VFP applications to the "cloud". RDP's very thin client and Windows standardization make it an excellent platform, but running VFP applications over RDP requires some tweaks to the server and to the VFP application. In this session, we will review server side issues such as licensing and printing, and then VFP issues such as deployment, memory management, UI issues, security, and OLE access of outside programs such as MS Word.

You will learn:

  • History of RDP
  • Licensing RDP on a server
  • Printing on an RDP server
  • VFP memory management
  • Data security
  • UI issues
  • VFP printing commands
  • Accessing third party applications such as Word and Excel via OLE
  • Deployment recommendations

Prerequisites: Basic VFP knowledge

Solidifying VFP Development

Solidifying VFP Development

Presenter: Tamar E. Granor
Level: Intermediate, Advanced
When: Friday, October 27, 10:00 - 11:15, Elliott (R1)
Saturday, October 28, 3:30 - 4:45, Elliott (R2)

At first glance, the BindEvents() function may seem unnecessary. After all, why bind to an event when you can just write code in the event's method?

In this reprise of a popular session, we'll look at why BindEvents and its cousins, the Access and Assign methods, are so valuable. Using examples drawn from real applications, we'll see how event binding lets you do things you couldn't otherwise do, and simplifies code for other tasks. Examples include tracking user changes on a form, monitoring user activity, dynamic tooltips, and more. We'll also talk about the difficulties involved in debugging code that uses event binding.

You will learn:

  • How and why to use BindEvents()
  • How and why to use Access and Assign methods
  • How to debug when event binding is in place

Prerequisites: Some familiarity with OOP

Solidifying VFP Development

Presenter: Rick Schummer
Level: All levels
When: Friday, October 27, 11:30 - 12:45, Elliott (R1)
Saturday, October 28, 5:15 - 6:30, Elliott (R2)

The universe is designed to work against databases and database files. The electrical grid is aging and failing and each time a power outage happens, an angel loses their wings and tables are sure to get corrupted because users don't want to spend an extra hundred dollars for a battery backup. (Why is it that desktop computers don't come with one built-in like laptops?) If it is not our favorite electric company cutting the power, leave it to the users to turn off the computer in the middle of a table update. Hard drives have a mean time between failure statistic because hard drives regularly fail. Occasionally network cards or the wires glitch and next thing you know indexes are corrupt again. Surely if you can protect yourself from all the disasters waiting to happen, leave it to Microsoft to introduce problems with network and operating system protocols like SMB2 to make mince meat out of the normally stable data.

Depressing huh? But wait there is more…

Viruses attack computers and users regularly. Anti-virus software can protect against viruses, but also attack every day normal DBFs. Repeated requests to have IT not scan the data folder get ignored because it violates some policy, even though they forget to implement the “all data is backed up every day policy” too. Argh, is this only happening to my customers?

No worries, fixing "not a table" is pretty standard fare and easy to do with one of the many powerful fix-them-table tools.

And then comes along ransomware. Cryptolocker, CryptoWall, Locky, HydraCrypt, etc., etc. Users open an email with a resume because they have an open position, click a link to the online resume, and 15 minutes later their hard drive is encrypted along with all their application data on the server. Ooops. No worries, take the machine off the network and restore the backups. What? NO BACKUPS? All I can do is shake my head. I cannot make this stuff up. In fact, over the past few years, hardly a month goes by where my data fixing services are not required. Sometimes the customers win, and sometimes they lose.

This session is going to cover the various data corruption scenarios, tools to diagnose the problem files, concepts and ideas for fixing them, tools of the repair process, better backup solutions to avoid the worst case scenario, and how to have that heart-to-heart discussion with customers to avoid the data corruption as often as possible.

You will learn:

  • About real life stories and experience from the front line of support
  • Simple resolutions for index corruption
  • How to diagnose data corruption and Thor tools to help you
  • About different types of table corruption and how and when it can be fixed
  • Ideas for how to avoid corruption and how Visual FoxPro works with us and against us
  • About today's repair tool market place
  • Solutions to ultimately protect against data disasters

Prerequisites: None, but people with weak hearts might not want to attend.

Solidifying VFP Development

Presenter: Christof Wollenhaupt
Level: Intermediate
When: Friday, October 27, 8:30 - 9:45, Elliott (R1)
Saturday, October 28, 2:00 - 3:15, Elliott (R2)

Sometimes optimization means making things faster; sometimes it only means changing what you measure. Before you can optimize an application, you need to define what and how to optimize. If you find that you need to take out the slow parts, there are various tools that help you identifying those. We cover monitoring and coverage tools extended by an in-depth explanation of how to make sense of the results. We also talk about the right mindset and the problems you encounter when developers or customers lack this mindset.

You will learn:

  • How to use monitoring tools
  • What makes an application slow
  • How to debug more efficiently to understand testing results

Prerequisites: None

Solidifying VFP DevelopmentMoving VFP Applications Forward

Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 27, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 29, 8:30 - 9:45, Flagstaff (R2)

Remote Desktop Protocol (RDP) / Terminal Services has become a popular option for moving VFP applications to the "cloud". RDP's very thin client and Windows standardization make it an excellent platform, but running VFP applications over RDP requires some tweaks to the server and to the VFP application. In this session, we will review server side issues such as licensing and printing, and then VFP issues such as deployment, memory management, UI issues, security, and OLE access of outside programs such as MS Word.

You will learn:

  • History of RDP
  • Licensing RDP on a server
  • Printing on an RDP server
  • VFP memory management
  • Data security
  • UI issues
  • VFP printing commands
  • Accessing third party applications such as Word and Excel via OLE
  • Deployment recommendations

Prerequisites: Basic VFP knowledge

Solidifying VFP DevelopmentExtending VFP

Presenter: Tamar E. Granor
Level: Intermediate
When: Saturday, October 28, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 29, 10:00 - 11:15, Flagstaff (R2)

In many applications, you need to take nice, normalized data and turn it "sideways," using the values in one or more columns to specify columns in the result. Most often, the process also involves aggregating data for each of those values. In Visual FoxPro, the result is called a cross-tab; SQL Server calls it a pivot. Once you've created a cross-tab or pivot, reporting can be difficult because the result may have many, many columns.

In this session, we'll see how to generate cross-tabs and pivots, as well as how to report on them, including exporting to Excel and creating graphs of the results.

You will learn:

  • What a cross-tab or pivot is
  • How to create cross-tabs in VFP
  • Why FastTab is better than VFPXTab
  • How to perform pivots in SQL Server
  • How to report on cross-tabbed or pivoted data

Prerequisites: Some familiarity with SQL queries

Taking Advantage of VFPX

Taking Advantage of VFPXExtending VFP

Presenter: Doug Hennig
Level: All levels
When: Saturday, October 28, 8:30 - 9:45, Elliott (R1)
Sunday, October 29, 10:00 - 11:15, Elliott (R2)

The Project Manager is one of the oldest tools built into VFP, and it's been showing its age for a long time. For example, it doesn't provide integration with modern distributed version control systems (DVCS) such as Mercurial and Git, it doesn't have a way to filter or organize the list of items, and it can only work with one project at a time.

Project Explorer is a soon-to-be VFPX project that replaces the Project Manager with a modern interface and modern capabilities. It has all of the features of the Project Manager but adds integration with DVCS (including built-in support for FoxBin2PRG and optional auto-commit after changes), supports multiple projects within a "solution", allows you to organize your items by keyword or other criteria, and has support for easy "auto-registering" addins that can customize the appearance and behavior of the tool.

This session introduces Project Explorer and shows how it can make you more productive than working with the Project Manager. This session starts by going through the interface and functionality of Project Explorer, then looks at its internals to see how it's designed, and finally shows how to write addins that extend the functionality or customize the user interface.

You will learn:

  • How to use Project Explorer
  • How its integration with DVCS increases productivity
  • How to organize and filter your project items
  • How Project Explorer was designed
  • How to write Project Explorer addins to customize its behavior and appearance

Prerequisites: Experience using the VFP Project Manager

Technology and Business for the Developer

Technology and Business for the Developer

Presenter: Christof Wollenhaupt
Level: Beginner
When: Friday, October 27, 3:30 - 4:45, Elliott (R1)
Sunday, October 29, 11:30 - 12:45, Elliott (R2)

Learn how to automate various development and business tasks with FinalBuilder, a commercial automation tool from VSoft. This session introduces the product and its various concepts and shows cases of automating tasks such as scraping web sites for changes, FTP transfers, deploying scripts to multiple servers, and other development-related tasks.

We will cover the reasons why you want to automate tasks even when this initially requires more work and what the benefits are to the business owner, employees, and customers. We'll cover the structure of FinalBuilder projects, how to tackle an automation project, and how to test projects. We'll also delve into features like variables, action lists, control structures, error handling, per user configuration, and documentation. While the feature set of FinalBuilder is too extensive to cover in one session, we will look at the most commonly used actions and their configuration. As FinalBuilder is a commercial product, we will also take a look at licensing options and cost.

You will learn:

  • Automate repetitive development tasks with FinalBuilder
  • Automate business processes
  • Improve quality by eliminating human errors
  • Use repeatable processes to pick up work even years later

Prerequisites: None

Technology and Business for the Developer

Presenter: Rick Schummer
Level: All levels
When: Saturday, October 28, 10:00 - 11:15, Elliott (R1)
Sunday, October 29, 8:30 - 9:45, Elliott (R2)

Every session I have seen presented at conferences about making the move from corporate developer working for "the man/woman" to being an independent consultant and being "the man/woman" has been delivered through rose-colored glasses. Everything is unicorns and green grass on the other side of the fence. But you made the jump and made it a success and your business is growing or could be growing.

This session is a continuation from last year's session and is about more lessons learned, things to consider if you are an independent consultant or running a consulting firm, and things to consider if you think you want to be more than an independent one-person shop; you may learn that growing your business is not the right thing for you.

There are a few topics that were not covered last year like Rick's Rules to a Successful Business, knowing when and how to say "No", firing customers, home office vs. renting space, and the dreaded Impostor Syndrome.

The session is limited to 75 minutes and determining what is important to cover changes even as I continue preparing for the session. Certainly I want to cover recognizing the need for help, bringing on subcontractors and employees (attracting, interviewing, hiring and firing processes), managing teams, workload balancing, making sure customers are happy, and making sure the team is happy. What policies do you need with regards to "moonlighting" and flex hours? What benefits should you consider and how to administer them? Then there is the dreaded Employee Handbooks (do you need one) and keeping up with all the regulations government can throw at you that affect your business. Can one even find time to code anymore?

How do you even start to grow your company? Do you take the traditional route of getting more customers and more work from existing customers, buy other businesses, buy intellectual property, or pick some combination? In this session, you can learn from someone who has been there and got the t-shirt and scars to show for it. I'll discuss how I've used several techniques of growing the business, and some marketing brick walls and how to climb over them. I plan to discuss how even with the best of intentions, I overlooked some glaring problems when I purchased intellectual property from another developer and problems it triggered. I'll also discuss how I learned from those mistakes to do it right the second time.

So many lessons to share, so many lessons still to learn. Some may fit into this session and some might not. I hope others attending the session share their ideas too. I know an interactive session on this topic is sure to benefit everyone in attendance. I am open to suggestions in advance as well.

You will learn:

  • About a home office vs. renting space
  • About creating partnerships vs. going it alone
  • What Impostor Syndrome is and how to cure it
  • About government alphabet soup
  • About the importance of disaster recovery and business continuity
  • About marketing time vs. the “real work”
  • How to bring on the 1099 subcontractors
  • How to bring on employees (interviewing, hiring, and firing)
  • About buying Intellectual Property (IP)

Prerequisites: None

Technology and Business for the DeveloperWeb and Mobile

Presenter: Phil Sherwood
Level: All levels
When: Saturday, October 28, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 29, 11:30 - 12:45, Flagstaff (R2)

We're all used to using Google for searching the web. Have you taken advantage of all the other tools that Google provides for you to run and market your business? This session will explore some of the tools Google offers in addition to search. The great thing is that most of them are free!

In this session we'll start with Google Tag Manager and look at the benefits it gives you and why you should use it.

Next, we'll cover the Google Search Console and discover the information you can glean about your websites and how to use it for increasing your search engine optimization.

The bulk of the session will cover Google Analytics and the wealth of information available once you add it to your site. Using analytics you can see what pages of your site are getting the most traffic and which are bouncing visitors quickly.

There are other free Google tools we'll look at as time allows such as PageSpeed Insights. See what Google thinks about your website's page loading speeds and what it suggests for speeding them up.

Have you ever needed a way to put out a quick survey? Look no further. Google Forms is a great free app to send surveys to your audience or customers.

We'll just get to scratch the surface of what Google has to offer besides search but you'll leave the session with several ideas of how to put these free tools to work for you.

You will learn:

  • What Google Tag Manager is and why you should absolutely use it
  • What Google Search Console tells you about the websites you own
  • How to see what Google thinks about your website's page loading speeds and what it suggests for speeding them up
  • How to set up Google Analytics and what you should monitor
  • How to use Google Forms for quick surveys

Prerequisites: None

Technology and Business for the Developer

Presenter: Phil Sherwood
Level: All levels
When: Friday, October 27, 2:00 - 3:15, Elliott (R1)
Saturday, October 28, 11:30 - 12:45, Elliott (R2)

Facebook has over 1.7 billion active monthly users. Want to put your marketing messages where the eyeballs are? Look no further. If you're spending advertising money anywhere, you should be looking at Facebook.

In this session, we'll cover why you should advertise using Facebook and why it's a great time to get started using it for something other than a time waster.

<soapbox> If you're like me, you probably cringe a little thinking about using Facebook for business. I hate when businesses and ads encroach on some of the apps I use daily. But here's the thing... Facebook advertising is working very effectively for many businesses and we have to decide if we're going to let our emotions get in the way of making some sound business decisions. Do we really want to miss out on one of the best ways to advertise right now? </soapbox>

There are several moving parts to Facebook advertising. This session will cover how to setup your Facebook advertising account and the Facebook pixel. Then we'll look at Facebook audiences and how to define a custom audience for your ads. We'll go over how to retarget visitors to your website only with certain ads. Facebook ads have to have a certain structure and you get penalized if you do things wrong. We'll look at best practices for designing your ads and also look at how video ads perform compared to text and graphic ads. Then we'll cover how to set your ad budget and monitor how your ads are performing.

This session will be jam-packed with actionable info that you can take immediately to get started with Facebook advertising.

You will learn:

  • Why you should advertise using Facebook
  • How to setup your Facebook advertising account
  • What the Facebook pixel is and how to get one
  • What a Facebook page is and why you need one
  • How to create a custom audience for your ad
  • What is retargeting and how you can use it
  • How to set your ad budget and keep track of your spending
  • The formula for best performing ads

Prerequisites: None

Web and Mobile

Web and MobilePre-ConferenceExtending VFPMoving VFP Applications Forward

Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Thursday, October 26, 1:00 - 4:00, Flagstaff

This session is the complete guide to VFP and the Web. What are the options? How are websites and web apps different? What skills will I need? How can I evaluate what I need for a specific project? What skills will I need to master? What are the main differences in desktop and web programming approaches? What is stateless and how does it affect my application?

More information and misinformation is available on this topic than almost any other VFP issue. This session takes you through the ABC's of VFP and the Web and clarifies everything from ASP to XML. We will discuss website connections, web applications, JavaScript, CSS, HTML, and just about everything else connected to the web—all from the perspective of a VFP developer.

You will learn:

  • Statelessness and callbacks: how to adjust your programming paradigm for the web
  • About different categories of what is loosely called "web connectivity"
  • What JavaScript, jQuery, Angular, JSON, Web services, MVP, ASP etc. are
  • What products like FoxWeb, West-Wind , AFP, ActiveVFP, FoxInCloud claim to do for VFP
  • The differences between "web" products, including features, costs, knowledge needed, and implementation time
  • How to evaluate third party vendors claims about working with VFP
  • What skills will be necessary or helpful for different types of projects
  • Criteria for selecting best approach for a VFP web application
  • Economics: financial feasibility and ramifcations of different platformsBasic VFP knowledge

Prerequisites: Basic VFP knowledge. Knowledge of website setup and basic HTML/CSS/JS helpful.

Web and MobileTechnology and Business for the Developer

Presenter: Phil Sherwood
Level: All levels
When: Saturday, October 28, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 29, 11:30 - 12:45, Flagstaff (R2)

We're all used to using Google for searching the web. Have you taken advantage of all the other tools that Google provides for you to run and market your business? This session will explore some of the tools Google offers in addition to search. The great thing is that most of them are free!

In this session we'll start with Google Tag Manager and look at the benefits it gives you and why you should use it.

Next, we'll cover the Google Search Console and discover the information you can glean about your websites and how to use it for increasing your search engine optimization.

The bulk of the session will cover Google Analytics and the wealth of information available once you add it to your site. Using analytics you can see what pages of your site are getting the most traffic and which are bouncing visitors quickly.

There are other free Google tools we'll look at as time allows such as PageSpeed Insights. See what Google thinks about your website's page loading speeds and what it suggests for speeding them up.

Have you ever needed a way to put out a quick survey? Look no further. Google Forms is a great free app to send surveys to your audience or customers.

We'll just get to scratch the surface of what Google has to offer besides search but you'll leave the session with several ideas of how to put these free tools to work for you.

You will learn:

  • What Google Tag Manager is and why you should absolutely use it
  • What Google Search Console tells you about the websites you own
  • How to see what Google thinks about your website's page loading speeds and what it suggests for speeding them up
  • How to set up Google Analytics and what you should monitor
  • How to use Google Forms for quick surveys

Prerequisites: None

Web and Mobile

Presenter: Toni M. Feltman
Level: Beginner
When: Friday, October 27, 2:00 - 3:15, Flagstaff (R1)
Saturday, October 28, 3:30 - 4:45, Flagstaff (R2)

Up until recently I just didn't "get" how all pieces fit together when it came to Web Development. I knew and understood the basic fundamentals like HTML, CSS, Javascript, ASP.NET, and so on. What I never could fully grasp was how the pieces should be assembled. I read articles, watched videos, and even deployed a web site built upon a simple web framework that someone else wrote. I still couldn't make sense of it after following the step-by-step directions. It was not until I began to match up web techniques and components with things I had done in Visual FoxPro that I really started to understand.

This session will take you on a journey building parallel systems (a simple one) using both FoxPro and web technologies so that you can better understand how to build web applications using common architecture.

You will learn:

  • Basic web terminology and how it relates to Visual FoxPro terms
  • Using layers appropriately for various application types (Web Terminology = Layers)
  • How to quickly and easily build simple web applications using your Visual FoxPro experience
  • To understand how the web pieces fit together and should be assembled

Prerequisites: Basic understanding of web technologies such as HTML and CSS, and of various different type of objects in Visual FoxPro and how they can be used

Web and MobileExtending VFP

Presenter: Rick Strahl
Level: Intermediate
When: Friday, October 27, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 28, 5:15 - 6:30, Flagstaff (R2)

Web Sockets have been around for a quite a while, but usage of the technology in everyday applications has been surprisingly light. Web Sockets provide two-way communication over HTTP between a client and a server. Unlike standard HTTP requests, Web Sockets can push data to clients as data arrives and any active clients are immediately notified when an event arrives. It also allows for notifying many clients simultaneously via its hub and spoke model of event notifications. There are many use cases for this technology where real time communication is important and unlike Sockets of old, Web Sockets work over HTTP and are easily accessible over open HTTP connections. In this session we'll look at how Web Sockets work and a few concrete examples of how you can use this powerful technology to interface Visual FoxPro to external services.

You will learn:

  • What Web Sockets and tools like SignalR and Socket.IO do
  • How to create Web Socket clients and servers
  • How to connect a client to a server application and handle notifications
  • How to interface with SignalR via wwDotnetBridge

Prerequisites: Familiarity with Web Development and .NET

Post-Conference

Platinum Sponsors