5 tips for implementing the Field Service (Dynamics 365) mobile app

5 tips for implementing the Field Service (Dynamics 365) mobile app

This article is contributed. See the original author and article here.

The Field Service (Dynamics 365) mobile app helps your frontline workers manage and complete their service tasks while onsite at a job. The mobile app enables them to view their daily schedule, complete inspections, bill for products and services, send reports to customers, and submit their time-off requests.

The Field Service (Dynamics 365) mobile app is built on Microsoft Power Platform. If your organization is using the mobile app built on the Xamarin platform, you’ll need a plan to move workers to the Power Platform mobile app by June 2022.

As you transition your organization to the Field Service (Dynamics 365) mobile app, follow these best practices and tips for setup and deployment.

Tip 1: Assign the Field Service-Resource security role or equivalent permissions

To make sure that frontline workers have access to the right tables (entities) and columns (fields) on the mobile app, you might need to edit the security role assigned to them.

Assign each frontline worker, or resource, the Field Service-Resource security role and field security profile because many processes check for users with that security role. For more information, check out the frontline worker setup instructions.

For example, the Booking and Work Order form is visible to users with the Field Service-Resource security role by default, but users with other security roles need to be given access explicitly.

Augmenting the Field Service-Resource role

If you want to augment the security privileges of the Field Service-Resource security role, you need to create a new role with the permissions you want to add, and then assign the new security role to users in addition to the Field Service-Resource security role. The same principle applies for field security profiles.

Removing privileges from the Field Service-Resource role

If you intend to remove or lower security privileges, then we recommend that you copy the Field Service-Resource security role, make your changes to the copy, and then assign the copied security role to the frontline worker users. Then, give your newly created copy of the security role access to the Booking and Work Order form included with Dynamics 365 Field Service. This form is used to view scheduled jobs (see the next tip).

Read about Field Service security roles for more information and steps to copy security roles.

Performance considerations

Using the mobile application with a role that has broad access to data, like an admin role, might result in larger data downloads and longer sync times of offline data. Test your application with the security role applicable to end users.

For more information about security roles, check out Install and set up the Field Service (Dynamics 365) mobile app.

Tip 2: Use forms and controls included with the Field Service (Dynamics 365) mobile app

It’s important to use the forms that come with Field Service rather than creating new ones, because the default forms and controls are optimized for performance and usability on mobile devices.

For example, use the Booking and Work Order form to show frontline workers their schedules and job information. The Booking and Work Order form has custom code that is purpose-built for field service scenarios. Add your organization’s schedule and job information into the form.

The same is true for controls. Use the controls that are included with Field Service where possible. Examples include the booking map for job locations and the calendar control for schedules.

Here is an example of some of the mobile optimized forms and controls included with the Field Service (Dynamics 365) mobile app, such as at-a-glance agenda view, customer information with address and maps, and an intuitive experience to track the services performed and parts consumed:

Forms in Field Service (Dynamics 365) mobile app

Performance considerations

Surface the most relevant fields and information to technicians up front. Overloading the form with less-used fields and controls will impact app performance, so consider creating new sections or tabs to host custom content. Take feedback from users to determine what content is necessary and what can be removed or hidden from forms.

For more information, go to Edit the sitemap (home screen), forms, and views.

Tip 3: Follow best practices when using offline profiles

Offline profiles control which data is downloaded to the device. We strongly recommend that you use the offline feature, even if your frontline workers always have internet access.

Using downloaded data is much faster than using data on the server that is accessed over the internet, thus improving overall performance. Set up an offline profile, and then add users and teams to the offline profile.

Here are a few more pro tips for using offline profiles:

  • Use the offline profile included with Field Service – The Field Service Mobile Offline Profile provides an ideal starting point for offline configuration, with defaults for out-of-the-box entities and sync intervals. Use this profile and build upon it by including your custom entities. By working within the provided profile, default entities can still receive updates over time.
  • Avoid removing default entities from the offline profile – These default entities are purposefully added to ensure the right data is available to the frontline worker. Focus on adding the entities you need to the offline profile rather than removing ones you do not need.
  • Avoid using “All records” as an offline filter – The offline profile is the gate that controls the amount of data downloaded to the frontline workers’ devices. To keep sync times fast and efficient, avoid including “All records” as an entity filter and avoid wide date ranges. As an example, rather than downloading all customer asset records, download only the records related to scheduled work orders. This will reduce the number of customer asset records without impacting work that needs to be done.
  • Use offline JavaScript Organizations often need to run workflows on mobile devices to execute business processes. However, Power Automate flows only run when the device is connected to the internet or on the next sync. Use offline JavaScript to run workflows on the device quickly and without internet access. For more information, go to Workflows and scripts for the Field Service (Dynamics 365) mobile app.
  • Understand how the app works offline. Lastly, it is important to know that once you set up an offline profile, the mobile app prioritizes offline operations. This means the app will use downloaded data when there is no internet access, and even when there is internet access. The only difference is that, when there is internet access, data will be synced back to the server every few minutes or when the frontline worker manually syncs the app. When there is no Internet access, the sync runs later, when a connection is restored.

