Wednesday, 22 May 2024

Weird behaviour on App Onstart for collection creating when the 'Delay Load' preview feature is enabled

Problem: We recently had a few canvas apps start behaving strangely where our menu which used a SharePoint list to populate a collection on the App onStart() was not working on all pages with the exception of the Home page.  This only happened to the published applications, in edit and play mode, it worked perfectly.

Initial Hypothesis: Looking at the logs between the "edit and play" and the "Publish" was showing hundreds to transactions saying something along the lines of "text is blank and therefore will be zero".  When I set the start page to a different page and run the "Published " app, the first page works but not the other pages navigation.  Looking at the difference in the logs, it appears that the collection is seen as empty on subsequent page loads only when running in "Published" mode.

Resolution: I don't remember turning the "delay load" feature on, it only showed up on the 22 May 2024 (or at least we noticed it), I merely turn off the feature and all the affected applications started working again.

Thoughts: The behavior bug must have been caused by either upgrade in Canvas App platform version, or the feature being automatically turn on.  If you get an issue, turn off the experimental feature.


MS Build Conference 2024 Online Notes

A slick keynote, but I'm summarising the items i liked from the online sessions I watched:

Sunday, 12 May 2024

New SharePoint Options to be aware of

SharePoint Embedded

We have all used SharePoint and the API's but this is really useful as it allows me to have full SharePoint API access to use with my applications.  So it can be protected and scale.  I've had tons of projects that should have used this but instead backed on dedicated Site Collections.

External user on SPO have to be guests, and you use the subscription model, so i think you can have 5 guests for each O365 paid user.  Issue is this is then giving access to your internal SharePoint/collaboration area.  SharePoint Embedded provides a dedicated area and offers two types of consumption/billing models: 

  • ISV-led, and
  • and direct-to-customer billing.

SharePoint Premium

SharePoint Premium offers advanced features such as AI/copilot...

Sunday, 7 April 2024

Power BI Licencing Explained

 Power BI Licencing (Simple Overview)

(Simplified April 2024)

Power BI Free is for individual users who need to create personal reports and dashboards.  Perfect for people that don't need to share and want to analyse data in the business.
Power BI Pro is for individuals that need to share content, collaborate with others, and use all Power BI service features.  Circ $10/user/month.  People building reports and can share amonst other users with the Power BI Pro licence.
Power BI Premium is for large organizations with extensive data needs and a large number of users, including those who do not require full Power BI Pro capabilities.  All the content viewers of the reports and dashboards, don't need any licences.  Circe from $5k per month.  Perfect for 1 user creates a report and multiple users use the report.

Wednesday, 6 March 2024

Low code CoE thoughts

Key areas to address for a Low Code CoE:

  1. Portfolio of Products
  2. People/Skills/Experts
  3. Process/ALM
  4. Platform/Governance/Cleanup/Architecture/NFR's (scalability, SLAs)
  5. Promotion/delivery/training

Consider putting the project through a Business case validation, particularly for larger projects.  The business case is how your business visualises and communicates a proposed project, which should continuously be refined.  Points to cover:

  1. Business Case (Idea)
  2. Customer Segment >
  3. Value Proposition (what do they get) > 
  4. Channels (API, website, AI Services, .. ) Customer Achievement (get and retain) >
  5. Revenue (how to make money)
  6. Key Resources (patches, maintenance) covers technology and data.  What tech, people need to build and continue delivering.  Data: where does it come from, quality, restrictions, relevancy.
  7. Partners (dependency e.g. AWS, Azure, Mendix, OutSystems, UiPath, Microsoft, and backup options)
  8. Cost breakdown
CoE needs to clearly understand its boundaries and responsibilities.  


I am a big fan of Total Ownership, clear requirements and goals, using RACI, and stand-ups. For the rest, I try to be agile and malleable. Big projects require more oversight and planning, so I allow teams to change and focus on delivery.  

Sunday, 11 February 2024

Basics to setting up an AI Transformation Program - High level

Overview: Many large organisations have started on their Artificial Intelligence (AI) journeys, many have started in weird directions and some are taking the wait and see approach.  As a general rule, I feel most organisations should try identify the most important use cases for AI and using a basic scoring system take the easy high values use cases first. 

A good option is to get a AI focused team to put the AI program into your business.  Get people seconded as they have key domain knowledge and couple with IT experts pref with strong AI skills.  

1. AI Idea Generation: Collate a detailed list of possible ideas.  I like to use SharePoint, it's a good idea to open ideas up to the business or make gamification of idea generation to get a good set of ideas.  You;ll get lots of overlap, distill into unique ideas, and get the team/stakeholders together.

2. Business Impact: how does this help our customers or generate revenue or does this improve our operations.  Can this be quantified?

3. Technological Feasibility: Can technology meet the requirement, and at what cost?  High level technical design is strongly advised as show below in figure 2.

4. Implement: If the idea holds up to Business impact, and is possible, select the highest value to lowest effort ideas.  It is a good idea to start with the simpler ideas to get the ball rolling.

Figure 2. HLD example

Note:  This post is looking at building AI to improve your business, AI also affects all internal staff, so train them.  Allow them to use AI tools like ChatGPT, and train them not to expose internal propitiatory information.  Give your users the correct tools to be the most effective.