Wednesday, 30 July 2025

AI for developers and Architects



The cost of prototypes is unbelievably low using AI. 

Rapidly creating a prototype, especially with new or less well-known technology, is where I derive significant benefits from AI.

How to build application prototypes?

  1. Write /reverse prompt/Adjust instructions into md file
  2. Agentic AI (specialising in Doc Extraction) to extract and refine from md file
  3. Run using IDE-based copilot (VS Code with GitHub Copilot) (AmazonQ) (Cursor, Windsurf, Steamlit) 
Thoughts: Developers are adjusting to using Ai to support software solutions.  The developer role will continue the trend of making technical implementation more accessible, allowing knowledgeable IT engineers or domain experts to build faster and better than citizen/amateur developers.  Ai assists in complex decisions!  

What needs to improve?
  • Knowledge is key.  AI needs to have narrow expertise at the right time. i.e. only domain knowledge, not influenced by other data.  Quality of input data used to train.  Allows for dynamic reasoning.
  • Session/long-term contact agreement/understanding to improve the understanding between your IDE and me.  Remember how I prompt and provide feedback on how I digest information.  Context between the human developer and Ai is Paramount.
  • Control of IDE integration with coding copilots, clear return to the user developer to make better decisions.  Context is Paramount.
  • Governance & Data (Connectors, API's, code complex processes (MCP maybe), quality of data).

Retrieval Augmentation Generate (RAG)

Wednesday, 2 July 2025

Artificial Intelligence as a mega trend

Overview of AI

The world has gone mad for AI.  Constantly, I see overhype and poor messaging leading to a misunderstanding of potential.  

AI is not new; the ability to use it for commercial gain is new at the scale we now have.  AI excels at helping us identify patterns, gather information, and is primarily a decision support system (DSS).

AI is not intelligent, but rather good at making complex decisions, and it has biases that we teach it.

This means AI is useful for specialisation, not a generalisation of "smartness", now that ChatGPT et al. are wide-ranging, people are assuming it is a general-purpose tool.  Actually, ChatGPT is a specialist in breaking down and grouping language based on a data source.  For those in the technology industry, we pretty much know that ChatGPT is a good Google (search engine).  

So, what is AI going to be successful at?  Well, this is my prediction:

AI will have a massive impact on many industries:

1. Healthcare guess what? More surgeons and people will be needed, not fewer.  Here, I focus on Healthcare examples.  People need to interact with others; avatars are a joke. I can talk to Alexa already.  There is very little to nothing in this space except for snake oil salesmen.  Please prove me wrong! More skilled people are needed.

2. Software Development/IT - This is a significant one.  Programmers' roles will change significantly; those with a good understanding and knowledge will thrive, while those with superficial knowledge and a lack of ability to truly understand and work through challenges will likely disappear.  Technologists will focus on challenging problems and introduce significant improvements to all business processes.  The amount will continue to grow.  There is not a lot of agentic, "smart AI" in the space, and we are 50 years away from this, imo.

3. Manufacturing - it won't make the impact that the media says it will.  We are good at manufacturing.  The sub-functions that will benefit include machine maintenance, sensor usage, and performance/behaviour will change.  This will allow you to improve Machine Maintenance (MM) and scheduling.  Think of railway lines; they need to be shut down, and it costs millions to trim hedges. Imagine now that you know the level crossing "lifty uppy-doowny" box/bar is showing signs of fatigue.  Shift the fix left and save the unscheduled breakdown; the train line and knock-on effects shall result in massive improvement.  We are already proficient in manufacturing and, to some extent, automation. If the AI is not significantly better, it is not worthwhile. More skilled people are needed.  

Machine Maintenance in Manufacturing.  AI is needed to mature MM. 

Techniques such as defect detection are already well-established using Visual AI at the micron level.  Rubbish detection.  Using AI will be beneficial - sure, it will become cheaper and easier to acquire this system capability for less, but AI is merely an enabler, and it has been available for well over a decade.  More skilled people are needed.

4. Service Industry - Robots serving people, please, it's mad, except at MacyD's (McDonald's) and honestly, minimum wage workers are pretty efficient there, and it will be too sterile.  Pushing out patties, well, if you need AI for this, you don't know what AI tries to do.  AI & automation are already in the processing and packaging processes.  The big stuff with AI will be in social media and advertising (and don't get me started there, automated advertising will absolutely fail. We need to invent a missile to destroy non-human posts).  More people will be required in these new and changed services.  

Analogy:
1. Old technology: Hand weaving material was a big profitable business in Britain; along came looms; these workers got upset and broke the looms and ended up in prison or broken; these were the Luddites (who refused to embrace technology).  The Luddites ended up broke, and all this could have been avoided by embracing technology, as they were the most knowledgeable about materials and production. They are the natural experts.   

2. Trend jumpers on: Too many companies wanted to build looms, and a handful of players did brilliantly and still exist today.  Think Microsoft and AWS; they are transitioning from being programming technology companies to AI technology.  They still solve the same problem of process improvement.  The weavers who decided to go into building and repairing looms did exceptionally well, but ultimately ran out of demand, and their prices were driven down as there was an excess of supply.  Still a good change.  Many people also got hurt here. Be careful inventing new technology in processes; you get it right, you are a hero; get it wrong, go find a new job.  Lots of sales silver bullets are being produced.  There are tons of "AI experts", but mostly this is absolute rubbish.  With rare exceptions, you are not an AI expert unless AI was in your job description more than 5 years ago.  Beware the snake oil salesmen, nowadays they come in many forms, sizes and shapes :)

3. Embrace change:  Normal, common-sense (smart) people realised they actually had 4 options:

  1. Learn how to use a loom.  Use the technology available and use it to build garments faster;
  2. Build looms and support the loom business;
  3. Do nothing, continue to offer hand-weaving labour to the market.  So take your pension and hope like hell you win the lottery (I'm still backing this option for myself); or
  4. Expert hand craftsmen or women :) Become the best hand weaver in the world, and people pay you for your expertise; these people's descendants/business still exist.  But big surprise: it's hard, it takes a long time, it's unlikely to make you rich.,, So, sure, go do this if you are a genius in your field and love it, but don't die of surprise when you go broke or don't get the return you deserve for all that hard work.

Summary: Embrace technology and AI, it is only a decision support system.  More skilled people are needed, as you have the background, being professional and embracing change means you are more in demand.  Sitting on your backside waiting for the lottery means you are like 90% of people, and you'll get 2 jet skis and a new husband! yipee.

Healthcare

Good Use Case: Diagnostic medicine

Diagnostic medicine has become the centre of healthcare, and the ability to use AI, which is better at detecting abnormalities than the best radiologist using a single trained model, yields results in near real-time.  This means that consultant radiologists and specialists can receive reports in seconds that are of unparalleled quality.  GPs have the best guess within seconds, rather than well... we all know this.

AI also provides probability, so it's easy to prioritise any reporting that's life-threatening to a specialist, allowing them to focus on the most challenging work and receive the in-depth information provided by the AI.  

This is possible because we are dealing with a relatively narrow field of data that we have taught AI to handle. Think of X-rays; the results are far superior to an expensive resource (a Radiologist) that takes at least 12 years to train.  And more to get brilliant.

Should we stop training Radiologists and diagnosticians and allocate our resources to AI?  Absolutely not!!   

Radiologists should be using the AI reports, validating, using the info and extrapolating, when an issue is detected, this must be added back into the learning model resulting in improving the AI.   AI should not act. It must only be used to support.  Acting should be restricted to notifying relying parties such as GPs.  

Good Use case: Online GP Appointments and triage

If you have an issue, you go onto an NHS app that will ask you for your symptoms and ask a few follow-up questions.  It will only give you its best guess (this is already amazing imo.), this in turn, will triage your call into "go to your emergency department, they know you are coming", "let's book you an emergency appointment", or "this is my recommendation, and why".  Dr Google actually becomes useful (weird medical insider joke).  Honestly, we could do so much more, but care is given to the right people, "shift-left" (the sooner you catch it, the cheaper and better the solution, 100% applies to healthcare).

Preventive medicine and nudging technology will have profound improvements in people's lives and lifestyles.  Hooking into ambulance services and driverless automated vehicles,.. people do the hard stuff and make the decisions. AI does the piece efficiently and quickly that we as humans aren't good at. Hopefully, you are understanding the difference between narrow and wide industries.

Bad Examples: Robot Surgery or treatment rooms

Robots replace people in operating theatres. It is insane!! A surgeon could use AI to obtain better diagnostic data more quickly; they could even utilise technology like AI-assisted operations, then send messages if it detects that the actions are not optimal or there is a clear risk that a priority has changed.  It is brilliant for decision support. It's not a good idea to try to automate complex decision-making.


This post does not look at Strategy and Purpose

All AI solutions give themselves an exponentially better chance of success, regardless of industry, if they have a strategy, purpose, and FAIR data (Findable, Accessible, Interchangeable/exchangeable, and Reusable).

Saturday, 28 June 2025

UK Railway Industry for Dummies focusing on Rail Infrastructure

Rail assets are organised into large hierarchical asset classes that are interdependent to make up a rail system. These rail assets are organised using detailed, lower-level assets built from taxonomies and ontologies tailored to each jurisdiction within the rail industry.  Railway interaction and operation of assets must conform to various stringent rail regulations.  Safety has a massive focus.

Taxonomy organises data hierarchically, while ontology models both hierarchies and complex relationships between entities and their properties. In the rail industry, ontologies are crucial for successfully modelling assets.

The picture shows examples of significant assets (high-level)

Main Railway Infrastructure Assets high-level overview.

An AI-generated image to explain commonly used railway terms.




The railways consist of "rolling stock, rail infrastructure, and environment"; these components have multiple relationships with one another.
1. Rolling stock is the trains.
2. Rail Infrastructure relates to: 
    2.1. Electrification/power/energy, generally used for power supply for signalling, train power, and telecoms.
    2.2. Telecommunication, track-to-control, and train-to-control are used to communicate, including sensors and IoT devices.
    2.3. Signalling relates to ensuring train safety so the train knows there is a train ahead of it, and issues when to slow down.
    2.4. Track Engineering, also known as Rail Engineering and The Permanent Way, involves the rails, connectivity, support, extensive physics and geometry, steel rail installation and joining, ballast (the ground on which the track is laid), drainage, substructure, and sleepers. It gets detailed with rail joins (Fishplated) and even the welding process used.  Fastening types, baseplates, sleepers, off-track maintenance such as hedge trimming (you won't believe the rules unless you work in the rail industry) ...
3. The environment refers to the existing conditions before the railway, including the topography and type of terrain, bridges, and rivers.

The interdependencies with the rail industry are perfect for numerous AI scenarios.  With all AI, you need high-quality data, and it must be secured appropriately.  Bring the information from the various business functions, allowing for automation, ML, AI and better decision-making.

Each country or jurisdiction has different rules for trains, and operators must comply with Health, Safety, and Environment (HSE) regulations.  There are industry rules adapted to each jurisdiction and standards that vary between regions.  For example, most jurisdictions have a gauge width requirement; in the UK, the standard gauge is 4 feet 8 1/2 inches (1435mm).  There are exceptions, such as heritage railways in the UK.  There are manufacturing standards for everything.  EN13674 is the British Rail specification for the actual pure steel used to manufacture the track to be installed.

ISO 55000/1/2 addresses Physical Asset Management.  Building Information Modelling (BIM) enhances the design and construction process, and both apply to Rail Infrastructure.  There is generally a disconnect between Asset Management and BIM, and International Foundation Modelling (IFC) tries to help build a standardised set of assets for the railway business; we are on v4.3.

  

References used: 

Permanent Way Institution (2023) Understanding Track Engineering. London: The PWI. Available at: https://www.thepwi.org/product/understanding-track-engineering/ (Accessed: 4 July 2025)

Camarazo, D., Roxin, A. and Lalou, M. (2024) Railway systems’ ontologies: A literature review and an alignment proposal. 26th International Conference on Information Integration and Web Intelligence (iiWAS2024), Bratislava, Slovakia, December 2024. Available at: https://ube.hal.science/hal-04797679/document (Accessed: 4 July 2025).

Network Rail (2021) Asset Management: Weather Resilience and Climate Change Adaptation Plan. London: Network Rail. Available at: https://www.networkrail.co.uk/wp-content/uploads/2021/11/Asset-Management-WRCCA-Plan.pdf (Accessed: 4 July 2025).


Thursday, 26 June 2025

openBIM for AEC understanding

Within the AEC industry, standards are necessary to ensure that all project stakeholders are speaking the same language, thereby improving collaboration.  We can also process data to automate various processes if the data is standardised.

BIM (Building Information Modelling) is used to improve collaboration on infrastructure projects.  BIM is essentially ISO 19650, and it has various levels.

Building Models contain 3D information that shows how assets fit together.  Each of these assets may contain properties that can be used to look for clash detections.  Think of a CAD diagram, it lays out the plans for a building so all parties can see the proposed plan.  As CAD technology advances, you can add more information about the project.  For example, as an electrician, I only want to see the layers that affect my work.  CAD can be further extrapolated to show products and material information.

closedBIM: These were the original big BIM systems, including AutoCAD, Revit, and Bentley ProjectWise.  These tools feature visual editors and viewers, allowing them to securely store the files needed for a project and ensure that the appropriate people have access.  These all have their own proprietary standards.

openBIM: Read other parties' data, improves collaboration and consensus.  Easier to switch tools to reduce costs or get better features.  Consists of:

  1. IFC (common language)
  2. bSDD (industry common language)
  3. IDS (Requirement specification)
  4. BCF (check)
  5. openCDE (sharing with APIS)

Industry Foundation Classes (IFC) serve as the basis for standardising how information is handled.  Has standards for location, such as geographic information.  Materials, Geometry, and Spatial Structures are covered by IFC classes.  In each industry, these base IFCs are added to.  The BuildingSmart bSDD is an extension of IFC for specialised industries and sectors, published to provide more specific, agreed-upon standards.  

Project Requirements: These can vary, but having an agreed-upon format, such as an Information Delivery Specification (IDS), is helpful. Although it is not necessary or widely used, it ensures that precise details are provided.  Therefore, collaboration allows all parties to clearly understand what is needed using IDS.

IDS uses bSDD, which is based on IFC, so that the requirement specifications are precisely laid out.

openCDE defines technical interfaces, .....

Thursday, 5 June 2025

AI Vendor Management - Formiti

AI is going crazy, and you can build your own but generally you need to look at a supplier, so it's worth understand management of Vendors, you as the controller using their service are at risk of them not making their AI operations transparent.  It's a big business risk to my clients.  

GDPR is closely linked to AI, and if you use a service/vendor, the reputation and fine risk may fall on you as the provider.  Need visibility into each vendor, how they are using AI, in turn they are using vendors so it's a nice complex dependency problem.  You need to be aware of what you are relying on.

Ensure contracts with vendors consider AI, how the process your data and how their sub process vendors do the same.

Track website customer behaviour, we use a vendor to clean up the data.  In turn, I have no idea that they are using AI outside of the UK or EU.  Follow the dependency chains as all this needs to be transparent to the end customer if needed.

Monday, 2 June 2025

Copilot Studio 2025 Notes

Copilot Studio is fantastic, the licensing is complex, and the AI integration is excellent. Architects really need to understand Licensing and billing, or AI will get out of control.  The Purview and governance look very good.  Copilot Studio Cost Estimator (preview June 2025)

MS Build 2025: 

MCP Server in Preview - possible to collect data from other AI services or write back.

Connector Kit - So, you can add custom connectors from Power Platform Connectors, including Copilot Studio - sounds great.

Agent Flow - Added functionality to Power Automate flows (Copilot Studio aware), deployed via solutions.

NoteThe M365 Agent Toolkit appears to be an interesting tool that allows agents to perform tasks using Office add-ins with VS Code.

Licensing

You need to be aware:

  • M365 agents - need all end users to have M365 copilot licences, retail $20/user.  Alternatively, users can consume the agents using a PAYG model per message (it racks up quickly).  I can add these to MS Teams, and it appears that people with licences can ask the M365 agent, while others can view the results (some more testing and understanding are needed here by me).
  • Copilot Studio - Requires a Copilot Studio AI Studio/maker licence at $30/retail. Users don't need a licence to use it, but you pay per message, and this can rack up quickly, so watch your usage. Buying in bulk message credits can help reduce the cost.
  • Each prompt generates multiple messages, which are all billable (complex to calculate)
  • (If you use Copilot Studio and it calls Azure AI Foundry, it also bills Tokens (also complex to estimate)
  • Copilot Studio is using the AI Foundry connector via its Premium connector.

Monday, 26 May 2025

Playwright Post 6 - Automating Canvas App MFA login for Playwright unattended for Canvas apps

Overview:  Modern security makes automating logins requiring MFA rather difficult.  This post looks at possible approaches to automate the login.

Option 1. Turn off MFA—not really, but you can set a conditional rule in EntraId to not perform MFA. This is not an option in many enterprises.

Option 2. Time-based One-Time Password (TOTP)—Microsoft Authenticator makes this pretty difficult. At least I can't do it, as the APIS are relatively limited. This is kind of expected, as it's a security measure.

Option 3. Programmatically acquire an access token without browser automation, use MSAL with a client secret or certificate (for confidential clients). 

Option 4.  Use Playwright to record the login and intercept the access token once logged in.  Then you can store it and use it.  There are a few easy options to get the session:

4.1. Retrieve the access token from the response once logged in

4.2. Retrieve from your local storage:

  const token = await page.evaluate(() => {
    return window.localStorage.getItem('adal.idtoken') || window.sessionStorage.getItem('adal.idtoken');
  });
4.3. Retrieve the token using Playwrite at the command run level

Note: This adds the token to my repository. Don't save the token to your repository if you don't realise that the Access/Bearer token will expire depending on what your EntraId sets. The default is 1 hour.

Option 4.3.1. Like option 4.3, use the refresh token to silently generate a new Access token. You store the refresh token during the recorded login (by default, it lasts for 90 days) to generate a new access token when you need it.

Option 4.3.2.  Take it further back to generate the refresh token using the access code you get at the original login, renew the "refresh token", and generate a new access token to run your tests.

If you decide to store your access token, refresh token or code, don't store them in your code repo.  You know why if you got this far.

Thought: as a refresh token works for 90 days on a sliding scale, I've never used the option 4.3.2, as by storing the refresh token, all I need to do is to extend the refresh token by using it to get an access token and the refresh token has 90 days from that point. 

This is the plan I'm thinking of using:

Tuesday, 20 May 2025

Entra AAD Security Groups - Remember

Overview: I have lost count of the number of poor Active Directory and Azure Active Directories I have seen.  I don't think I've ever seen a good Active Directory actually.  Certainly nothing large over 5K users. 

I'm working with a multinational, and we need to improve the security.  Things are a little all over the place, oddly named and inconsistent, basically the normal for an 300k internal user enterprise with history and multiple aquations.

I identify a coupe of properties that will really create a nice hierarchy, issue is I'm using more than the allowed 5k Dynamic AAD Security Groups.  

Group Types to be aware of relating to Entra

1. Static AAD Security Groups

Got to add the users manually, or at least automate the process for anything but the smallest of Entra users.

Static AAD Security groups can be nested.

3. Dynamic AAD Security Groups

Up to 5,000 dynamic groups.

You can inherit Security groups or be inherited (no nesting).

3. Distribution AAD Groups

Used for email and calendars, not security.

4. O365 Groups/Teams Groups

They can inherit O365 groups or AAD Security groups.  They are managed within the org so not the best idea to place heavy security on manually managed teams. 

Resolution:

I have a full hierarchy of users within divisions and subdivisions.  By adding users statically via automation to there lowest level AAD Security Group.  Then I can add the child groups.  This gives me multiple groups that have more and more users in as we go up the hierarchy.  Additive groups with positive security gives me the best options.  

Future Wishes:

If only Entra supported more dynamic AAD Groups per tenant or allowed Dynamic groups to be nested in static AAD groups



Monday, 12 May 2025

Playwright Post 5 - Understanding how Playwright Works

Playwright as a tool consists of two main parts.

Part 1: Playwright Library: This is the automation of a browser using the Page Object Model (POM). It provides a uniform API to run against the 3 main browser engines, automating tasks like navigating, clicking, filling in form data, and validating content on a web page. Classes include APIRequest, APIResponse, and BrowserContext. The worker process runs the API calls sequentially. Unified library API calls are sent to the browser context, which runs unaware of the calling context.  

Top link runs in Node.js and makes API library calls, there is no timing between the Node.js (Controller) and the browser instance (running Chromium instance)

Part 2: Test Runner: This part runs the Playwright tests.


Playwright Series

Wednesday, 30 April 2025

MS Fabric OneLake Shortcuts

 "Shortcuts in Microsoft OneLake allow you to unify your data across domains, clouds, and accounts by creating a single virtual data lake for your entire enterprise.MS Learn

It allows open storage format data to be stored in the source system, metadata is added to OneLake, and the data can be queried; the load is predominantly performed against the source system, e.g., Dataverse/Dynamics.

Clarification: A shortcut is automatically added to MS Fabric for each Dataverse.  Dataverse creates Parquet files (est 5-10% extra data storage, counts against Dataverse storage).  Via the shortcut, report writers or data engineers can access the Dataverse data as though it is inside MS Fabric's OneLake.

Understand: Dataverse creates Parquet files that MS Fabric can look at to generate dataset data.

"Shortcuts are objects in OneLake that point to other storage locations.MS Learn

External shortcuts (data is held at the source system) supports any open format storage format, including: 

  • Apache Iceberg Tables via Snowflake,
  • Parquet files on SnowFlake,
  • Microsoft Dataverse
  • Azure Data Lake Storage (ADLS), 
  • Google Cloud Storage, 
  • Databricks, 
  • Amazon S3 (including Iceberg tables),
  • Apache Spart (Iceberg)
Internal shortcuts supported:
  • SQL Databases: Connect to SQL databases within the Fabric environment.
  • Lakehouses: Reference data within different lakehouses.
  • Warehouses: Reference data stored in data warehouses.
  • Kusto Query Language (KQL) Databases: Connect to data stored in KQL databases.
  • Mirrored Azure Databricks Catalogs: Access data from mirrored Databricks catalogs.
I think these are also Internal shortcuts:
  • PostgreSQL
  • MySQL
  • MongoDB

Example High Level Architecture

External shortcuts with snowflake and Dataverse.


Tuesday, 29 April 2025

PowerBI reporting against ProjectWise (Project Insights)

Overview: Integration with Bentley is fairly complex but the project ProjectWise Project Insights provides a Power BI Custom Connector.  The connector is not certified by Microsoft but it can be used for gaining reporting insights.

Introduction to ProjectWise's Project Insights

These are the instructions I followed and it still works

Power BI report - Simple - Using ProjectWise Project Insights                                        

ProjectWise Posts:

Introduction to ProjectWise and BIM

ProjectWise from Bentley - extend with Powershell

Postman Collection to connect to Bentley's REST API for ProjectWise (WSG)

PowerBI reporting against ProjectWise (Project Insights) - This post

Postman Collection to connect to Bentley's REST API for ProjectWise (WSG)

Overview: Here is a short recording showing how to connect postman to ProjectWise's API's (WSG).

Here is the postman collection: Tutorial on connecting to ProjectWise APIs using Postman

More Info Added Aug 2025: Postman Quickstart (good resource)

A short video (1.5min) if you want to play with the two endpoints I used:


ProjectWise Posts by me:

Introduction to ProjectWise and BIM

ProjectWise from Bentley - extend with Powershell

Postman Collection to connect to Bentley's REST API for ProjectWise (WSG) (this post)

Power BI reporting against ProjectWise (Project Insights) 

Sunday, 13 April 2025

Mendix - Logging & Tracing

Mendix offers a few integrations with various Application and Performance Monitoring (APM) tools.

There is no integration with Azure Monitor.  The closest I have is log files can be downloaded.

Cloud edition allows you to download the log files.

TBC

Friday, 28 March 2025

Power BI Premium to MS Fabric Primer

Power BI Premium allows all users in your enterprise to consume (use) reports, you buy licences separately for the report builders.

Two methods of getting report data: Import Mode (data is not live/real-time, and retrieval is fast) & Direct Query Mode (real-time data, but retrieval is slow)

All Power BI Premium subscriptions will automatically become MS Fabric during 2025. 

Direct Lake Mode

An additional method of querying, "Direct Lake Mode," combines the best aspects of both old methods for retrieving data.  Direct Lake Mode (real-time and fast data retrieval).

OneLake

  • Storage is in Delta Parquet 
  • Data is stored once, along with permissions, when copied into Fabric; the individual Lakehouses, warehouses, and transformations still rely on the original Parquet file data.
  • Shortcuts create a virtual pointer to a variety of data types such as Snowflake, ADSL, ...

Great Visual Descriptions of the 3 options: Comprehensive Guide to Direct Lake Datasets in Microsoft Fabric

Tuesday, 18 March 2025

Microsoft's Copilots Explained as the naming kills me

Microsoft's Copilots products... starting with M365 Copilot options

Source: Screenshot from a presentation, 6 May 2025 - from MS.

1. Microsoft 365 Copilot versions

1.1. Copilot (Microsoft 365 Copilot Chat) (Is Free)

It allows access to ChatGPT-4 with web content.  AI like ChatGPT, Perplexity, ...

1.2. Microsoft 365 Copilot Pro

(+$20/month full retail if bought as an add-on).  Additional features, but not all that M365 Copilot for Business offers.  All users receive Copilot Builder (maker capability), and consumers require the M365 Pro license to utilise M365 Copilot agents.

1.3. Microsoft 365 Copilot for Business



I believe that many people are grouping "M365 Copilot Pro" and "M365 Copilot for Business" together, and only see the free and paid versions of M365 Copilot. 

M365 Copilot Pro for Business (I know :) ) is grounded in the business data you can access in your enterprise.  Inline copilots, including grounded business data inside the office applications.

Microsoft 365 Copilot is an AI-powered Agent with multiple child Copilots for Microsoft 365 apps like Word, PowerPoint, Outlook, Excel, and Teams. It leverages large language models (GPT-4 and GPT-4Pro) and your enterprise data through the Microsoft Graph. To work with M365 Copilot Pro, you need the M365 Copilot license for each user accessing or creating the new agent, which is pricy, per user per month. 

Tip: Optimise results by preparing content!  Like docx, pptx and pdf files. PDF, DOCX, XLSX (kind of), PPTX. Also works on CSV, text, HTML, MD, and WAV audio files.  Supported file type.

Microsoft-specific app copilots included in M365 Copilot Pro:

  • 2.1. Word Copilot: Helps with drafting, rewriting, editing, summarising, and generating new ideas.
  • 2.2. Excel Copilot: Assists with data analysis, generating insights, creating complex formulas, and automating tasks.
  • 2.3. PowerPoint Copilot: Aids in creating presentations, suggesting layouts, creating slides, and enhancing visual content.
  • 2.4. Outlook Copilot: Supports email management, drafting responses, scheduling, and organising tasks.
  • 2.5. OneNote Copilot.
Note: Microsoft Copilot does not allow uploading images/pictures like ChatGPT does as of March 2025, but I don't doubt it is coming.  ChatGPT can also redraw (using DALLe)

Extending the use of M365 Copilot Pro licensing
  1. M365 Copilot takes a no-code approach to building agents with our company data. Each user needs an M365 Copilot Pro licence to access the new bot/agent/copilot.
  2. Copilot Studio is a more advanced way to build copilots and requires a separate license.
Options Building you own Agents/Copilots with business aware data.


Agent Builder - all users need the M365 Copilot Pro licence.
Copilot Studio - requires a Studio Builder licence for each maker, utilising low-code AI for build agents.  Each query is charged using messages as its currency.  There is complex pricing, for instance, a query can cost 13 message credits.
AI Foundry - the individual paid services on Azure relating to AI uses tokens for billing.  A simple query is 4 tokens, depending on how the question is broken down.  Once again, it is difficult to estimate the costs.  

2. Microsoft Dynamics 365 Copilots

Overview of Dynamics 365 Copilots:

Source: Microsoft (I lost the reference)

2.1. Customer Engagement (CRM) Apps

  1. Dynamics 365 Sales – Manage leads, opportunities, and customer relationships.
  2. Dynamics 365 Customer Service – Case management, knowledge base, and omnichannel support.
  3. Dynamics 365 Field Service – Manage field operations, work orders, and technician scheduling.
  4. Dynamics 365 Marketing (now part of Customer Insights - Journeys) – Campaign automation and customer journeys.
  5. Dynamics 365 Customer Insights:
    • Data – Unify and analyse customer data.
    • Journeys – Design and automate personalised customer experiences.
  6. Dynamics 365 Customer Voice – Collect and analyse customer feedback.

2.2. Finance & Operations (ERP) Apps

  1. Dynamics 365 Finance – Core financials, budgeting, and global accounting.
  2. Dynamics 365 Supply Chain Management – Inventory, manufacturing, and logistics.
  3. Dynamics 365 Project Operations – Project planning, resource management, and billing.
  4. Dynamics 365 Commerce – Unified retail, e-commerce, and POS.
  5. Dynamics 365 Human Resources (being merged into Finance) – HR management and employee self-service.

2.3. SMB-Focused App

  • Dynamics 365 Business Central – All-in-one ERP for small and medium-sized businesses (finance, sales, purchasing, inventory, and more).

2.4. Industry-Specific Solutions

  • Microsoft Cloud for Industry (e.g., Healthcare, Financial Services, Manufacturing) – Built on Dynamics 365 and Power Platform with tailored capabilities.

Note: Microsoft D365 Copilot/ Microsoft Copilot for Dynamics 365 and Power Platform/ Dynamics 365 AI are in this area.

3. Copilot Studio

Build copilots and distribute them to the business. This is awesome, but from a naming perspective, it actually makes sense. 

4. Azure AI Foundry

Organisations and developers can use the AI Foundry platform to build AI-driven solutions.  Can use 1,800 models and 200 Azure Services.  There are numerous AI services available on Azure.  I'm not even going to start that conversation.

5. Security & Governance of Microsoft 365 Copilot 

The M365 copilot will respect the Access Controls you have permission to, so Jim in operations won't see Tim's sales figures in a Word document in SharePoint. Jim does not have access to the document from the sales site collection. Therefore, they can't query Copilot for the data they don't have permission to (done using MS Graph).

Purview: DLP improves what your users can do and promotes better governance.  Ensure M365 copilots are used ethically.


Understand how users are using your M365 Copilot.

6. Code Copilots

GitHub Copilot

GitHub Copilot is an AI-powered tool that assists developers in writing code by suggesting snippets and completing lines in real-time. Developed by GitHub and OpenAI, it learns from public code repositories and supports various programming languages and frameworks. Its goal is to boost productivity and reduce repetitive coding tasks.  It's amazing!! And getting better all the time.

Code Copilots: GitHub Copilot extensions in VS and VS Code.  GitHub comes in three flavours: Individual, Business, and Enterprise.

GitHub explains code, optimises your code's performance, improves readability, generates unit tests, improves error handling, adds new code with requested functionality, ensures coding consistency, and improves modularisation to help with the DRY principle.  GitHub is the diggity bomb.

Note: ChatGPR is owned by OpenAI.  Microsoft is a significant investor but does not own the service.

Amazon Q

Amazon Q Developer is an AWS code generator designed for building code and solutions.

7. DSPM (Purview)

DSPM stands for Data Security Posture Management. It's a cybersecurity approach focused on identifying, monitoring, and securing sensitive data across cloud and hybrid environments.  Copilot hooks into DSPM in MS Purview nicely, controlling access using DLP and various other options, e.g. SIT (Sensitive Information Types), tons out of the box but can build custom to help reduce exposure of org data using AI.  Document Fingerprinting also helps reduce exposure. 

Content Explorer in Purview is handy.  

To get all this good stuff, make sure all your data sources are OAuth-enabled.

7. Summary

Naming and complexity with Microsoft are tough. The AI parts are massive. The M365 copilots break down into Dynamics or O365 worlds, each with many options.  I wish Microsoft had a hierarchical, sensible naming system, which no doubt the Marketing department would hate.  Sources must be secured correctly, and purview can help you manage access.

My AI Posts

Sunday, 16 March 2025

SAP LeanIX Intro

  • LeanIx is an SAP Saas product that facilitates Enterprise Architecture (EA) in businesses, utilising dashboards and diagrams to support informed decision-making.   
  • To create the roadmap, align business goals with IT strategy by generating 'As-is' and 'To-be' architectures.
  • Improve integration, reduce complexity, and eliminate duplicate systems to make better decisions.

Note: Using Leanix is an all-in or don't bother tool.  LeanIx provides a comprehensive view of your applications, business processes, and interactions with IT assets.

3 Products make up LeanIX:

  1. Application Portfolio Management: The base product for recording the application landscape allows for inventory dependencies and identifying redundancies to optimise the application landscape.
  2. Architecture and Roadmap: Using the Application Portfolio, visualise the 'As Is' and 'To Be' architectures and visualise the impacts of change.
  3. Tech Risk and Compliance: We verify technology standards and can fund projects to help address data residency rule breaches.

Twelve fact sheets, such as the application fact sheet template, are essential. The meta model is the plan that shows how information in the fact sheets is interconnected.  

The "LeanIX Meta Model" at a high level shows the 4 EA architectural views:  

  1. Data Architecture
  2. Application Architecture
  3. Business Architecture
  4. Technical Architecture 

On top of the four architectural pillars sits Strategy & Transformation, covering:

  • GAP & Roadmap, 
  • Principles, 
  • Requirements and Assumptions.

What I Like:

  1. Inventory of Products, dependencies and link to documentation
  2. Nice predefined reports and the ability to collaborate with stakeholders
  3. Visualise dependencies, excellent reporting capabilities

Note: LeanIX is based on The Open Group Architecture Framework, i.e. TOGAF.  TOGAF's Architecture Development Method (ADM).

Technology Landscape

I love this picture, unfortunately, I don't know where it comes from..




Tuesday, 11 March 2025

SQL Server on Microsoft Fabric

 Release to Public Preview in Nov 2024 and Ignite.

  • SQL Server can be directly used/provisioned within MS Fabric.  This means you get your data instantly into OneLake for reporting, and you have a fully functional relational database.  
  • Supports temporal tables (history)
  • Enable GraphQL to allow secure OAuth access to the data.
  • Stored Procs are supported, and GraphQL API can be enabled on each of them.
  • Fully managed Service by Microsoft.

Sunday, 2 March 2025

Introduction to ProjectWise and BIM

Overview: Bentley Systems is a leader in BIM and working with CAD documents. Bentley's BIM-compliant Document Management System (DMS) is ProjectWise.  BIM aims to improve collaboration between parties and ensure consistent, relevant information is available.  

Goals: Design, Coordinate and Collaborate.

ProjectWise Server

  • Setup DataSource (separate databases), e.g. UK Archive, UK Projects, EU Projects
  • Hierarchy for files (think Windows Explorer view of files)

ISO 19650

  • Manage information (data & Assets) within an Infrastructure project.  Founded in the UK under BIM, it is now an international standard.  
  • Strength is ensuring users are using the correct approved document (stop incorrect versions/info)
  • All versions, comments, and updatedby recorded.
  • Workflow has metadata to be filed for each phase/status change.
  • BIM Statuses
    1. WIP (draft) | Open - only a tiny part of the project team can see the document,
    2. Shared | Review - This can be used by other teams so more people can see the files,
    3. Published - all internal reviews completed.  And ready for the customer,
    4. Archived - Completed 
Tip: Code folders and files within ProjectWise.

Workflows

  • Can create custom workflows such as a peer review or technical approval.
  • There is also the workflow that copies the document and moves it into the next BIM status Folder. So if I change the status in WIP, the document is copied along with its properties, and the major version is incremented.

ProjectWise 365 Services

  1. ProjectWise Web Connections - Web 
  2. Share - Share with 3rd parties
  3. Deliverable Management - create the output for the customer, including comments made on documents
  4. Project Insights - analytics on each project that can show if it is late or the status is not correct. 
  5. Forms

ProjectWise Web

  • Standard UI that shows the folder and file hierarchy and can search for files
  • Attributes are just document metadata that is relevant to the file.
  • Files can be checked in and out so they are locked to you.
  • Link files in Deliverables or create Document Sets (basically group documents) into a file/container.
  • Files can be assigned to workflows such as a peer review...

ProjectWise Drive

  • Download and install on each laptop
  • Can use Windows Explorer to work with files as if on the local machine (as if on an SMB file share)

BIM Dimensions

3D - Geometry (Drawing) including metadata such as width and weight and hierarchy

4D - Scheduling

5D - Cost Estimation

6D - Lifecycle

7D - Asset Management


Note: 360 - Is AutoCAD's equivalent to ProjectWise.
Big providers of technology for the BOM framework are Bentley and AutoDesk.

BIM Execution Plan (BEP)

Plan prepared to manage BOM activities


Sunday, 23 February 2025

Agile Project Management Thoughts

Initially, this post was on keeping Project Management Simple.  This works well for small and medium-sized projects.  How I think Kanban boards are excellent, I like MS Planner as it's built into MS Teams and Outlook and stores project documentation within SharePoint connected to MS Teams.

There is a ton of sound Project Management software and approaches.  

Primavera (P6) - Oracle

Strong Project Management software focusing on the Construction and Infrastructure industry.  

Microsoft Project

A project management tool that offers advanced features such as tracking dependencies, costs, and complex project schedules. It is suitable for larger projects that require detailed planning and management. MS Project can be used in various forms, including Project for the Web, Project Online, and the Project desktop application.

Microsoft Planner

Microsoft Planner is a web-based planning application that allows you to assign and discuss tasks, manage tickets, and view progress charts. It is integrated with Microsoft Teams and Outlook, making it easy to organise team tasks and collaborate.

Problem-Solving (Explore/Interview Process to build IT solutions)


McKenzie Problem-Solving Approach

  1. Define the problems
  2. Find the root cause
  3. Use “hypothesis-driven” process
  4. Analyze with “issue tree”
  5. Propose solutions

My preferred approach is the three-step Problem-Solving approach:

  1. Problem
  2. Initial Hypothesis
  3. Proposed Resolution

Repeat until fixed/solved.