Access DevCon Vienna 2023 - Day One Recap

A brief recap of the six sessions on Day 1 of Access DevCon Vienna, the premiere annual English-speaking Microsoft Access global conference.

Access DevCon Vienna 2023 - Day One Recap

Another installment of the world's largest English-speaking Access developer conference–Access DevCon Vienna–is in the books.

As always, conference organizer Karl Donaubauer and fellow moderators Peter Doering and Philipp Stiefel put together a professional experience from beginning to end.  A lot of work goes into pulling off an event like this, from lining up speakers, promoting the event, registering users, collecting fees, scheduling test sessions for speakers and attendees, providing live technical support, keeping the sessions running on time, troubleshooting technical problems before and during the conference, gathering giveaways, moderating questions in the chat, and generally maintaining good order.  

The highest praise I can offer is that these three make all of that complexity look easy.  And I'm sure it's anything but.

Without further ado, here's a brief recap of the day one sessions.  I'll cover day two in a separate post and provide follow up posts for individual sessions in the future.

Dataverse

Presented by Ynte Jan Kuindersma

I already knew that I was not in Microsoft's target audience for Dataverse.  

It's clearly been built with their Enterprise customers in mind.  However, Ynte Jan did a good job of helping us understand why certain customers do find it to be such a compelling solution.  He works in a large European bank.  

One of the key selling points for Dataverse is its borderline-neurotic implementation of security, auditing, and compliance features.

Ynte Jan showed us all of the hidden fields that get added to a table when it gets migrated to Dataverse–fields that include information regarding who created the record, when it was last updated, etc.  Additionally, there are just as many services and portals to manage the governance (data access, audit logging, etc.) of the tables in Dataverse as there are to manage the data itself.

Based on this support, his bank made the decision to move all of their data into Dataverse.

Licensing is still confusing and can swamp the budget of a small or medium sized business.  Dataverse for Teams is a more budget-friendly option, but still does not make sense as a migration target for Access applications.  

In the end, while Ynte Jan did a superb job presenting the topic, it only solidified my belief that it does not make any sense for me or my clients.

Defensive Programming

Presented by Mike Wolfe (25-minute session)

If you're a long-time reader of this blog, you probably didn't see much new material in this session.

The presentation was largely based around my assertion that Some Bugs are Better Than Others.  Additionally, I claimed that a large portion of defensive programming is merely an attempt to move errors up the list from the bottom where the errors are hardest and most expensive to fix to the top where the errors are easiest and least expensive to fix.

  1. Syntax errors
  2. Compile errors
  3. Misunderstood requirements (before you start writing code)
  4. Automated test errors (i.e., failing tests)
  5. Runtime errors
  6. Misunderstood requirements (after you've written the code)
  7. Logic errors

I also expanded on my Spinning Plates metaphor.  I used that to explain how the need to load context into your brain before you can debug or refactor code is one of the main reasons why bugs at the top of the list are easier to address than those at the bottom.

twinBASIC Update

Presented by Mike Wolfe (25-minute session)

The second half of my double-header was a twinBASIC update.

I gave a brief overview of the project for any new attendees, but spent most of the time demonstrating some sample tools built with twinBASIC and discussing future integration plans with Access.  The sample tools were VBIDE add-ins built by my high school intern, Jonah Legg.

  • Module Explorer: a replacement tool for the Project Explorer pane
  • Code Pane Tabs: a tab-like interface to make it easier to navigate open modules
  • NLS Mentor: a VBA "Copilot" proof of concept that uses AI to generate procedure header comments

I also spoke about Wayne's future plans for integration with Microsoft Access, including eventual support for linked tables, automatic migration of forms and reports, and a reimplementation of the Jet/ACE Expression Service.

Access Updated

Presented by Dale Rector, Sachin , Courtney Owens, Joe Jimenez

Dale Rector–the current product manager/technical lead for Microsoft Access–introduced the rest of the engineering team (minus Shane Groff).  The team members then took turns giving updates on the features for which each of them is primarily responsible:

  • Sachin Arunkumar: VBA Code Signing
  • Courtney Owens: Dataverse and In-App Messaging
  • Joe Jimenez: Modern Edge-based Browser Control
  • Dale Rector: Future priorities (larger cap on open tables in ACE, LAA, large-monitor support for forms, improvements to modern charts, and an updated SQL editor)

I will be diving into the specific updates they provided in a separate post.

Documentation

Presented by Jeff Conrad

Former Access MVP and current Microsoft employee, Jeff Conrad, gave a fascinating talk on what goes into managing and maintaining documentation for a huge product (the Microsoft Office suite) at a huge company (Microsoft).

It was an eye-opening tour behind the scenes where workplace politics; unexpected team segmentation (e.g. support.microsoft.com vs. learn.microsoft.com); seldom-considered requirements such as accessibility, localization/translation, etc.; and the sheer enormity of the task offered insight into why we our interactions with official documentation can be so frustrating at times.

We also got a peek at some of the metrics Jeff and his team use to improve documentation, as well as a description of the tool they use to manage everything.  

This was unexpectedly one of my favorite topics of the conference.

Northwind 2.0

Presented by Tom van Stiphout and Kim Young

The original Northwind database template was more an example of what NOT to do in an Access application rather than the collection of best practices it should have been.

When a group of Access MVPs first proposed the idea of redoing the Northwind database template, I knew that anything they put together would have been an improvement over the existing dreck.  What I did not expect was how MUCH better the new version would be.

The new template ended up as two different templates with two different target audiences:

  • Starter Edition: a minimal VBA version aimed at Office power users
  • Developer Edition: a showcase of many advanced techniques aimed at professional Access developers

Based on the DevCon audience, Tom and Kim focused on the Developer edition which included such advanced features as:

  • multi-instance forms
  • custom ribbons with dynamic dropdowns populated via callback functions
  • a class module-based custom error handler
  • a string table and function supporting .NET-style String.Format replacement
  • context-sensitive help
  • a feature table showing how to navigate to each feature via the Access ribbon
  • and much more

The new templates began rolling out on Wednesday, April 26, 2023.  You can find them in current versions of Access by going to File > New.  The templates rolled out to U.S. users initially, but should begin appearing for international users soon if they are not already available.  

If you don't see them or you are on an older version of Access, you can download them directly from the "Featured Access templates" page:

Featured Access templates - Microsoft Support
Analyze and store large amounts of information, and manage data more efficiently with Access database templates available for download.

All original code samples by Mike Wolfe are licensed under CC BY 4.0