Volodymyr Dvernytskyi
Personal blog about Navision & Dynamics 365 Business Central
results count:
post cover

Platform to solve AL coding tasks tryal.dev

I would like to introduce my project, tryal.dev. It's a platform for solving a wide range of problems in AL, the Business Central programming language. Practice problems for Business Central developers: open one in your browser and start typing — no Docker container, no sandbox tenant, no server installation. And all of it is completely free! The main goal is to make learning AL simple and barrier-free.

My Story

Today is an important day for me: I have finally brought to life an idea that has been on my mind since 2022. The high barrier to entry for learning AL has bothered me for a long time. I ran into it firsthand while teaching newcomers, and I kept getting asked what I would recommend for learning AL.

Of course, my recommendations were fairly obvious: Microsoft Learn, books, blogs. But none of it felt complete, it was like throwing someone into a river without preparation and waiting to see whether they would sink or swim. It always seemed to me that an important piece of the puzzle was missing: practice and a plan.

I got curious: how do other programming languages deal with this problem? And is there even a problem at all? After some research of my own, I came to the conclusion that the problem is real, and it's solved with interactive learning platforms.

Just think about how much you need to know or be able to do before you can write your first "Hello, world!" in AL. You need to find out what Docker is and figure out how to install it. Then find out how to install the bccontainerhelper PowerShell module, which, by the way, is about to be replaced by something else. You will also need VS Code with the right extensions. All of this has to be configured correctly, and you have to work through whatever problems come up along the way. That's a huge barrier.

But even once you have done all that, what next? You need to figure out where to go and what to do. This is usually where more experienced colleagues (if you have any), books, or at least a Microsoft Learning Path come in. It sounds like something, but in reality this is the raging ocean where it's hard to row your way out on your own.

A lot has happened in my life over these years: a job change, a move, open-source projects, the usual stuff, really. And little by little, my vision for the project became clearer and clearer.

And of course, the rise of LLMs raised a serious question: is any of this even needed in the agentic era? Why learn a programming language at all when agents can handle so many programming tasks?

It took me some time to answer that question. During that time I was deepening my hands-on skills with AI and thinking it over. In the end, I came to the conclusion that knowing how to program matters even more than before!

The amount of code has multiplied thanks to LLM generation. And that code has to be maintained, which means it actually has to be read, not just during code review, but later, during support. To read code, you need to understand it at least to some degree, and to understand it, you also need to be able to write it.

That's why I firmly believe that in the agentic era, a human's ability to verify what AI generates is critical, and human oversight is what makes the result qualitatively better.

And really, what are LLMs for, if not to help us in our work? Isn't all of this being developed for the good of humanity? Yes, of course, the programmer's skill set will be transformed, and in the end we will have to adapt to a reality where specialists read more code and write less. That's exactly why my approach is to build the skills that will be needed in the future, rather than reactively waiting for the changes to reach you.

Solution - tryal.dev

The solution I am proposing is tryal.dev. For the past year, I have been actively working on building a platform for solving AL problems right in the browser. It lowers the high barrier to entry for newcomers and gives people a chance to get hooked on programming in Business Central.

tryal.dev MainScreen.png

But that's not all. In fact, even experienced developers may find the project interesting. Personally, I enjoy working through all kinds of problems, and I'm always glad to have hands-on exercises to raise my level — or simply because I like it. On top of that, many developers who worked with older versions of Navision may have vast experience in C/AL but none at all in AL. The difference isn't that big, yet they face a barrier of their own: for many, it's hard to just switch their approach and habits from C/AL to something new.

On top of that, the problems are grouped by difficulty and topic, so you can improve your knowledge in specific blind spots. Not quite confident with collectible errors, for example? Work through a few problems on collectible errors and level up your skills and understanding.

Essentially, it's a useful tool for a developer's growth, and possibly even for interviews.

You can pick a problem you're interested in from the list and start solving it right in your browser. The site has a VS Code like code editor with similar syntax highlighting and IntelliSense-style autocomplete.

tryal.dev problem list.png

Essentially, the experience in the browser will be very close to the real experience of writing AL in VS Code.

tryal.dev Code Editor.png

Every problem comes with a description and requirements, links to the relevant Microsoft Learn documentation, and a unique set of tests that verify your solution is correct. You can check whether your solution compiles, or submit it to be run against the tests. You can also see the history of your attempts, the tests themselves, and even join the discussion.

If a submission or compilation fails, you will get a detailed description of the error and of the tests that didn't pass.

tryal.dev Detailed err message.png

There's also a very useful Reference page, where you can find and explore the code of any Business Central object from the version the platform is currently running on. A built-in version is available right on the problem page too, with working lookup: Ctrl+Click or F12 on any object or function from the standard library (in code editor).

tryal.dev reference.png

I have also added a Leaderboard page that shows the profiles of the most active users. The number of solved problems is the deciding factor in the score, though the number of attempts and AL compiler warnings have a small effect as well.

tryal.dev leaderboard.png

Your profile will show more detailed statistics about your progress.

tryal.dev profile.png

Open-source

I would like to introduce a repository with more than 210 diverse AL problems and their tests. Every problem has a solution, and the tests verify it. And I am publishing all of it as open source under the MIT license.

https://github.com/tryal-dev/tasks

Anyone can add their own problems to the repository, and they will make their way onto the platform. If you spot a poor description or a bug, you can also open an issue or a PR to fix it.

The main goal of publishing the problems as free open source is, of course, to contribute to the growth of the Business Central ecosystem. I hope this move will help the existing community of AL developers and open the door to the growth of Business Central as a whole product.

Maybe it would be a good idea to use these tasks for some AI agent benchmark, but I'm not sure, since they're more for educational purposes and agents could solve them easily. I will look on this opportunity in the future.

Q&A

Q: What is the goal of the platform?

A: The main goal is to make learning AL simple and barrier-free. Anyone interested in learning can start using the platform today — whether you're a junior developer, a senior developer, or even a functional consultant, there's a lot to learn here. A secondary goal is to help candidates and companies during the interview process.

Q: Is the platform free?

A: Yes, the platform is completely free. A Pro subscription is available but not required. Either way, every subscription helps a lot — it keeps the servers running, funds improvements, and is a great way to show your appreciation for the project.

Q: Is it vibe-coded?

A: No. In fact, a senior full-stack web developer worked with me on the team and handled the site on both the frontend and backend side. I also hired freelancers for various pieces of work on the project. That said, AI agentic assistance was used in some parts of the project — for example, the site's visual design was created and polished with Claude Design and used as a reference while building the project.

Q: Why learn AL, or any programming language, in the age of AI?

A: The answer is quite simple: to verify what an LLM generates, you have to read the code. To read code, you have to understand it, and to understand it, you need at least a basic grasp of programming principles and the specific syntax of the language. So knowing a programming language is even more essential in the age of AI than it was before — and the amount of code that needs to be read has grown enormously.

Q: I found a bug or have an idea. Where should I go?

A: The support page lists the ways to reach us — you can email support or open a GitHub issue with your request.

Q: Is this a long-term project?

A: Yes. This is a long-term project, and it will be maintained and supported for a long time to come.

Summary

I hope the community finds this platform interesting and that it helps Dynamics 365 Business Central developers grow. I would be glad to hear any feedback you have about the project. I really want to hear your thoughts, whether to improve the platform or just to have a good discussion.

https://tryal.dev/

https://github.com/tryal-dev/tasks

Back to top