AI cannot write complex inter-connected code

Or why the Commtap Symboliser for PowerPoint won’t be ported to Mac any time soon.

Background

Our symbolising software is built using VBA. With over 250 modules it has tens of thousands of lines of code. This code interacts with other code only available on Windows. Windows installers are used to install it on a computer. These use a combination of Windows Installer XML, Pascal, Visual Basic and batch scripting.

I asked AI (Copilot) (1) how difficult it would be to adapt this code to work on a Mac, and (2) if AI could help. The responses: (1) very difficult, and (2) not much.

Conversation

ME:

I have an add-in for PowerPoint which can be installed on a computer using an MSI installer (for all users) or with an exe installer (for the current user). It makes modifications to the registry – in particular to store a user’s license to use the software. The add-in interacts with shapes and text in slides, it also uses a number of Windows libraries including FileSystemObject, dictionaries, locale, HTTP. How easy or difficult is this likely to be to port to PowerPoint on a Mac – i.e. the changes in code that will be needed?

COPILOT:

Porting a Windows‑built PowerPoint add‑in to macOS is absolutely possible — but the ease or difficulty depends almost entirely on how deeply your current solution relies on Windows‑only technologies. Based on what you’ve described, this is not a light lift. Let me break it down in a way that’s honest, practical, and helps you see where the real work sits.


⭐ High‑level answer

Porting this to Mac will be moderately to very difficult because your add‑in depends on several Windows‑specific components:

  • Windows registry
  • Windows‑only COM libraries (FileSystemObject, dictionaries, HTTP, locale APIs)
  • MSI/EXE installers
  • VBA that assumes Windows paths, encodings, and COM behaviour
  • PowerPoint object model differences between Windows and Mac

You’re not facing a simple “recompile and ship” situation — you’re facing a partial architectural rewrite.


🔍 Let’s break it down by component

1. Installer + Licensing (Registry Use)

❌ Windows‑only behaviour

  • macOS has no registry
  • MSI/EXE installers don’t exist
  • User‑level vs machine‑level installation works differently
  • Licensing data must be stored elsewhere (e.g., plist, JSON file, Keychain)

✔ What you’d need to do

  • Replace registry reads/writes with:
    • a file in ~/Library/Application Support/<YourApp>/
    • or macOS Keychain (if you want secure storage)
  • Replace MSI/EXE with:
    • a simple PKG installer
    • or a drag‑and‑drop installation
    • or a cross‑platform Office add‑in deployment method (see below)

Difficulty: High
This is a fundamental architectural change.


2. Windows Libraries (FSO, Dictionaries, Locale, HTTP)

These are all COM‑based and do not exist on macOS.

❌ Not available on Mac

  • Scripting.FileSystemObject
  • Scripting.Dictionary
  • WinHttp.WinHttpRequest
  • Windows locale APIs
  • Any COM automation

✔ What you’d need to do

Replace each one with Mac‑safe equivalents:

Windows ComponentMac‑safe Alternative
FileSystemObjectNative VBA file functions or AppleScript
Scripting.DictionaryVBA Collection or custom class
WinHttpRequestXMLHTTP (works cross‑platform) or a custom HTTP wrapper
Locale APIsVBA’s Format, Application.LanguageSettings, or custom logic

Difficulty: Medium–High
You’ll be rewriting chunks of logic, not just swapping references.


3. PowerPoint Object Model Differences

The PowerPoint object model is mostly shared, but:

  • TextFrame/TextRange behaviour differs
  • Font metrics differ
  • Shape manipulation is less predictable on Mac
  • Some events don’t fire
  • Some methods behave differently or are missing

If your add‑in interacts heavily with shapes and text (which yours does), you will hit:

  • layout differences
  • measurement differences
  • missing methods
  • inconsistent behaviour between versions

Difficulty: Medium
Expect debugging and conditional code paths.


4. Deployment Model: VSTO vs VBA vs Office Web Add‑in

This is the biggest strategic question.

If your add‑in is VSTO or COM‑based:

❌ It will not run on Mac at all.
You would need a complete rewrite using:

  • Office JavaScript API (Office Web Add‑in)
  • or a pure VBA add‑in (with Mac‑safe code)

