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👏
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).
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.
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.
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❤️
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
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👏🎵😂
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
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
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
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.