Performance considerations

By using offline profiles, data will be downloaded to the device. With offline data, in-app performance such as displaying forms will be much better. Limiting the amount of data in the offline profile to what is needed by the user will improve sync performance.

For more information, go to Configure offline data and sync filters for the Field Service (Dynamics 365) mobile app.

Tip 4: Use up-to-date devices that meet recommended requirements

Many organizations follow a “bring your own device” (BYOD) policy where frontline workers use their personal phones or other devices for business. The Field Service (Dynamics 365) mobile app works on many devices running iOS or Android software, and support for Windows 10 devices is planned.

For the best performance, make sure your team has newer devices that run the latest operating system versions. Review the supported mobile platforms for recommendations about operating system versions, RAM, and storage.

Tip 5: Take advantage of Microsoft Power Platform

The Field Service (Dynamics 365) mobile app is built on Microsoft Power Platform, so the mobile app can take advantage of several capabilities of Microsoft Power Platform.

Here are just two common examples:

  • Use Power Automate to send push notifications to frontline worker devices based on predefined triggers and events. For more information, go to Enable push notifications.

Planning for your deployment

In addition to these Field Service best practices, here are a few more planning tips that can be helpful for your project:

  • Do user acceptance training. Ensure buy-in across your organization by bringing the people who will be using the application into the release process early. Select a diverse set of users across geographies or business units. Set up feedback channels to understand pain points and address problems before going live.
  • Do a phased roll out. Reduce risk by segmenting your release over phases; commonly this is done by geography, or by business group. Take feedback from users and expand the deployment once stable.
  • Pilot the mobile apps side-by-side. If you are a current customer of Field Service, you can pilot the new Field Service (Dynamics 365) mobile app alongside the Field Service Mobile (Xamarin) app, as well as other Field Service apps your organization might be using. This will help you assess how your frontline workers are currently using the apps: what data is most important and what information is most commonly viewed and edited. In this way, you will better understand what functionality to include in the new Field Service (Dynamics 365) mobile app.
  • Measure performance. How the mobile app performs is a big factor in how much frontline workers enjoy using the app. Add performance measures to the deployment plan and test how editing forms, the mobile offline profile, and workflows affect app performance. Take feedback from users to determine what is necessary and what can be removed or hidden from forms.

Next steps

We’ve put together some resources to help you before and during your mobile deployment.

The post 5 tips for implementing the Field Service (Dynamics 365) mobile app appeared first on Microsoft Dynamics 365 Blog.

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.

Microsoft Project15 & University College London Red Panda Project

Microsoft Project15 & University College London Red Panda Project

This article is contributed. See the original author and article here.

Guest post by Farid El-Aouadi Computer Science Student, Microsoft Project 15 Capstone Project with Farid El-Aouadi at University College London 



pic 

http://faridelaouadi.tech/



Introduction


 


Founded in 2007, Red Panda Network has become a world leader in efforts to protect Red Pandas and their habitat. Using a variety of techniques such as community based conservation and developing anti poaching networks, they are committed to saving every last panda that is currently living in the Himalayan mountains.

Since my first meeting with Sonam Lama, Red Panda Network it was evident that their current workflow lacked any sophistication and revolved heavily around human labour. From manually classifying and retrieving images to making in-field observations using pen and paper, it was clear that the workflow needed a flair of innovation to allow the organisation to work smarter and not harder. 


 


The Red Panda Network’s current workflow to track red panda’s in the mountains is illustrated in the diagram below. The process can be decomposed into two main sub processes : image retrieval from camera traps + classification and data entry + analysis. 


 


 

RedPanda.png



Process Analysis


Image retrieval and classification


Currently, the organisation has several camera traps in the mountains. These motion activated cameras take pictures when motion is detected in their vicinity and saves the images to the local SD card. As you can imagine, these camera traps can capture several false positive images ( when the motion is thought to be a red panda when it is not ) . Periodically, a member of the red panda network team has to go to the mountains, download the SD card data then classify these images as being red panda or not.


 


To put things into perspective, the Red Panda Network currently has around 20 cameras that took a total of 55,000 images over approximately 2 months – that is a lot of manual classifying! The images then get sent to the red panda headquarters where a spreadsheet is updated for further analysis later on.


 