If your add‑in is VBA‑only:

✔ It can run on Mac, but only after removing all Windows‑specific dependencies.

Difficulty: Ranges from Medium to Extreme depending on architecture.


⭐ Overall difficulty rating

ComponentDifficultyWhy
Licensing & registryHighRequires new storage model
Windows COM librariesHighMust be replaced entirely
PowerPoint object model differencesMediumBehavioural inconsistencies
Installer modelMediumMust adopt Mac‑native or cross‑platform deployment
If VSTO/COM add‑inVery HighRequires full rewrite
If VBA add‑inMedium–HighRequires significant refactoring

🎯 The honest bottom line

If your current add‑in is:

VSTO / COM / MSI‑based

Porting to Mac = a full redevelopment project
The only viable path is to rebuild as an Office Web Add‑in using JavaScript.

VBA‑only but uses Windows libraries

Porting is possible but requires substantial code rewriting
You’ll need to replace every Windows‑specific dependency and test heavily on macOS.


If you want, I can go deeper

I can help you:

  • Map out exactly which parts of your codebase will break on Mac
  • Suggest cross‑platform replacements for each Windows API you use
  • Outline a migration plan (VBA → cross‑platform VBA, or VSTO → Office JS)
  • Estimate effort based on your architecture
  • Draft a compatibility checklist for your team

Just tell me what direction you want to explore.

ME:

Someone said to me, couldn’t you just use AI to do that. To be honest I nearly choked on my tea when she said that. I think AI can do some basic things. But to rewrite a code base which has tens of thousands of lines I think that’s unlikely. What’s your take?

COPILOT:

Your reaction was completely justified — the idea that “AI can just rewrite tens of thousands of lines of platform‑specific code” is one of those statements that sounds plausible only if you’ve never actually maintained a real‑world codebase.

Here’s the grounded, technical reality.


🔧 AI can help with code, but it cannot magically port a complex Windows‑bound add‑in to macOS

AI is good at:

  • generating small, self‑contained functions
  • refactoring within a single platform
  • explaining code
  • producing boilerplate
  • helping you explore alternative patterns

But what you’re talking about isn’t “rewrite this function in a different style”.
It’s architectural migration.

That’s a completely different category of work.


🧱 Why AI can’t simply “port” your add‑in

1. It’s not a translation problem — it’s a dependency problem

Your add‑in relies on:

  • Windows registry
  • MSI/EXE installers
  • COM libraries (FSO, Dictionary, WinHTTP, locale APIs)
  • Windows‑specific PowerPoint behaviours
  • Windows file paths, encodings, and security models

macOS has:

  • no registry
  • no COM
  • different file system semantics
  • different PowerPoint object model quirks
  • different security and sandboxing rules

AI can’t “translate” something that has no equivalent.
A human has to redesign the architecture.


2. AI doesn’t understand your business logic or constraints

Even if AI rewrote every line, it wouldn’t know:

  • why you made certain design choices
  • what edge cases matter
  • what your licensing model requires
  • what your users expect
  • what your performance constraints are

Porting isn’t just code — it’s intent, context, and architecture.


3. Tens of thousands of lines = interdependencies AI can’t safely untangle

Large codebases have:

  • implicit assumptions
  • hidden coupling
  • undocumented behaviours
  • legacy decisions
  • workarounds for platform quirks

AI can’t reliably infer these.
You can’t just “feed it the repo” and expect a coherent, working Mac version to pop out.


4. Cross‑platform PowerPoint development is fundamentally different

If you move to:

  • Office JavaScript API → you’re rewriting the entire add‑in
  • VBA on Mac → you’re removing all Windows‑specific components and replacing them manually

AI can assist with snippets, but it cannot design the new architecture.


🧠 So what can AI realistically do?

It can:

  • help you identify Windows‑specific dependencies
  • propose Mac‑safe alternatives
  • rewrite small modules once you define the architecture
  • generate boilerplate for Office JS
  • help document the migration plan
  • assist with testing and refactoring

But it cannot:

  • redesign your licensing model
  • replace COM with Mac equivalents
  • rewrite your installer strategy
  • resolve PowerPoint behavioural differences
  • guarantee correctness across thousands of lines

