Looking Back at 10 Years Ago

Following the popular trend, join me in taking a look at what was going on 10 years ago in the world of “pre-Business Central”. It was a pivotal moment when Project Madeira was introduced, as technology was advancing faster than ever. Check out the video:

https://youtu.be/4rOCI8TuxgE

In this video, Erik takes us on a nostalgic journey through his blog posts from 10 years ago — a period that turns out to be the very birthplace of what we now know as Business Central. From the days of NAV 2016 and Internet Explorer 7 quirks to the first public preview of “Project Madeira,” this retrospective reveals just how far the platform has come, while highlighting some themes that remain surprisingly relevant today.

The World of NAV 2016

Internet Explorer 7 and Control Add-ins

Ten years ago, the ecosystem was built on NAV 2016. One of the early frustrations was that the RoleTailored Client, built on .NET, would default its embedded browser engine to Internet Explorer 7. This was a major headache because most modern web content at the time required at least Internet Explorer 10 to render correctly. Erik’s workaround involved writing .NET code to set registry keys that would force the embedded browser to use a newer version of Internet Explorer — a trick that was essential for anyone working with control add-ins at the time.

Azure SQL: Ahead of Its Time

When asked by a friend how to deploy a new NAV 2016 installation, Erik’s short answer was: use Azure SQL. Looking back, he admits this might not have been the best advice at the time due to latency issues. However, the key advantage — automatic backups — is something Business Central users enjoy today and was genuinely hard to replicate with on-premises SQL Server without purchasing additional backup software and licenses. The seeds of the cloud-first approach were already being planted.

Legacy Fields and Technical Debt

In a classic rant that still resonates, Erik called out the presence of a “Telex Number” field on customer records. Telex was a pre-fax technology — essentially a typewriter-to-typewriter modem connection. Having that field persist for decades in the application was a symptom of accumulated technical debt. And as Erik points out, similar oddities still exist today. For example, Canadian bank layouts still contain a field for a Danish-specific bank format called “Giro Bank” — a curious artifact that has no business being there.

The Code Editor Saga

NAV 2016 (or possibly 2015) introduced a new code editor to replace the one that had been around since the Navision Financials days in the mid-1990s. The new editor shipped with significant issues, many of which were never fixed. Erik’s “to-do list to salvage this editor” was characteristically blunt, with item one being simply: “Learn the language.” For those who couldn’t tolerate the new editor, there was an option to revert: a setting called “Use Old Editor” that brought back the familiar classic version.

The Birth of Project Madeira and AppSource

AppSource Announcement

Ten years ago, Microsoft sent out emails outlining plans for extensions on AppSource. The message was clear: AppSource would be the marketplace where you buy extensions for “Project Madeira.” Erik notes with amusement that the emails contained numerous typos (“progex experience”) and that while he still has his blog posts documenting these announcements, Microsoft has since deleted the original sources.

First Public Preview of Project Madeira

One of the most significant moments captured in these blog posts was the first public preview of Project Madeira — the cloud-based ERP system that would eventually become Business Central. Erik’s original description captures the excitement of the moment:

“Today we got the first public preview of Project Madeira, a cloud-based ERP system highly integrated into the Microsoft cloud world. Madeira has its roots in Dynamics NAV and carries 30 years of accounting knowledge built in with an impressive technology stack. NAV has always been able to detach business logic from technology, and this has enabled Microsoft to move the NAV application into the cloud. The result is Madeira — not quite NAV, but a version of NAV tailored to a cloud-first, mobile-first world. It runs in the browser and as apps on Windows 10, iOS, and Android phones and tablets.”

The early screenshots showed a simplified Role Center, customer and item lists, assisted setup wizards, extension management, and even some early apps from partners like Investnet, Yodlee, PayPal, and QuickBooks.

The Naming Confusion

This era was plagued by naming confusion. Over the course of these blog posts, the product went through multiple identities:

  • Project Madeira
  • Dynamics 365 for Financials
  • Dynamics 365 Business Edition
  • NAV 2017 (the on-premises version)
  • Eventually: Microsoft Dynamics 365 for Finance and Operations, Business Edition (an absurdly long name)
  • And finally: Business Central

