Dash it out

Connecting all of our data to Power BI really brings out the beauty in the application. All of our Raids have lots of information like:

  1. Boat location
  2. Loot estimates
  3. Number of crew pr ship
  4. Revenue etc etc

The Power BI reports speak for themselves and give a good indication of what is possible

Total view:

Single captain drill down:

Ship location:

Right now collaboration

Canvas apps “recently” introduced the ability to work 2 people on a single canvas app. This has not been available before and is absolutely a gamechanger for app development!

We started out by turning on the function in preview from settings

After this, we have to connect the app to a GitHub source. I chose to connect this to my personal GitHub for simplicity.

At this point we were not able to work together on canvas apps without having to close the app between changes!!

This is a big change for Canvas apps being able to work at the same time in the same app👏

Can crazy days create value?

First of all I have to thank you all for letting in a first time hackathon bastard in the realm of this wild pirate bunch. I have tried to catch up, learn and provide some help for my Captain Ulrikke. What I thought would be a lot of power naps, turned out to be PowerApps, aaarr!

As an architect I have realised that there are so many more ways to Rome. The creativity, cooperation, team spirit and knowledge gathered in a room is amazing. As a bastard on a ship I have learnt about flows, power apps, dataverse, canvas and the myriad of possibilities for creating solutions in alternative ways.

I started asking chatGPT for lyrics and chords for a pirate song. A soft start for an old musician to add som team spirit, playing on a broken electric piano and singing with the voice the sea and rum gave me.

But I do believe that the value from the experience this weekend has broadened my mind. I met incredible people in a cool atmosphere and will be able to build on my knowledge.

I hope this was the start of more hackathons. I will end with a homage to my fellow pirate who gave me a cool cap gadget (Marius).

👌 Make it a Feature, not a Bug 🐜

Perhaps you saw our resent post about colors and broken screens? If not the joke was the pixel pusher was given the broken screen. But as true entrepreneurs of the Seven Seas, we put our ripped flag feature front for all to behold. Introducing Plundrr, with pre cracked screen as part of the brand guide.

Detailed screen grab of the faux broken screen in our app
Full screen grab of the mobile interface of Plundrr login screen. The logo is hand drawn and the faux cracked screen is created using mosaic patterns from multiple overlapping opace rectangles.

If you like cool looking and also super confusing things, this is the outline of how we create the cracked screen ripples using vectors. The scull and swords icon are also hand crafted using bezier curves: The mathematical way of describing how lines in vector graphic should bend.

Screen grab of how confusing it is to look at vector drawing with multiple overlapping paths as a wireframe

🦜Awesome community champions – helping our good friends at ❤️PowerPirates of AxData ❤️

When we went to the dinner friday evening we discovered a serous security incident at our friends and good neighbours at the PowerPirates of AxData. Two of their team mebers had forgotten to lock their computers!

It seemed like their were logged on their systems. Instead of doing as ordinary pirates 🏴‍☠️probably would do and destroy all their things we did THE RIGHT THING and locked their computers using the very special keyboard combination (Windows + L) ❤️

❤️All the best to the Power Pirates from the Sabeltanns❤️

The Pirate Assistant

This is every pirate’s best friend and a must have!! Loaded with awesome features this killer app should be installed on the mobile phone of all pirates in your organization.

Targets

Get a quick overview of your targets. Once a ship has been become a target in Dynamics 365, you will be able to see it in your mission overview. This is perfect when you have a long day of plundering i front of you and need to know which ones to do next.

Rumglasses

Have you ever been too deep in the rum bottle and close to do something stupid with what you believed to be a mermaid out on the seven seas? Or maybe you actually did and are now in for a hard time facing your mates with humiliation and regret?

Not anymore! Rumglasses let you take a picture of your believe-to-be mermaid and tells you if you are right or not. By training an AI to recognize and distinguish manatees from mermaids you can now relax.

My Ship

A map showing your location when out on the seven seas. You will se both your ship on the map and all other ships in the area. This is how you know you are close to your target when out on a plunder. The best part is that military or law enforcement ships will occur on the map as well so you can wait until the right moment before attacking the target.

Bottle Mail

Communicate with your mates by using bottle mail – a feature for sending email when you are on the fly. It suggests recipients in you address book or you can write to a pirate outside your organization. This way, you don’t have to switch to another app (email client) to send messages to your crew.

Pollybot

You are not a real pirate unless you have a parrot. Unfortunately (or luckily) there are laws about how to treat your animals today that did not exist in the old glory days. It might not be appropriate to bring it with you on a raid :/ This is where Pollybot comes to the rescue! Your own digital parrot who you can talk to, ask questions and keep you with company. As a real parrot, it sometimes answer your questions, but most of the time you will get an insult or just nonsense in return. But that doesn’t matter! Where a real parrot will fly away to save itself, Pollybot will always stay close.