Those require human engineering judgement.


🎯 My take, in one sentence

AI is a powerful assistant, but porting a large, Windows‑dependent PowerPoint add‑in to macOS is a human‑led engineering project — not something you can outsource to a chatbot.


Adding symbols to documents for communication accessibility

To make documents communication-accessible, it’s good practice to add a small number of symbols to extract the core meaning from blocks of text.

It’s recommended that you use 3-4 symbols above each block of text or paragraph.

How much to symbolise in lesson content. This advice applies to any materials you are trying to make more communication-accessible, for both adults and children.

Methods for adding symbols to documents

Method 1: use the Commtap Symboliser for PowerPoint

  • This works in PowerPoint for Windows.
  • It’s specifically designed to make it simple to add a small number of symbols to blocks of text or paragraphs.
  • Without any extra effort, you can create grids of all symbols used in a document – this can be useful for providing even more support for adaptive teaching.
  • PowerPoint documents can be opened with lots of different software and on Windows, Macs, phones and tablets – so you will always be able to share your documents in a way that’s editable.
  • Con: the Commtap Symboliser for PowerPoint cannot be installed on macs.

Method 2: Use software like Widgit online, Widgit Communicate In Print, Boardmaker

  • You can make your materials directly with any of these programmes.
  • You may need to remove extra symbols. Some of these programmes will add a symbol for every word you write. This will probably be too many symbols.
  • These programmes have less features than programmes like PowerPoint.
  • You might not be able to share documents created with these programmes in a way that is editable by people who haven’t purchased the symbolising software.

Method 3: Use commercial software such as Widgit online or Boardmaker with whatever software you use for making materials

  1. In your document, type text ensuring that you have left some space between blocks of text to insert symbols.
  2. Choose three or four key words from a block.
  3. Type the key words into your symbols software: for better results, set the symbols to appear larger.
  4. Copy and paste the images from your symbols software into your document:
    • Windows:
      • Copy the set of images: hold down windows-button shift and “s” then release.
      • Drag the mouse across the screen to select the images.
      • Paste the images into your document: ctrl and “v”.
    • Mac:
      • Copy the set of images: hold down ctrl shift cmd and “4” then release.
      • Drag the mouse across the screen to select the images.
      • Paste the images into your document: cmd and “v”.

Method 4: Use free symbols with whatever document software you are using

Use one of these free sources of symbols and copy and paste them into your document. Ensure you only use a small number of symbols above each block of text.

  • Arasaac – over 10,000 symbols available in multiple languages
  • Global Symbols – symbols from various symbol sets and multiple languages

Supporting children with communication difficulties in mainstream classes

Contact: Neil Thompson

For immediate release: 27th May 2020

Selected mainstream schools will have the opportunity to get free support in using communication symbols with children with communication and learning difficulties in class.

We are conducting a short survey to look at the range of general strategies that mainstream teachers use to support children who struggle to access lessons. These include children with communication, learning or literacy difficulties.

Specialist teachers and speech and language therapists often recommend using visuals to support these children, and recent research backs up this recommendation (1). However it is often difficult for teachers to use this strategy effectively in practice. We are particularly keen to find out about teachers’ use of communication symbols and what barriers lie in the way of their use.

Following on from the survey we hope to offer selected mainstream schools free support and software for using symbols in a way that can be easily and painlessly integrated into existing lesson planning and delivery.

Fill in the survey: https://www.surveymonkey.co.uk/r/JS629YJ

More information about the proposed project: https://home.commtap.org/2020/05/18/commtap-symbols-in-schools-project/

Background information

  • The incidence of special educational needs amongst children across the UK is around 15% (2) (3) (4).
  • A typical classroom will have 3-4 children with a known special need which in many cases will impact on reading and/or communication.
  • Accessing lessons through text for these children will be difficult and can lead to disengagement from lessons.
  • As children return to school after months at home due to the Covid-19 pandemic, it will be even more important that strong supports are in place to help them with the new routine – communication symbols can play a key role in strengthening this support.
  • About communication symbols: https://en.commtap.org/additional-resource/symbols-overview-and-sources.

Commtap CIC

