This article originally appeared in TidBITS on 2017-11-03 at 1:02 p.m.
The permanent URL for this article is: http://tidbits.com/article/17613
Include images: Off

Panorama X Brings the Legendary Mac Database Back to the Future

by Joe Kissell

ProVUE Development has released Panorama X [1], a long-awaited update to the legendary RAM-based relational database for macOS that was one of the very first apps for the Mac. The new version — rewritten from scratch as a modern Cocoa app — took six years to develop, and every bit of that shows. The lists of new [2] and updated [3] features are each a mile long, and they’re astonishing in both breadth and depth. Among the highlights are Unicode support, unlimited undo, a modern user interface, regular expression support, a map display, and embedded Web content. But that barely scratches the surface. Panorama X is basically the soul of Panorama 6 transplanted into a new body that’s vastly more fit, flexible, and attractive. Panorama X also introduces a new user-friendly licensing and pricing scheme; more on this ahead.

For those of you who were not already familiar with it, Panorama is to databases as Nisus Writer Pro is to word processors. That is to say: it doesn’t merely get the job done; it’s endlessly flexible, customizable, and programmable, so you can make it do whatever you need it to do. Just as Nisus Writer Pro can slice and dice text in any conceivable way, Panorama can do the same with structured data. It’s also entirely RAM-based, which means it’s exceptionally fast — reading from and writing to your disk or SSD won’t slow it down.

[image link] [4]

The only problem — and it was a pretty big one — was that for years, Panorama had been increasingly behind the technological curve. Panorama 6 wasn’t a 64-bit app, it didn’t support Unicode, it had a homely and old-fashioned user interface, and it suffered from a long list of other limitations that were frustrating for people using recent versions of macOS. Developer Jim Rea decided it was time to rebuild the app from the ground up, and it has been a long but rewarding process. The new version has virtually all the capabilities of the old one — and many more — without those drawbacks, and in a form that’s both more comfortable to use and far more sustainable.

I’ve been using beta versions of Panorama X for months, with huge data sets, in the mission-critical environment of running Take Control. Although the beta versions contained the usual sorts of bugs one expects in a beta, they never resulted in data loss, and the final release has been solid for me. In fact, it’s surprisingly hard to lose data in Panorama X, even if you screw up an entry or deletion, or botch an operation that affects every record in your database. I’ve never used a database app with such extensive support for undoing or redoing virtually any action or series of actions.

Although Panorama X is a fine general-purpose Mac database app, the people most keen to give it a try — yet also perhaps the most circumspect — are undoubtedly long-time Panorama 6 users. Panorama X can import Panorama 6 databases quickly and easily, and most work fine without any modification. However, because there were some unavoidable differences in Panorama X’s programming language, some procedures created in earlier versions may need updating. I found that to be the case with the databases Take Control uses for tracking books, coupons, orders, royalties, and so on: a number of our custom procedures required minor rewriting, and a few forms we use for creating royalty statements had to be adjusted. But these were one-time changes, and ProVUE was quick to offer assistance when I ran into confusion.

Allow me to say a few words about those aforementioned procedures. Panorama X has a built-in procedural programming language that’s not quite like any other language, yet similar enough to many that anyone with programming experience should be able to pick it up quickly. (Unlike developer-provided documentation for most programming languages, the built-in help is both thorough and genuinely helpful — and you get not only text but also tutorial videos to help you learn.) Panorama X’s programming language can do much more than run simple scripts; it can create and modify user interface elements, and can even be built into specific database fields so that code runs automatically when a value is added.

[image link] [5]

As a testament to the power of this language, large portions of Panorama X itself are written in it. So if the Find and Replace dialog doesn’t work the way you want it to, no problem; you can make your own that does just what you want. Furthermore, you’re not limited to the capabilities of the Panorama language. Your procedures can also contain code written in AppleScript, JavaScript, Perl, PHP, Python, or Ruby, as well as shell scripts.

Procedures are just one way to customize Panorama X. You can also create or modify menus, toolbars, and other interface elements; add icons from the included Font Awesome [6] package; create forms with buttons, pop-up menus, sliders, and suchlike; and indeed build powerful applications using the available tools.

[image link] [7]

What’s Not There (At Least, Not Yet) -- For most of my database needs, Panorama X is a perfect fit: I need to gather (download, import, or manually enter) a bunch of data; format it just so; and run lots of calculations, sorts, and other manipulations on it. All this happens on my Mac, and that’s fine.

But as of today, if I want to share that data in real time with another Panorama user here in the Take Control Galactic Headquarters, there’s no convenient way to do so. That’s because the server version of Panorama X isn’t quite ready yet; ProVUE says it’s coming in the first half of 2018. Once that ships, multiple users will be able to access the same data at the same time.

Even then, those people will have to be Mac users (running OS X 10.9 Mavericks or later). Although the earlier version of Panorama was available for Windows, Panorama X, which was written in Objective-C, is an Apple-only product. ProVUE has plans for an iOS version, but they’ll come to fruition only after Panorama X Server, and the company has not announced a projected time frame. I can’t tell you how thrilled I’d be to run royalties for our authors on my iPad Pro, but time will tell whether or to what extent that becomes feasible.

I should also note that the current, single-user version of Panorama X is not designed to function as a back-end database for a Web server. Panorama X Server will be able to do just that, along with supporting multiple users on a local network. That said, one could use, for example, a shell script embedded in a Panorama X procedure to talk to a local or remote MySQL database that was in turn used by a Web app. I’ve done enough testing to know that the process works, but I haven’t made any real use of this capability yet.