Data Entry


The Red Panda network has a team of volunteers called the forest guardians. Forest Guardians are local people who are paid to monitor and protect red panda habitat, as well as educate communities. They currently do all their data gathering on paper and manually relay the information to the RPN HQ. The data entry of the manual observations is from pencil and paper which is prone to errors, inaccuracies and can unnecessarily take a long time. 


 


As you can probably see, both processes can benefit greatly from a technological solution. I will primarily be focusing my efforts on the first problem for two main reasons. The first is that this problem can make use of an elegant solution that incorporates AI, IoT as well as cloud computing all using the azure platform. The second reason is that by tackling this problem, I will be saving the employees a lot of time which would allow them to focus their time in other conservation efforts that the red panda network is involved in. 



Proposed solution and workflow


 


 

RedPandaArchitecture.jpg


 


My proposed solution leverages the following Azure services:



 


In the proposed workflow, users will first be authenticated using Active directory. Once authenticated, users will be able to upload images associated with a specific camera trap and view them on an azure map. The web app will be responsive which will also allow for forest guardians to upload images straight from their phone. Once they have uploaded the images, they will be stored in azure blob storage with the relevant metadata stored in an azure table. When the user uploads an image, they will be classified as being “panda” or “not panda” using a pre-trained classifier and display them on the azure map to reflect their classification. 



Tech stack



 


 

 


RedPandaTechStack.jpg


 


From an application development perspective, I will be creating the server using python flask and writing any frontend logic using Javascript. Flask is a lightweight WSGI web application framework and chosen for this project as I have experience using it for smaller projects and found it to be well documented and supported. Javascript was chosen ( as opposed to a Javascript library like React or Angular ) as I felt that I was comfortable enough using Javascript and that learning a library would be time consuming and not provide any extra value to the end user. Jinja is a web template engine for the Python programming language that I will be using to build HTML pages on the server. This allows me to reuse HTML code to make the templates more readable for future developers.


 


For ease of development and deployment, I will be using a CI/CD pipeline. Using Azure pipelines, it will be extremely easy for me to make changes to the source code, push it to my repository on GitHub then deploy it so that users can see these changes within a few minutes. I can also define tests that need to pass before the production code gets changed which will uphold code correctness and platform availability. 


 


To ensure the design of the app adheres to Don Norman’s “10 usability heuristics for user interface design”, I will be using bootstrap for the styling of all my components. This will ensure the UI is consistent, learnable and promotes recognition rather than recall. 


 



Final platform


Main dashboard


RedPandaMainDash.jpg


 

 


Add a camera


RedPandaCamera.jpg


 


View Individual panda (Click on panda icon)


 

RedPandaCamera1.jpg


 


View images from a camera trap


RedPandaCameraTrap.jpg


 

Upload New Images


 

RedPandaUploadNew.jpg


 


Classification report after model inference


RedPandaClassification.jpg


 

Full Video demo 


 


Source Code


faridelaouadi/RedPandaNetwork: A web app created for the red panda network in collab with Microsoft’s Project 15 (github.com)



Technical challenges



Online classifier limit 


Initially, to classify user uploaded images I was using the customvision.ai API to make HTTP requests that returned the classification. This worked fine for a few images however during my testing, I decided to upload a batch of images that consisted of 15 images. Each image took around 3 seconds to get classified which meant that the user would be stuck on the loading screen for far too long. The logical next step would be to make asynchronous calls to this API to drastically reduce the wait time. The wait time was indeed reduced however this optimization exposed another problem about the API and its rate limit – users could make a maximum of 10 calls per second. To try and work around this, I simulated a pause in my code after every 10 asynchronous calls. This seemed like a crude solution whose runtime was still linear. 


 


To improve upon this, I decided that the best way to tackle this problem would be to download the model locally and classify the images on the server. However this brought about its own challenges as I now had to do image preprocessing to ensure that the user uploaded images were compatible with the trained model. To preprocess the images I made use of the “OpenCV” and “Numpy” modules in python which provided a simple API to scale, crop, resize and update orientation of images of any format. I then made asynchronous calls to this local model which yielded excellent results! 


 


Azure maps 


Azure maps provided a steep learning curve especially when trying to add custom features such as filtering and onclick functionality to pandas and cameras that acted differently. When tackling the filtering, I had to add unique attributes to each of the cameras that were being displayed on the map. I then created a filter list that was then set to act on the camera symbol layer of the map. For the onclick functionality, I wanted to constantly reuse the same bootstrap modal for each of the cameras. To do this, I had to once again add further attributes to the camera features on the map and run a  Javascript function that built the modal on the fly by extracting the attributes from the selected camera to hence make an ajax request to the server to retrieve the relevant data. 


 


 


