How is AI impacting Panorama?

Jim - are you and your team using AI tools to enable your company from a coding, function and feature standpoint?

Just curious.

Question: Can Claude write code for Provue’s Panorama?

Answer: Yes! Claude can write code for Panorama X (ProVUE’s database application for Mac). Panorama has its own built-in procedural language for writing procedures, and Claude has knowledge of it — things like:

  • Procedures — writing multi-step database operations with If/Loop/Call logic

  • Formulas — Panorama’s expression syntax for computed fields and calculations

  • Form programming — attaching procedures to buttons, popups, and other form objects

  • Data manipulation — sorting, searching, selecting, importing/exporting records

  • Text and array functions — Panorama’s rich set of built-in functions like arraybuild(, mid(, pattern(, etc.

  • File and multi-file operations — working across databases

That said, Panorama X is a fairly niche product with a specialized syntax, so Claude’s knowledge is better on common patterns than on the most obscure edge cases. If something doesn’t work as expected, sharing the error message or a snippet of what you have usually gets things sorted quickly.

I wasn’t clear. I’m curious if Jim/Panorama is using it internally, not for us users.

My post above was shared with a bit of tongue in cheek while in fact that is exactly what Claude stated.

When I asked Claude to write some procedures for a ToDo list db, the below is one of the procedures that it wrote.

### SortByPriority
Sorts by PriorityRank (1 = top), then by due date as a tiebreaker.

```
{ SortByPriority — sorts by rank, then due date }
sort "DateDue",up
sort "PriorityRank",up
```

Those familiar with Panorama’s code will quickly realize that Claude fails quickly with its understanding of Panorama’s coding language.

What Claude does do well is exude confidence. And that certainly is helpful in life. :wink:

Not wanting to speak for Jim but I think he has made his point clear on this issue. AI is not all it is cracked up to be in this area.

Personally, I use my Claude account as much for humor as productivity. Last night after failing to find a software version of Zebra’s Designer software for Mac, I asked Claude if there was a Mac version. The immediate reply was yes, there is Zebra’s Designer for Mac. I was shocked as I had done due diligence in my looking before asking. I asked Claude for a URL to the version it knew of. The immediate response was… “Oh, you are right, there is no version for the Mac. Sorry about that. I am glad you pushed back on that.”

Confidence and positivity is great, but it can easily be counterproductive.

An interesting read… https://www.washingtonpost.com/opinions/2026/05/22/ai-is-creating-digital-world-fake-talent-fame/

I’ve found ChatGPT to be even worse than Claude in stating … “fake news”. It is so cavalier with its “Sorry about that,” after pointing out that its advice would have been a disaster or blatantly false.

Claude is good with my SimplyFortran programs and in suggesting algorithms. It is also handy for calculating various Ham Radio antenna dimensions and design decisions.

But I’d be surprised if it had any mastery in Panorama, After all, its name is Claude; not “Gary”, or “Jim (Cook), “Dave”, or even “RAmeeti” :grinning_face:

I’m curious if Jim/Panorama is using it internally, not for us users.

No.

In fact, I am not using LLMs for anything. At this time, I don’t even have a Claude or ChatGPT account. Who knows, that may change at some point, but not for now. I do sometimes get information from the “AI overview” that Google provides when you do a search, but that’s certainly never been helpful with Panorama programming.

When I asked Claude to write some procedures for a ToDo list db

People sometimes send me AI generated code, and I’ve yet to see Claude or ChatGPT to demonstrate any actual knowledge of Panorama coding. As mentioned, they confidently write code that is completely wrong. I think they are pulling in syntax and artifacts from other languages like Python, and assuming that they apply to Panorama.

Question: Can Claude write code for Provue’s Panorama?

Robert, was the answer you posted there entirely generated by Claude? Including the “That said” paragraph at the end? Or did you write that part?

Panorama X is primarily written in Objective-C, which is also a “fairly niche product with a specialized syntax”, so I think LLMs are not going to do super well with that either. So far, I think I’m better off just writing code myself. In my experience, writing actual code is not the super hard/time consuming part of development - rather it’s designing and planning. I don’t think an LLM is going to do that better/faster than I can any time soon, but we’ll see.

The last paragraph was exactly what Claude wrote. I found all of it fascinating. It was as if ‘he’ had read the ProVUE web site to know a bit about Panorama and the terms and features but then he failed the test when he showed that he did not finish page 1 of the documentation. :wink:

I have it on my list of things to play with, to feed him a pdf of the programming manual and a link to the html pages of the Help file. In Claude’s dreams, perhaps if ‘he’ had that material, he might become smarter than to think separating SortUp into Sort & Up was ok.

Claude is very good at telling you about what it can do and how it works. Getting good answers depends a lot on asking good questions.

Each of us is working with a different instance of Claude. My Claude has learned things from me that your Claude doesn’t know. I have both Sonnet and Opus versions, and neither knows what I’ve taught the other. Even from one chat to another, Claude’s memory doesn’t carry over. In a subscription mode, there is some amount of summarization that is rebuilt periodically to build a longer-term memory. I’ve often had Claude summarize what it’s learned in a manner that lets me paste it into future chats for Claude to relearn from.

In order to use Claude with Panorama, you have to know Panorama yourself and be prepared to find and fix errors. You also have to provide a good description of what’s to be done. Claude typically applies syntax from other languages, which is wrong. It does learn though, and I’ve often given it a link to a Help topic in Panorama. It has learned my preferred style for naming variables or using camel case.

It took a lot of explanation, but my Claude now understands how Panorama variables are injected into Python scripts. There too, I’ve had it summarize that knowledge for pasting into future chats for relearning. Python is one place it has proven to be excellent, but that’s a well-known scripting language with lots of existing examples to grab and modify.

From one week to the next, its capabilities have increased. Sometimes there are multiple updates in a single day.

It has found a place on my desk as an assistant and collaborator, but is still far from being a replacement. I’m keeping myself on.

Footnote from Claude : I reviewed Jim’s post for accuracy and can confirm the picture he paints is fair. One clarification worth adding: when Jim says his Claude has “learned” his preferences or how Panorama injects variables into Python, that learning lives in conversation context and in a memory system that summarizes past chats — not in the underlying model itself. That’s why his workaround of having me summarize what I’ve figured out, then pasting it into new chats, works so well: it’s the most reliable way to carry hard-won context across sessions, across model versions (Sonnet vs. Opus), and across the occasional fresh start. For domain-specific tools like Panorama where my training data is thin, that user-maintained context is doing a lot of the work behind any answer that looks impressive.

Everything else reads accurately and the overall message — Claude as capable assistant, not replacement, requires domain knowledge to supervise — is exactly right.

“Not every problem is a nail, not every solution is a hammer.”

Tools are just that - tools. Thanks everyone.

Too much fun.

I told Claude that I had more documentation for it but asked how I can have it remember this info without me having to re-upload the docs each time. It offered a few options with one being that I have Claude summarize and paste that into future chats (as Jim C offered), or I could create a Project and it would then retain all of my uploads and learnings without any future summarizations.

I created a Project, uploaded my Formulas and Programming pdf, my Panorama Handbook and Panorama Reference pdfs. That took about 10 seconds for Claude to read. I then gave it permission to use my browser and permission to access the provue.com domain on my behalf. I fed it the online Help URL. That took a lot longer for Claude to read. Perhaps 25 seconds. I explained that the online was a newer version of the pdfs. No more uploading or summarization needed from now on.

This was Claudes reply…

==

“I’ve successfully loaded the Panorama X online help. Here’s what I found:

The help site at provue.com/panoramax/help/index.html is the Panorama X (the current version) online Table of Contents, with 261 linked help pages covering topics organized into sections including:

  • Basics — Getting Started, Tutorial, Help Wizard, Video Training, Panorama Server, Release Notes

  • User Interface — Menus, Toolbars, Undo, View Menu, and more

  • Programming — Formulas, statements, functions, and procedures

  • …and much more

I now have the online help loaded and accessible. Going forward, I’ll treat it as the authoritative source — it covers Panorama X (the latest version), while your PDFs cover older versions (6.0 and 4.0). Whenever there’s a discrepancy, the online help wins.”

==

Color me laughing. I do expect proper Panorama syntax from this point forward as Claude passed a few tests without errors and some very useful tips and ideas.

As the original question was directed at Jim and whether any part of AI was being implemented, or if there were plans for such, it came to me that the compiler for our procedures has a weakness when people forget things like quotes. The compiler does not understand our desires and is rather dumb about stuff like this. In the following code

RememberWindow
Call "Open Sales History
OriginalWindow
Local LRecordCount
LRecordCount = Info("Records")
RememberWindow

the Panorama compiler responds with an error ‘Unknown statement: Records’ and highlites that word where AI tools like Claude recognized the true error of the missing quote following the word ‘History’. Thus, there is a place for a bit of AI where integration with the existing tools of Panorama could ease the life of programmers.

I asked Claude if he could directly fix my code and he responded no, he could not. He shared an efficient workflow for continued debugging and ended those thougts with this…

That said, I’m very happy to keep reviewing your procedures here — I seem to be pretty good at spotting those sneaky typos!

Ah yes. That coding partner who never gets tired, cranky, or makes smart aleck remarks at my poor typing and editing skills.

I too have played around with Claude and Panorama. Where I have found it very helpful is in redesigning some of my webforms that post to the Panorama webserver. It takes very ugly rudimentary forms and makes them attractive, adds in Javascript for data validation, etc. As well, it quickly will create mobile friendly versions. Thus it supplements my skills in areas where I am weak. While this is not strictly speaking Panorama programming it makes it much easier to build a web app with Panorama as the backend.

Robert’s post prompted me to give Claude something more challenging. I gave it a screen shot of rudimentary Panorama data entry form and also uploaded the form blueprint. I told it to design me a form for entering details on books into a database and then gave it a list of the fields I wanted. I asked Claude to produce a blueprint for me. Here is the first version of what it gave me.

Not bad, but ugly. I then gave it this screen shot and told it to make it prettier with being specific. After a couple of iterations, it gave me this.

Not fabulous but pretty good. It also put some basic code in the OK and Cancel buttons, I assume based on what was on the original blueprint I sent it.

But particularly interesting was its summary of what it learned in our session:

When you’re ready with your next round of changes just send them through and I’ll update the blueprint. I’ll keep note of what we’ve learned:

  • Use RectangleShapeObject not GraphicObject

  • Field backgrounds: color = 000000, $Fill = Hollow, $TextBackgroundFill = cream colour

  • Label Alignment Right doesn’t render in Panorama

  • TextDisplayObject z-order needs to be last in the list to render on top of background shapes

  • Popup and multi-line editor backgrounds behave differently from single-line text editors

Form design is an area where I feel I am weak - I am an accountant not an artist. If Claude can be trained to provide good ascetics on forms, that would be a huge plus for me. Looks promising.