Functional Programming and Code Quality

Erik was already advocating for better coding practices a decade ago. He wrote extensively about functional programming principles applied to NAV development. The core message, which remains valid today, was simple: don’t use global variables if you don’t need them.

The widespread practice of creating global variables for everything introduced unpredictable scenarios and made code extremely difficult to test. This was a precursor to the modern AL development best practices that the community follows today.

The Open Source Conundrum

Erik raised an interesting philosophical point about NAV and open source that he admits he’s still talking about 10 years later. The argument: you can call something “open source” (like the Base App and System App, which are under the MIT license), but if it requires a closed-source environment to run — and even the API layers aren’t open source — then the “open source” label rings hollow. It’s a discussion that continues to this day in the Business Central community.

Practical Tools and Workarounds

License File Extraction

One pain point that persisted for years was the inability to download a license file from SQL Server after uploading it. There was simply no built-in mechanism for this, and people frequently got into trouble when they needed their license file back. Erik created an open-source tool to extract license files from SQL Server — a utility that’s apparently still available on GitHub 11 years later.

Timer Control and Ping-Pong Add-ins

When the traditional timer functionality was removed from NAV 2015 and later, developers needed a replacement. The solution was the “ping-pong” add-in pattern — using JavaScript-based control add-ins to create timer functionality. This same technique, adapted for AL, is still used in Business Central today.

Shortest Possible Embedded Power BI Example

Frustrated by overly complex and hard-to-follow Power BI embedded examples, Erik wrote what he called “the shortest possible embedded Power BI example.” Despite the name, it was still fairly lengthy — but it became one of his most referenced blog posts, used by many developers integrating Power BI into their NAV solutions.

Windows Phone: A Stockholm Syndrome Story

In a candid and humorous aside, Erik confesses to being a longtime Windows Phone user — specifically the Lumia 950 XL — well past the point where it made sense. He even has a screenshot of Project Madeira running on a Windows Phone, noting with surprise that the icons actually looked better than some current ones. When NAV 2017 dropped Windows Phone 8.1 support, it was the beginning of the end. As Erik puts it: “This was clearly a Stockholm syndrome thing where I should have just switched to something else a long time ago.”

Preparing for the Future: Extensions Version 1

The Strategic Approach

Erik’s advice to NAV developers at the time was prescient and proved correct:

  • Start using events — don’t modify standard objects
  • Design around the core instead of modifying it
  • Use web services to handle scenarios where you would normally use .NET interop
  • Preserve NAV’s way of doing business

ISVs and vertical solutions that adopted this approach were among the first to successfully publish on AppSource and Business Central. Those who didn’t were late to the party and struggled with the transition.

A Hybrid Extension Strategy

Working at eFocus on the banking solution “Focus Finance,” Erik’s team made a strategic decision: the new version would run as an Extension Version 1 on NAV 2017. This meant no modifications to standard objects — only events, table extensions, and page extensions. They used creative techniques like RecordRef to access standard tables at runtime to work around limitations.

The result was remarkable: from a single source code base, they could release the app as an Extension Version 1, as a hybrid extension, or as traditional FOB/TXT files. This approach was a direct predecessor to the Extension Version 2 model that all Business Central developers use today.

The NAVTech Summit and the “I Love NAV” Booth

On the community side, Erik and colleagues started the “Medic Station” (also known as the “I Love NAV” booth) at NAVTech Summit. They dressed up in doctor’s robes and diagnosed attendees’ NAV problems, coming up with solutions on the spot. It was a memorable community event that embodied the collaborative spirit of the NAV/Business Central ecosystem.

Conclusion

Looking back 10 years provides a fascinating perspective on just how much has changed — and how much was already taking shape. The technology shift that the entire Business Central community is now fully aboard started a decade ago with Project Madeira, AppSource, Extensions Version 1, and the push toward cloud-first development. Shortly after this period came NAV 2018, Extension Version 2, VS Code, AL language, and the eventual rebranding to Business Central. The principles Erik advocated — event-driven design, avoiding modifications to standard objects, embracing the cloud — turned out to be exactly the right path forward. It’s a good reminder that staying ahead of the curve often means making strategic bets years before the rest of the industry catches up.