Intro
Elevate 2023 was a bit different than the last three Elevates (2020, 2021 and 2022). It was still online and free like the last three. However, this one was one day only and only had a single track. Nonetheless, I thought it went well. In fact, based on the content of the chat it seems like the participants were more excited about the new (2022 R2) and planned (2025) features than they have been for some time.
Registration
Since there was only one track this year, registration was just a matter of indicating that you wanted to attend. The actual schedule content didn't get published until the 17th (3 days before the conference) but since there was only one track that really didn't bother me.
Keynote
Armeen Mazda (Appeon CEO) gave the initial keynote, which gave more of the 30,000-foot view of what Appeon has been doing with the product in the past and where they are going with it.
He also gave some stats about the PowerBuilder client base I thought were interesting.
That was followed by Jose Miguel Rodriquez of the Provincial Council of Almeria. He gave a customer success story about their move to PowerServer.
Then came Julie Jiang, Product Manager at Appeon. She indicated that the LTS version of 2022 will be released in December of 2023 (it's currently in beta) and that the beta of the 2025 release is currently scheduled for end of year 2024. She then talked about the major new features planned for 2025, in particular the following. Note that while Julie gave the main bullet points, I’ve elaborated on some of them a bit.
- New Editor
- Better code readability
- Syntax coloring
- Code highlighting
- Line numbering
- Zooming
- Collapsible conditional statements
- Status bar
- Better code navigation
- Find and replace
- Improved jump to
- Change tracking
- Error stripe
- Find reference
- Bookmark
- Higher code efficiency
- Word wrap
- Better comment/uncomment
- Format document or selection
- Toggle cases
- Brace matching
- Code assistance capability
- Complete list
- Coding snippets
- Quick Info
- Parameter Info
- Viewing definition of type or member
- Better code readability
- New Compiler
- The existing compiler is single thread/single process and runs on the same thread/process as the IDE. Many of the PowerBuilder IDE crashes are caused by the old compiler crashing during background compilation and taking the IDE with it.
- The new compiler is multi-threaded/multi-process and will run on a different process/thread than the IDE.
- The new compiler will use an AST (abstract syntax tree) which enables the compiler to concurrent compilation on multiple threads.
- The new compiler is more accurate in identifying modified code/objects so that incremental builds are truly incremental.
- As a result, the new compiler is significantly faster than the old compiler and won’t crash the PowerBuilder IDE if it encounters problems.
- Plain Text Source Code
- This will be a new option. You can continue to use the PBL approach if you want.
- If you do want to use the new option, you can do a one-time one direction conversion of your workspace to the new solution option.
- PowerBuilder would continue to compile code on save but would store the generated p-code in separate files.
- As a result, any issues that might occur during compilation would not corrupt source code, something that is an issue now with the source code and the p-code both being stored in the PBL.
- Having the source code natively stored as plain text allows better integration with source code control. Currently PowerBuilder must export the source code into text files in the ws_objects folder in order to facilitate integration with source code control system.
- Having the source code natively stored as plain text opens it up to a wide variety of third-party tools. For example, you might use standard tools such as DiffMerge to compare versions of source code and AstroGrep to do searching in your project source code. You would no longer be required to use custom products that know how to parse the PBL format, must be updated to handle each new version of PowerBuilder and might suddenly disappear at any moment (ProDiff for PowerBuilder springs to mind here as a bygone tool).
- 64-bit IDE
- If you are only interested in creating 64-bit applications, this removes the need to maintain 32 versions of DLLs, ActiveX, PBNI extensions, database drivers etc. just so the PowerBuilder IDE can reference them. You would only need to keep the same 64-bit versions that your application will use and would be coding and debugging directly in 64-bit.
- Note that for 64-bit IDE, the indication was that this would be working on throughout the 2025 product cycle, so I would assume that the initial GA product would likely not have a full implementation but it evolve with the later 2025 releases (e.g., R2, R3).
- Other enhancements
- IDE
- Allowing ancestor/descendant objects to be opened simultaneously
- Enhancing tabbed editor
- Retain DataWindow update properties
- Git: merging branch
- More resizing of dialogs
- Better search
- Check duplicate objects in a PBT
- Runtime/Modernization
- Display menu in RibbonBar style
- WYSIWYG Export to Excel using display values
- High DBI support
- More controls for modernization
- Cloud (PowerServer)
- SQLPreview event
- Request debugger
- Back-end management console
- IDE
I don’t see it from the slides, but Appeon has confirmed plans in version 2025 to address two behaviors of PowerBuilder that makes it more difficult than it should be when dealing with merges in modern source control systems. One is a change to the DataWindow syntax so that it is easier to diff two versions of the same object. To date, if you touch an object in the DataWindow painter, PowerBuilder moves it to the top of the Z order and reorders the rest, and the source code is then reordered as well. You end up with huge diffs for very minor changes. The other is a change to make it easier to diff two versions of other user objects. Currently when you modify a function prototype (add or remove arguments) PowerBuilder moves the modified function to the bottom of the function section of the source code. Once again, huge diffs for very minor changes.
She also presented some results from their latest annual survey of their customer base that I thought were interesting.
The last speaker in the keynote was Chris Pollach, Director of Developer Relations at Appeon. He gave a bit more of a deep dive into the planned 2025 new features and demonstrated some of them. Here's a couple of his slides explaining why they are planning to redo the compiler.
Here's a screen shot from the new IDE where you can see the options to keep the old workspace approach (old compiler) or move to the new solution approach (new compiler). Note that this is a one-way move to the new compiler, you can't move back.
And some benchmarks on how much faster the new compiler is.
Finally, some screen shots showing the new features in the new editor. Note that some of the features will be in the GA release and some won't be introduced until the R2 release.
Chat Cafe
As they've done since Elevate 2021, there was a one-hour free flowing chat cafe/break.
Technical Sessions
The next speaker was Marco Meoni, a fellow Appeon MVP. He gave an overview of the new features in PowerServer 2022 R2 as well as a brush up on some of the core features of the product.
That was followed by a rather long session broken into two parts where I discussed the new features in PowerBuilder 2022 R2.
I then followed with another session on how to migrate to PowerBuilder 2022 R2. This wasn't about the new features as much as it was about prior features that were removed or modified since PowerBuilder 8 and how to mitigate some of them. It included a walkthrough of an application I migrated recently and some of the changes I needed to make.
Marco then spoke again for the last session where he talked about how to migrate a 2-tier PowerBuilder application to a 3-tier PowerServer application.
Recommendations
Conference closing session: Something that has always bothered me about PowerBuilder conferences is that they tend to open with a bang and then end in a fizzle (this is going all the way back to the PowerSoft days). Up until recently they were multi-day in-person events. The last day was often only a half-day and a number of attendees used it for travel back home and were unable to attend sessions on that day. At some of them early on we had open sessions for enhancement feedback on the final day. However, what I'm thinking about is something along these lines: How to Close Out a Conference with Style
Consider doing it in person again: As you may know, Armeen and I did a tour of four European cities in late October where we presented early versions of our sessions for Elevate 2023. Marco joined us at three of the cities with his as well. There's nothing quite like being able to have extended conversations in person about the product. I'm thinking that given that PowerBuilder 2025 won't be in beta until the end of 2024 it might make sense to wait until 2025 to have an in person Elevate again. Around November 2024 all we might have to talk about is a still unreleased product. By November 2025 though we should have a lot of new major features that are released to talk about. However, what Appeon probably needs to hear though is not just that we want to be in person, but that we are committed to attending an in-person event again. It seems to be that in the BC era (Before COVID) attendance had been declining from the 2017 Elevate through the 2019 Elevate. Appeon will want to know there is sufficient interest in doing an in-person event before they're going to invest the resources it needs to make to make such an event successful.