Future plan


 


Online learning


 


The next challenge I am working on is making the classifier improve itself as the user uploads more images ( and corrects misclassifications ) using the system. To do this I will make use of Azure functions that would get triggered when new images have been uploaded to the blob storage. This azure function would then retrain the classifier with these new images as additional training data.
There will also be logic in the azure function that prevents the classifier being re-trained for every new image as this would get costly and tedious. There would also need to be logic to prevent overfitting so if your interested in learning more about the project join me at the following webinar.


 


Webinar 22nd April 2021


 


Project 15: Empowering all to preserve endangered species & habitats.



Date: April 22, 2021


Time: 08:00 AM – 09:00 AM (Pacific)


Format: Livestream


Topic: DevOps and Developer Tools




Join Microsoft Project 15 and students from University College London live on Earth Day (April 22) at 8 am PT to explore some of the ways the tech community is using IoT solutions to further preservation efforts. Get involved – register for the event now.  


 


 

Procmon v3.70, Sysmon v13.10, Autoruns v13.99, TCPView v4.01 and WinObj v3.03

This article is contributed. See the original author and article here.


Procmon v3.70


This update to Process Monitor allows constraining the number of events based on a requested number minutes and/or size of the events data, so that older events are dropped if necessary. It also fixes a bug where the Drop Filtered Events option wasn’t always respected and contains other minor bug fixes and improvements.

 

Sysmon v13.10


This update to Sysmon adds a FileDeleteDetected rule that logs when files are deleted but doesn’t archive, deletes clipboard archive if event is excluded and fixes an ImageLoad event bug.

 

Autoruns v13.99


This update to Autoruns fixes a bug that resulted in some empty locations being hidden when the Include Empty Locations option is selected.

 

TCPView v4.01


This update to TCPView refines Quick search to look in IP addresses and ports.

 

Theme Engine


This update to the theme engine uses a custom title bar in dark mode, similar to MS Office black theme. WinObj and TcpView have been updated. Expect more tools using the theme engine in the near future!

 

eDiscovery in Microsoft 365 One Stop Shop Resource Page

eDiscovery in Microsoft 365 One Stop Shop Resource Page

This article is contributed. See the original author and article here.

Robin_Baldwin_0-1617984525413.png


Welcome to the eDiscovery in Microsoft 365 One Stop Shop Resource Page!


 


We built this page to help you easily find all relevant content and resources relating to the compliance solutions in Microsoft 365. Please bookmark this page for future reference as we will update it on an ongoing basis.


 


Robin_Baldwin_0-1618252415871.png

























eDiscovery in Microsoft 365 Resources  



Videos



Webinars



Technical Sessions 



What’s New with Advanced eDiscovery 



Playbooks and Guides



Blogs



Deployment Acceleration Guide



Delivering legal technology to help you adapt to what’s next



 


Requests for content can be submitted with this form: https://aka.ms/mipc/mipcOSS


 











For additional One Stop Shop Resource pages, please use the links below:

Microsoft Information Governance in Microsoft 365


Microsoft Information Protection in Microsoft 365


Microsoft 365 Endpoint Data Loss Prevention


Insider Risk Management in Microsoft 365


Microsoft Compliance Manager



 


Back to MIPC One Stop Shop Resource Page

Microsoft Compliance Manager One Stop Shop Resource Page

Microsoft Compliance Manager One Stop Shop Resource Page

This article is contributed. See the original author and article here.

Robin_Baldwin_0-1617992249744.png


Welcome to the Microsoft Compliance Manager One Stop Shop Resource Page!


 


We built this page to help you easily find all relevant content and resources relating to the compliance solutions in Microsoft 365. Please bookmark this page for future reference as we will update it on an ongoing basis.


 


Robin_Baldwin_0-1618264698000.png































Microsoft Compliance Manager Resources



Videos



Webinars





TBD



Playbooks and Guides



Blogs



Deployment Acceleration Guide 


Microsoft Compliance Manager 



 



Learning Path



Reduce risk with Microsoft Compliance Manager – Learn | Microsoft Docs 



 


Requests for content can be submitted with this form: https://aka.ms/mipc/mipcOSS


 











For additional One Stop Shop Resource pages, please use the links below:

eDiscovery in Microsoft 365


Microsoft Information Governance in Microsoft 365


Microsoft Information Protection in Microsoft 365


Microsoft 365 Endpoint Data Loss Prevention


Insider Risk Management in Microsoft 365



 


Back to MIPC CXE One Stop Shop Resource Page