Mayday, Mayday

When Jack Sparrow was stranded on a desert island, he managed to escape by tying his back hair together and catch a couple of sea turtles who gave him a ride back home. As fun and comfortably that sounds, not all pirates are equipped with back hair that long. However, most of us got their phone in their pockets at all times!

Whether you are stranded at a desert island, your ship is about to sink or you are stuck in a safe full of treasure, this feature will save you.

When using the mayday function your coordinates are then sent to a email address monitored by you crew so they can come and pick you up. If your mates prioritize your request is however another matter.

Because of the fancy design, the use of AI and the huge amount of useful features in this app, we hereby claim the Glossy pixels, Existential Risk and Feature Bombing badges. We also claim the Power user Love because the app is created in Power Platform šŸ˜€ #ProCodeNoCodeUnite

Embedding numbnut

This post demonstrates how you can connect different hardware with logic to create good vibes🎵

We have a proximity sensor that speaks Zigbee. It is a “boolean” with the statuses of Open or Closed.

The proximity sensor is then connected to a Raspberry PI that is running software to interpret the signals sent from the proximity sensor.

The raspberry pi is then connected to the Sonos, and each proximity sensor distributed around the area will have its own songs playing when you trigger them.

Based on the excelent suggestions from the Judges, we have:
Wierd Al Yankovic, Motorhead and Less than Jake👏🎵😂

Onboarding flow for new pirate recruits

An important part of Pirates 365 Recruit is the onboarding flow:

The super-popular Pirate Recruitment Terminal (PRT) give a lot of leads, and it is important for the HR team not use too much time onboarding the pirates

We have created a Power Automae flow that automates much of this, with the following features

  • Generate Pirate Names (described in this post)
  • Generate Lead in Dataverse
  • Prompt adaptive card in Teams
  • Generate Azure AD user
  • Add newly generated Azure AD user to Azure AD group
  • Send SMS to recruit with login info and link to learning game

Power Automate Cloud Flow Overview

Creating Leads in Dataverse

After the pirate name is generated a lead is created in Dataverse

Usling Leads in Dataverse the recruitment team can collbaorate on the candidates – all integrated in the Recruitment Teams Channel.

Creating Adaptive cards

We are also posting adaptive cards to the team, and is possible directly from the adaptive card to accept the pirate recruit to go further down in the recruitment proccess

Generation of adaptive card. Generated in https://adaptivecards.io/ to get a nice design and actionable buttons

Create users in Azure AD, assignment to security roles and licenses

After the recruit is accepted the newly hired i created in Azure AD and given proper licenses and permissions

We are using Azure AD Security groups to dynamically assign licenses to the newly accepted pirate recruits

Here we see that they get Dynamics 365 Customer Engagement licenses – so they can use our powerapps with a lot of fancy premium features✌️

Last but not least – telling the newly hired pirates how to login by sending a SMS

After all this we need to notity the pirates how to log in

We send a SMS using the Norwegian SMS-provider “Sveve” which have a simple API.

We send the username and the generated password (which the recruit must change on first login)

A link to the pirate training is included, so the pirate can train to be a worthy pirate

Badges

We think this solution may qualifty for

  • Feature Bombing by using five different services in one flow
  • Power User Love by using a nice combination of Power Automate, Microsoft Teams and Dynamics 365
  • Stairway to heaven by using Azure AD API; Dataverse API and Teams API

Nasty Hack

The challenge was a to create pages with Power Pages that could display data from Dataverse, and work in offline mode. We won with the most unlikely “blast from the past”; jQuery.

The good: Power Pages. 
To start with, we set up some pages with Power pages, that would display information about pirates, captains, and ships. 

If the user selects a captain, they would see information for the given captain, which is information stored in a table in Dataverse. 

So far so good, the next step is to make it available in offline mode.

It gets worse: Progressive web application. 

To make your Power pages available in offline mode, one must first set up your progressive web application. To do so, follow this helpful guide on the Microsoft learning portal: https://learn.microsoft.com/en-us/power-pages/configure/build-progressive-web-apps. You basically just enable it in the ā€œSet upā€-portal and define which pages you want to make available in offline mode.  

The problem is; even though your Power pages are available offline, your data from Dataverse is not. So how do we solve that? 

Oh Lord have mercy: jQuery to the rescue. 

To capture the Retro badge, we went back in time to when jQuery ruled the web. And since we can append javascript to Power pages, we already had jQuery embedded on the pirate information page. So why not solve the head-to-head challenge in the worst possible tool for the job; jQuery and localstorage! 

We embed the following snippet on the profile page: 

We embed the following snippet on the offline page: 

Then, we add the following HTML on the offline page: 

For the next part we head into uncharted waters and lose our precious internet connection. But fear not, with the power of jQuery, we have made Dataverse data available in localstorage.