Commtap CIC is a not for profit company which supports those who support children and adults with communication difficulties.

It does this through:

###

References

1. Evidence for the effectiveness of visual supports in helping children with disabilities access the mainstream primary school curriculum. Foster-Cohen, Susan and Mirfin-Veitch, Brigit. 2, s.l. : NASEN, 2017, Journal of Research in Special Educational Needs, Vol. 17, pp. 79-86.

2. UK Government. National Statistics Special educational needs in England: January 2018. GOV.UK. [Online] 8 August 2018. [Cited: 3 July 2019.] https://www.gov.uk/government/statistics/special-educational-needs-in-england-january-2018.

3. Scottish Government. School Pupil Census 2013. STATISTICS.GOV.SCOT. [Online] 2013. [Cited: 03 07 2019.] https://statistics.gov.scot/resource?uri=http%3A%2F%2Fstatistics.gov.scot%2Fdata%2Fschool-pupil-census.

4. Wales Government. Special educational needs. StatsWales. [Online] 2016. [Cited: 3 July 2019.] https://statswales.gov.wales/Catalogue/Education-and-Skills/Schools-and-Teachers/Schools-Census/Pupil-Level-Annual-School-Census/Special-Educational-Needs.

Commtap Symbols in Schools Project

We are looking for schools who would be interested in taking part in an exciting project exploring the use of communication symbols in mainstream schools.

Are you interested in (or concerned about) any of the following?

  • Being more easily able to differentiate lessons to include children with communication and/or learning difficulties.
  • Being more easily able to communicate the schedule and routines for all children in the class.
  • Having worksheets that work for both more and less able children in a class.
  • Easing children’s frustrations or anxieties from not knowing what to do/what’s going on.

What we can offer:

  • A method for easily adding communication symbols to lesson materials created in PowerPoint (a free subscription for one year to the Commtap Symboliser for PowerPoint for as many staff as would like to use it).
  • Free training/support for your staff in using communication symbols in school.
  • Working with your school to work out what is and isn’t practical for you in terms of communication symbol use.
  • Working with your IT department to help get things set up in a way that best suits your school.

What we would like from you:

  • Feedback about what is and isn’t helpful in terms of communication symbol use.
  • How practical it is using communication symbols.
  • If and how children have benefitted from the use of communication symbols.

Who we are:

Commtap CIC is a not for profit organisation which is a member of the Communication Consortium (commtap.org/tct). It was formed in 2005 by a group of specialist teachers and speech and language therapists. It provides a free website for sharing ideas for supporting children with communication difficulties and software to assist in this process (commtap.org).

Complete the survey

Fill in this short survey to let us know your views on strategies for supporting children with communication and learning difficulties including using communication symbols.

Register your interest

If you or your school are interested in participating in this project or if you would just like to find out more, please contact Neil.

Downloading and using a symbol set to use with the Commtap Symboliser in PowerPoint

If you are using the Commtap Symboliser for PowerPoint, to get the full benefit you will need to add at least one symbol set.

As an example, I will show you how to download and use the large and free Arasaac symbol set.

Follow on in the video above, or follow the steps below:

  1. In the Commtap Symboliser group, click on “Preferences”.
  2. In the box, click on “Get more symbols”. This takes you to the “Symbol Sets” page on the Commtap Symboliser website.
  3. Scroll down to “Arasaac Symbols” and  click on the link to get it from the Commtap resources website. You can also download it from Arasaac – but this version includes more words. The symbol set can be used for non-commercial purposes.
  4. Scroll down and click on download.
  5. Choose to save the file. This may take a few minutes.
  6. Find the file you downloaded. Right click on it and choose “Extract all…” and then “Extract”. This will take a minute or two.
  7. Move the new folder called “Arasaac colour” (not the zip file) to somewhere safe on your computer.
  8. Go back to PowerPoint. In the Symboliser preferences box, click on “Create Word List from Folder”.
  9. Browse to the folder you just copied. Click on OK, and then on OK again: this tells PowerPoint where to find all the picture symbols in the set you just downloaded.
  10. Enable the new symbol list by clicking in the box next to its name. Close the preferences box.
  11. You can now symbolise words using the new symbol set.