Be careful what you ask for, you might actually get it.
This phrase illustrates what we will see when Microsoft releases Business Central Wave II this October where C/Side is removed in favor of Visual Studio Code, The Windows Client discontinued in favor of the Web Interface and the old Navision application is broken into two parts and very heavy refactoring has taken place.
For years, we as a community have been asking Microsoft to modernise NAV in order to be more attractive to young developers and move to modern development methods.
Wave II is the result of a plan that started execution many years ago and the managers who executed the plan no longer work at Microsoft. This is scary and in a series of blog posts I’ll illustrate the challenges you can expect as a partner when you try to move your solutions to this new platform.
Today I’ve analysed the impact of the refactoring done my Microsoft on the AppSource solution I’ve developed for ForNAV. The Customizable Report Pack. After my analysis Michael Nielsen and I carefully concluded that Microsoft in our estimates has broken 99,9% of all solutions on AppSource and each and everyone will have to go through a certain level of refactoring.
In the next few blog posts I’ll explain some of our challenges based on what I’ve found in the new System App that is publically available on GitHub. Our challenges with the new Base App are limited, but even if they were huge I think this is still under NDA and in private preview. Need to be careful here. Hopefully the BaseApp will be publically available by the time my posts reach this part.
Let’s get back to the title of the blog. This was not just there as click bait and I will elaborate on that.
Upgrading Navision has always be a challenge. I don’t think anyone in the community disagrees to call that the Achilles’ heel of our framework so when Microsoft management used this as a reason to change we do development in NAV not a lot dared to think about complaining here.
In the same time a our community started to rant that NAV development was not modern enough and they demanded change.
The idea was to make upgrading easier for both Developers/Partners and Customers. As long as partners would migrate their solutions to an extension life would be easy. If customers moved to BC-Cloud they would be upgraded automatically.
This has consequences that some might say are unexpected and others would clame “I told you so”.
From a partner perspective the first crack occured when Codeunit 1 was removed. Not a major change but enough to keep everyone busy and break most of the solutions out there. It made it especially hard on ISV’s that try to keep a codebase in synch with many NAV versions out there.
With this Fall release it becomes clear that there is no such thing as a free ride. For example this line of code will no longer compile:
CurrReport.LANGUAGE := Language.GetLanguageID("Language Code");
Which all of us will recognise as being present in 95% of all customers customized reports.
The first extensions on AppSource are already rated with 1 star by customers because they simply don’t work or are not easy enough to setup. For most partners the economic value of an extension is not high enough to justify the cost.
From a Customers perspective it’s also not all sunsine. Customers may have asked Microsoft for easier upgrades, but nobody ever anticipated that if you have a large company with for example multiple locations your IT department can never keep up explaining new features and changes to users. Many companies still struggle with (sometimes older) users who simply remember to click on the third button from the right and if that is suddenly the second button they can’t do their work.
I had this experience myself. I use Exact Online for my accounting. Not out of free will but because my accountant supports it and I have to pay extra to run other software. When I got back from vacation last week I quickly wanted to check my balances and the dashboard had been completely redesigned. A quick check that should have been seconds became 15 minutes and it was even full of weird errors.
On top of this hard to manage experience most Business Central customers I work with have customizations. Per-Tenant extensions. In some cases they have their own Invoice report with, yes, the line of code that will change the language.
These per-tenant extensions will break with Fall Update and the customers will be forced to pay the partner for the upgrade, where in the past they had the option to continue on the old code at least until off-season where they have time.
So all concluded I think it is fair to say the marketing people can stop claiming that the upgrade problem has been fixed. It’s not and in some ways it has gotten worse.
As said this is just the first post in a series. My head is totally full of ideas and stuff I want to share.
Business Central is still by far the best customizable ERP system. Some things are getting worse, some get better. I’m sure at some point in time someone somewhere in a corner office in Redmond will start realizing that effort needs to be put into the places where we are getting worse. I hope this series of blogs will help both partners and Microsoft move forward.