Finally, Panorama X is best at storing and processing numeric and textual data, including rich text. Although the app can also store binary data, like images, the fact that Panorama keeps your entire database in RAM imposes practical limits on the types and amounts of binary data you might want to store in it. Therefore it’s best to store any non-alphanumeric data as separate files and simply include references to that data in your Panorama database. Even then, displaying that data within Panorama X requires a number of non-obvious steps. The documentation explains one way to display images that are stored as separate files [8], but it would take some creativity and programming effort to create a form element that operates roughly like FileMaker Pro [9] containers, which let you drag in pretty much any file and can display many kinds of content, including photos, movies, and PDFs, with essentially no extra work.

Pricing -- Panorama X uses an entirely new approach to licensing and pricing. I know what you’re thinking: Oh No, Not Another Subscription App. Right? Of course that’s what you’re thinking. ProVUE knows that customers have a love-hate (but mostly hate) relationship with subscriptions, but at the same time, the company needs dependable, recurring revenue. So Jim Rea has come up with a new way of doing subscriptions that I haven’t seen before.

It works like this: You have to set up an account and purchase one or more credits to use Panorama X. To oversimplify slightly, think of a credit as permission to run Panorama X on one Mac for a month. If you want to use Panorama X for just one month, fine: buy one credit, one time, for $15 — no strings attached. But the more credits you buy, the lower the cost. So, a 12-month subscription costs $100 ($8.33 per month), but if you buy 60 credits — enough to last one user 5 years — that’ll set you back only $300, or just $5 per month.

Credits are based on concurrent usage. So if you use Panorama X on two Macs during a given month, but never at the same time, those computers effectively share a credit. Use two computers simultaneously on the same account, however, and that’ll cost you a second credit. On the other hand, if you don’t use Panorama X at all in a given month, you won’t use up any credits, and those unused credits roll over to the next month. For intermittent usage, even a 12-month subscription could last several years.

Because of this system of checking credits, Panorama X does need to talk to ProVUE’s servers from time to time, but the app is quite lenient in the way it treats these periodic check-ins (see the FAQ page [10] for details). Indeed, even if you fall behind on your payments, Panorama X will still let you access your data, albeit with regular reminders to pay. A welcome side effect of this subscription scheme is that Panorama X has no serial numbers and requires no installer — you can simply drag the app into your Applications folder. All in all, this is perhaps the most humane subscription model I’ve seen, and for me, paying $5 a month for something so powerful is an absolute no-brainer.

Who Needs Panorama X -- All of Panorama’s fantastic features notwithstanding, is this a product you need? I spent an unreasonable amount of time puzzling over the question of who needs a desktop database app in general these days, let alone Panorama X in particular. I know the sorts of data I need to keep track of myself, both personally and professionally, for which a database is the obvious solution, but my needs are idiosyncratic.

Besides, there are great off-the-shelf apps for doing many of the things one might otherwise choose a database app for — tracking books, music, photos, and other media; managing contacts; storing miscellaneous files and snippets of text; and cataloguing collections such as your wine cellar or recipe archive. So who needs an ultra-powerful, standalone database app?

The trivial and tautological answer is: those who know, will know. If you’re accustomed to using a desktop database already, it’s obvious to you why you need it, and the only question is whether Panorama X is the right database for you. (If you like flexibility and saving money, the answer is probably yes.)

But who needs a desktop database app besides those already using one?

My first pass at a substantive answer is that if you currently track any information in a spreadsheet or a table in a word processor and you start bumping up against the limitations of that type of container, a database is the natural place to move. For example, spreadsheets typically aren’t great for storing long chunks of text or handling data consisting of thousands of rows. Panorama X can perform most of the common tasks people use spreadsheets for (from simple lists to complex calculations), plus a great many tasks spreadsheet apps can’t do at all.

Like most database apps, Panorama X also lets you enter and view your data in ways other than its default, which is a familiar spreadsheet-like table. You can create forms for entering or displaying data with just the fields you want, arranged the way you like them, along with all the usual human interface niceties — and even a built-in Web viewer — to make data entry and retrieval simple and user-friendly. Similarly, you can create reports (and export them in various formats, such as PDF) that summarize or expand on just the sorts of data you need, in almost any conceivable way. Spreadsheets generally can’t do these things.

[image link] [11]

So, if you work with structured data, and you’ve outgrown the capabilities of a spreadsheet, Panorama X is an excellent replacement that you’d be unlikely ever to outgrow. If your needs include support for networked Macs and iOS devices, Panorama has the potential to meet those requirements too, just not right away.

Even if you don’t meet those criteria, but you’re in any way curious or on the fence and would like the chance to play with an incredibly powerful database, programming environment, and all-purpose data manipulation tool, $15 for a month’s access is a sweet deal — and it just might get you hooked.

[1]: http://www.provue.com/
[2]: http://www.provue.com/panoramax/help/tag_new.html
[3]: http://www.provue.com/panoramax/help/tag_updated.html
[4]: http://tidbits.com/resources/2017-11/PanoramaXmain.png
[5]: http://tidbits.com/resources/2017-11/PanoramaXcode.png
[6]: http://fontawesome.io/
[7]: http://tidbits.com/resources/2017-11/PanoramaXform.png
[8]: http://www.provue.com/panoramax/help/graphics_object_imagedisplay.html
[9]: http://www.filemaker.com/
[10]: http://www.provue.com/faq/
[11]: http://tidbits.com/resources/2017-11/PanoramaXtwowindows.png