This guest post is by Resco MVP Jens Grambau
When we look at the Dynamics 365 world and different types of mobile application development, there are various approaches to consider. Especially when it comes to developing a mobile application that should do things like let people work offline or with low bandwidth, provide them the right type and amount of data every time, let it look cool and modern, and of course, make it simple.
In my career, I‘ve often been asked: “Which technology should we use when we want to enable employees to use their mobile phones or tablets and stay connected with Dynamics 365?”
Well, there is no simple yes-and-no answer.
Different approaches like native development, framework/platform-based, or custom web-based development have advantages and disadvantages. Especially when it comes to discussing Resco Mobile App Development Toolkit and Power Apps in my technical area of D365.
I know there are more options out there, but I work with two of them daily. I will share a little bit of my experience and personal views on those two great technology platforms.
Resco and Power Apps
Resco is easy to set up in your Dynamics 365 environment, and you can start with your app right away, either by using templates or building it from scratch with the easy-to-use configuration tool. That, in principle, works similarly to the model-driven approach for Power Apps.
Unless you need deep development knowledge or have specific requirements, both options show their strengths. If you start creating some logic in the app, you have a solid and feature-rich rule engine on the Resco side where you will still be able to create complex logic, buttons with functionalities, and row scripts without using any code or code snippets.
One good example was a project requiring the implementation of specific rules to create a new record and prefill the data (fields) from many related records based on several criteria. Although this might sound straightforward, it wasn´t a question of simple conditional logic. It was much more.
Using many fields, navigation tabs, and hidden fields on the form supported by different rules, onLoad, onSave, onChange variables, the rule engine’s full capabilities, and supporting buttons enabled the project team to fulfill this with the out-of-the-box features of Resco Mobile App Development Toolkit.
Typically, this would need development, and performance would be one of the concerns. I can say that as a user, you see no difference between this “complex” form and another standard one.
And yes, when you work with Power Apps, you can use business rules, workflows, and flows (Power Automate). You can easily add other data sources in your environment to create flows you want to run while doing a separate thing in the mobile app. But in the offline case, some of the flows in the cloud will not be executed.
The offline use case
This leads me to one of the key differences between the solutions. In the case of being offline, you have a lot of possibilities to define the synchronization filter on a very detailed level in Resco.
It can take care of the cases where you have a hierarchy of records that you need to have access to whenever you need them.
In the past, I worked on a project with the requirement to work fully offline. We needed to synchronize a specific set of related records and sync back the edited and the new ones, including mobile reports.
The tricky part was reducing the number of synced records from a million to, let´s say, 150 we needed. This was possible due to the capabilities of the sync filters – the initial load under 3G connection took approximately less than a minute and a “delta” sync less than 30 seconds.
Time to market and development speed
Another difference is the time to market. You can build a fully functional, offline-capable app within a short time frame and use it as the base until you add specific processes or even coded parts, which can be used in the hybrid or fully custom mode in Resco.
Another example is the fast development of a working proof of concept (PoC) app. The requirement was to replace an old legacy application for desktop/laptop devices with a new mobile application for phones.
The entire project took half a year, including business process reengineering, scoping, etc. Still, we developed the first working app within 3 days, including a big part of the complex synchronization mechanism.
Reporting
Reports are another hot topic which is very important to customers. If you have the data at hand, you can create a feature-rich and nicely designed report right on your mobile phone or tablet.
Again, you can do this very easily on both mobile platforms. With the circumstances I described before, Resco delivers a more feature-rich report editor where you can again use the rule engine and design features.
Signing off reports directly in the field
From previous projects, I can tell some good insights where users needed to have the possibility to create mobile reports, in offline or online mode, for their customers to be signed off.
One of the requirements from a customer in the field was to sign off a job. As we already have a good example, most likely a PoC report, we could implement this report within 2 hours with rules, repeaters, fields from different entities (nowadays also known as tables), and a branded design.
I remember that day as one of the team members said “And when did you build this?” Well, we did it today (8h). The team member was amazed at what was possible with Resco Mobile Reports.
Usually, when I get the requirement to create reports in Dynamics 365, I use other third-party/ISV solutions.
Building complex reports
Another requirement was to build a complex report using a repeater. You can imagine how many stages we have had to receive the correct data of the original record and all the related ones based on several criteria.
The business benefit is that a user can use reports directly from very simple to highly complex ones and in the same way the administrator can create and design them in one single tool and can test them more or less just in time.
Well, that took a little longer to build, but it was achievable with the report rule engine and the help of Resco, where we also had the chance to deliver feedback to Resco to extend the capabilities of the reports and its engine.
The business benefit is in this case that users can put complex data structures into a report on different criteria. Imagine an invoice with many different lines (prices, quantity, details) dependent on specific criteria like location (currency), selected items and related data.
With the model-driven or canvas app approach, you can do the same or similar things, create a fully custom-built app based on Dataverse/Dynamics 365, build it as you wish with the necessary low-code skills, and even extend it with many custom parts.
The difference from my point of view is that you will soon need low-code capabilities, so really some coding skills to get to the same stage when you use a model driven/canvas driven approach.
Which one to choose?
So, you might see there is no 100% choice I can suggest to you for one of the tools as it all depends on the circumstances from where you start:
- What module of Dynamics 365 is already in place?
Vote: Depends on current solution and strategy
- What kind of solution is already in place? (I mean the customized ones)
Vote: Depends if you already have Resco in place or not? Are you custom by standard or fully custom?
- What is the ultimate goal of the mobile app? (Offline scenario, multi-app solution, stay out of the box and standard, or go custom)
Vote: Heavily custom… for Resco
- Do you use an older version of Resco Field Service App which was already customized?
Vote: Resco Field Service+
- Do you already have a highly customized Model/Canvas driven app or Resco app?
Vote: Power Apps
- And much more elements come into consideration…
Obviously, I can recommend what you can or should do in some cases, but in others, the specific scenario needs to be analyzed and discussed.
If you would like to have a fully offline-capable app with custom logic and a specific UI/UX, then Resco is the right choice.
If you already have Resco in place, and this applies especially to Field Service+ as the Field Service Module was highly customized, use Resco Field Service+.
If you start from scratch, you need to think about the “big dream” or “vision” – what will or should the future solution look like, is the one you have easy to use, and will a standard solution be delivered? Do you need to wait for various new features which have been announced? As you see, there are a thousand questions.
So, I would like to invite you to discuss this topic, share your thoughts on this, give me your view with all the pros and cons. Only by knowing the different perspectives and experiences, we can analyze, define, and create the best solutions for the customers.
This blog is a part of the Resco partnership program available to Resco partners and MVPs. Want to know more or contribute to the community with your article too? Reach out to partners@resco.net for more information.