Model Driven App Monitor and the Futility of Perceived Exceptionalism

This week’s tip comes by way of accident.

You see, as I was looking for a fix to some javascript that I’d written while cursing ever-so-quietly under my breath out of frustration, I stumbled upon an article that made me curse ever-so-loudly out of joy instead!

Check out these cool articles (main blog post and supplemental part 1, supplemental part 2) and then see below for a quick example in my developer org:

Here’s the rundown of how this works:

  • First, open your Model Driven App, navigate to the end of the URL in your browser, add “&monitor=true” and hit enter
  • Next, you’ll see an image that looks like this that appears in the navigation header:
  • Click the Monitor icon which will open up a new tab in your browser
  • Click “Play model-driven app” from the ribbon which will open another tab
  • From here, click “Join” from the “Join monitor debug session?” modal dialog window
  • Now you can navigate through your model driven app as you would normally, usually with the assumption of completing user acceptance testing or something similar
  • When finished, return to the Monitor tab in the browser and you’ll see the results from your browsing activities

I’m not going to bother re-keying all of the information inside the blog posts linked above because you should definitely go read them thoroughly. However, I’ll highlight some of the most important components of the output so you’ll be enticed enough to dig in further:

  • Client specific meaningful events can include:
    • Performance counters and metrics (i.e. resource and navigation timings)
    • User click events (i.e. controls, web resources, grids)
    • Geolocations and preferences (i.e. track user locations, browsers, devices
  • Server specific meaningful events can include:
    • Execution context (i.e. event and user information)
    • Integrations (i.e. request and response information)
  • Cross cutting concerns
    • Think and trace statements (i.e. think console.log or iTracingService)
    • Exception tracking (i.e. handled errors)

Now, if you’re like me, looking through all of that was not just intimidating but a little bit demoralizing. I’m on fire lately with all of the cool stuff I’m learning…but when I see something like this? It all can seem overwhelming.

However, let’s not get discouraged! Small wins, more often…gotta keep reminding ourselves of that…and one of the small wins for this Monitor solution is that we now have an additional tool in our toolbox to performing real-time checks on the load balancing of our code! At the very least, it’s a cool thing to show our clients that can provide some insight into just how much Dynamics is doing behind the scenes to render their business processes for them!

Which brings me to my thoughts on the futility of perceived exceptionalism. The other day, I saw a dev whom I respect post the following on their LinkedIn page (summarized for clarity): “Good job getting those certs, everyone. Not that I haven’t spent the bulk of my career undoing the sloppy mistakes of all the ‘certified’ professionals or anything but good for you!”

The implication, if it’s not obvious already, is that devs are the true heavy lifters on any project and that these certifications are meaningless for most of the functional members of our industry. And I’ll admit? Having used some of the “brain dumps” early in my career out of a sense of pressure to not lose my job? They’re not wrong.

However, I’ve been on many a project where the dev, as well intentioned as they may be, has completely stepped on a landmine in front of the client because their skill set has never even considered what it’s like to be functional. At least, on a real level of shared empathy. You see? NONE OF US IS EXCEPTIONAL. Not one. Yet, we’re all unique and bring a specially-tailored set of experiences that can, and should, add value to the project. If you remember from my last post about the Duplass brothers and their mantra to “make movies, not meetings,” this is precisely what I was trying to convey: if we help guide our clients and team members to believe in their unique skill sets and that each of them provide value to the process improvement as a whole? We’re over half way to a successful project already!

Small wins, more often everyone! Until the next one…


Functional Design and The Ouija Board

Before you get too excited, this isn’t a post about how the occult has cornered the market on good UX design…but they do have something in common. At least, they did for me this afternoon.

While listening to a podcast and learning more about Adobe Illustrator, the hosts began discussing their thoughts on Ouija boards and the way their friends and family would tease them mercilessly with haunted tales of possessed kids and all that malarkey. So I decided to use it as a kernel of inspiration and used elements of the show to create a version for them:

At the very least, I kept myself distracted on a Saturday so…huzzah?

In researching a few techniques to accomplish this much needed distraction, I came to a sudden realization and felt that it had a close parallel to a lot of the work I’ve been doing lately. You see, as consultants, our daily efforts are focused largely on the tools and functionality of Power Platform and its various components. This, of course, makes sense. A huge piece of our responsibility comes in both configuring and maintaining systems and software.

HOWEVER, the revelation hit me like a bag full of mashed potatoes when I started focusing on the true functional design of what I was trying to accomplish and not attempting to master the tool set that I had in front of me.

My clients (god bless them for their patience) have heard me rant endlessly about asking the “why’s” behind the “what’s” questions during discovery sessions. My goal is to help keep the discussion centered around building User Stories and ensuring that I’m getting all of the information I need in order to correctly set expectations moving forward. Nonetheless, I think we sometimes lose sight of the forest for the trees simply because we’re buried in our daily tasks. It really does behoove us as the overseers of the project to stop and lift our heads above the treeline with some regularity to make sure that we’re not just building blindly…but that we’re building with purpose and that the purpose is driven by empathy for our clients and our ability to improve their business processes through innovation and the Power Platform.

Next week will be back to tips/tricks and info, I swear.

Until then, let’s all try to take a step back, double check our forests and return with a renewed focus on empathy driven design!

(and stay away from Ouija boards, kids…unless you want to accidentally touch hands with the person you liked in middle school and then, when they look at you with what appears to be a scowl on their face, you want to sprint out of the room while fighting back tears of embarrassment! 🙂 )


Automating the User creation process in Azure

Sooooooooo, yeah. I’ll have to write a few posts to make up for the lack over the weekend…and I’d go into why I didn’t write but, honestly? You’re not my father (unless my dad’s reading this, in which case ‘Hey pops!’), so stop yelling at me already jeezy creezy…

…phew. Ok. Let’s never fight again.

Now that’s out of the way, let’s get to the learnin’.

A requirement came across my desk to figure out a less painful way to add guest accounts to Azure for vendors/visitors/guests who may need to access an app that we are going to build. As any admins out there know, adding guest accounts as one-offs can get annoying real quick if the amount of users you need to create totals more than *grabs abacus and furiously does long hand calculus*…1. So I went hunting and came back with these:

These 2 templates essentially automate the process entirely, whether or not you’re generating the users with a list in SharePoint or even setting up a button or form submission on your apps to set the process in motion via HTTP request.

This may not be the sexiest piece of functionality out there *waves coquettishly to Kanban grid views* but damn if you’ve ever had to sit there and do this manually, this is the type of automation that will make your day a little bit brighter.

What else have you seen out there in the templates that has caught your eye? Whether it’s something that you’ve implemented yourself or if you simply noted it in passing as something you’d like to try?

We’d love to hear about it! And anything else that you want us to dig into.

I’m sorry I yelled earlier. Like I said, let’s never fight again.



Episode 1 – The Intro!

Welp? Episode 1 is out and ready for listenin’!

Join us, Dick Clark and Mohsin Khalid, on an auditory journey toward greater understanding of Microsoft’s Power Platform!

We’re excited to have you along for the ride. Please like, subscribe, comment with questions or topics that you want us to cover and laugh at the rats (yes, rats!) that try and ruin it all.