Microsoft PowerApps: finally!

Today the official announcement of something cool that was in the air from a long time and that closes the gap between Azure App Service and the real world: Microsoft PowerApps.


Microsoft has announced its latest application development solution for businesses, to easily create and share apps for iOS, Android and Windows, in an easy-to-use β€˜Office-like’ suite. Microsoft PowerApps has been designed for the business market, and speeds up application creation and distribution via a range of specialist tools.

Microsoft PowerApps allows businesses to integrate existing services and systems into applications, without the need for highly-skilled programmers. Multiple cloud and in-house data sources can be integrated with apps created using the service, taking advantage of dispersed company data. This can streamline data from multiple systems, into a single PowerApp solution.

As clearly explained today by Scott Hanselman:

PowerApps is the business application creation side. Think of it as a new member of the Office Family. It’s not a Visual Studio thing. Apps made with PowerApps are sharable with in your organization as easy as sharing documents and they run on Windows, Android, and iOS. A business user could build a new workflow app and share it with everyone. They can auth that new app against APIs like Office 365, Microsoft Dynamics, Salesforce, Dropbox, Twitter, Google Drive, and OneDrive. For example, my example app takes photos of the bricks and puts the result in Azure Storage, but I could just as easily drop them in Google Drive or OneDrive.

However, for Visual Studio developers, or any developer, you still use the language of your choice (C#, F#, node.js, PHP, etc) and write Web APIs and Apps and host them in Azure App Service as you always have. But, if you want, those APIs can live in a new gallery that is specific to your organization so that anyone in your org (developer or business user alike) can use in their applications.

I think that you can easily imagine the power and the opportunities. So cool!


.NET Core and ASP.NET 5 RC available for production

Exciting news are coming from Connect() 2015 event. All is well summarized here, but I want to put in evidence a revolutionary news:

.NET Core and ASP.NET 5 are now RC. They are ready for you to start building web apps and services with ASP.NET 5. You can build apps and services that scale, that work on-premise and in the Cloud and that can be run on Windows, Linux and OS X. .NET apps are portable. You can take an app running on Windows and move it to Linux, or vice-versa, without code modification.

I’m sure that you can you imagine how this is so cool…

NAV 2016: a little web client feature to have everywhere…

With NAV 2016, Microsoft has improved a lot the Web Client, starting from the startup time (now very fast!) to the new keyboard facilities and the new UI features. Now you have really a first-class desktop experience!

But there’s a little feature that is really well implemented: hide/show columns (yes, now it’s possible also on the web client!).

If you want to hide a column on the NAV web client, just right click on it and click Hide Column:


If you want to add columns to the view, just click on Choose Columns and you can quickly select the columns you want:


I think that it’s a very quick way to handle the hide/show fields feature, better than how the same feature on the Windows Client is handled.

Request: Why not using the same way also on the NAV Windows Client? πŸ™‚


The SQL Authentication return with NAV 2016.

As you know, in previous NAV versions (3-tier) you can access the system by using 4 different authentication types:

  • Windows
  • UserName
  • NavUserPassword
  • AccessControlService

A thing that I think is passed under the hood in these days is that now NAV 2016 supports also the SQL Authentication.

Configuration for this authentication type is a bit tricky but you can find all the details here.

An idea/suggestion: NAV Windows Client via Azure RemoteApp

This is an idea that’s rolling on my mind from a lot of time… Why Microsoft not provides a deploy of the NAV Windows Client via Azure RemoteApp?

Azure RemoteApp is a wonderful service provided by the Azure platform that permits you to run Windows applications “as a service” and permits to access the published app anywhere and on any platform.

In these days for example I’ve played with RemoteApp and IE11 (Microsoft has published it on Azure) and I was able to run IE11 on my MacBook exactly as I was on my Windows machine.

Having the NAV Windows Client published as a RemoteApp on Azure will permit everyone to have a “cross platform” NAV desktop client. You could for example turn on your Mac, join the RemoteApp session, start the NAV Windows client and run it on Mac OS exactly like on Windows.

Sounds interesting? For me a lot…

NAV 2016 and TryFunctions: epic fail?

When I was at Directions EMEA some weeks ago and for the first time I saw a brief explanation on how the new NAV 2016 TryFunctions works, I was a bit surprised: if an error occours inside a TryFunction function, the transaction is not rolled back!!! What a monster!!

My first think: “this cannot be true, there’s a rule that says that transactions must always be consistent. I’m sure I’ll not well understood all… I’ve to read more about them!“.

But now?

Unfortunately, all was true! 😦 this post has cleared my mind definitively.

Microsoft itself inside NAV 2016 uses a trick to prevent transaction inconsistency due to a TryFunction errors by using the new C/AL function CONSISTENT:

In summary, the record is marked as inconsistent as default, and it becomes consistent ONLY if the TryFunction works without errors. For me this is so bad…

I’m sorry to say that but I think that actually the new TryFunctions can be used only to handle errors when you don’t have to work with records (for example when you work with .NET variables or others). Never use them when you have to work with records!!

Transaction consistency is a must and the actual TryFunction implementation is for me incomplete or at least is a great door opened for errors… Not good!

Hey NAV Team, why not review the implementation on a future NAV 2016R2?

Microsoft Dynamics NAV 201X: my desiderata…

NAV 2016 was launched 5 days ago and it’s really an exciting release. Microsoft has lots and lots of plans on NAV (in the past days we had the pleasure to talk about that with the Dev Team) and you could be sure that in the next years you will see a really more powerful platform.

So, why not writing a brief note about my desiderata for NAV 201X? Maybe someone of the NAV Team a day will listen to me… πŸ™‚

This is what I would like to see in a next release (not too much long in time please):

  • C/AL editor and Object Designer integrated into Visual Studio.
  • Dynamic object creation in code, exactly like create a class in C#
  • Overload of functions in C/AL: I want the possibility to write 2 functions with the same name but different parameters.
  • New C/AL functions that can be launched in async mode
  • A real multitasking Windows Client: I want to have a long running process in progress (like a ProcessingOnly report) and then continue to do other things on NAV without problems.
  • Offline capabilities on the phone and tablet client
  • Native Source control

Will it be possible? πŸ™‚