Monday, May 02, 2005

Must have improvements for the next version of PowerBuilder

A while back I took the new features I had suggested in my PBDJ editorial from last year, all the input from last TechWave's enhancement section discussion and all of the suggestions from a long thread a while back in the future_directions forum and I entered them into the ISUG enhancement request system.

I've gone back now and captured all of the data for all of the enhancments in that system in the attached spreadsheet. I then split them up between those that got an average score of 4 or higher and those that didn't.

For all of the enhancments that received an average vote of 4 or higher I've gone back in and re-calculated the average vote to the first decimal place. ISUG rounds to integer values, which isn't enough to really get a feel for how popular a request is.

I then split up the requests that got a 4 or higher up into a two categories: those that are primarily a benefit to the developer (i.e., improvements to the SCC interface, debugger, datawindow painter, etc.) and those that have some benefit to the ultimate end-user (i.e., additional datawindow styles or charting options, better handling of long text, etc.).

My reasoning is that while improvements that are primarily aimed at the developer will make the developers happy, the person that makes the purchasing decision is the development manager. And the development manager is going to be more interested in features that improve the product they deliver to the ultimate end-user (their clients). That is, if there is some improvement in the development product that then gets passed on in the products they create using it, it's easier to see the return on investment that justifies the purchase.

I then divided up the enhancements that have a benefit to the end-user between those that are related to the datawindow and those that aren't. My reasoning here is that improvements to the datawindow will have benefit across the product lines (Infomaker, PocketBuilder, DataWindow.Net and PowerBuilder) whereas enhancements to other system classes will have more limited impact.

Finally, the enhancements are sorted based on the average vote (to the first decimal place) and the number of votes.

I've provided the spreadsheet so you can see the raw data, but based on it what I would suggest as features that should be given high priority are:

1. Standard properties (tab order, enabled, etc.) on windows controls within the DataWindow.

2. Auto-height support for all bands in the DataWindow, not just the detail band.

3. Auto-width support for columns in a grid DataWindow.

4. Additional SaveAs formats for the DataWindow, including PNG, JPG, GIF and something that formats better in word processors than the current formats. (I'd add TIF to that list because it's the only image format I know of other that PDF that supports multiple pages. That is unless they want a seperate image for each page).

5. Additional Chart formats for the Chart DataWindow style, particularly Stock (hi-low-open-close). (I'd add Gantt to the list).

6. Ability to suppress group headers on page breaks. Support for a report header that is not repeated on subsequent pages.

7. Better support for large text blocks. Currently they cause pagination problems if the page break occurs in the middle of the text.

8. A list view presentation style (including small and large icon presentation modes). Would also support heirarchial data, so that the end-user can 'drill' down.

9. Support for a rich-text column edit style.

I didn't see anything in the non-DataWindow user-benefit enhancement requests that were anywhere near as important as these.

As far as throwing a bone to the developers, I'd suggest also considering:

1. Ability to 'remember' the last arguments provided to the datawindow in design mode so the developer doesn't have to keep re-entering them.

2. A "Pending Check-Ins" pane on the system tree, so the developer is aware of what they have checked out without having to search every PBL. It might also end up being the preferred pane to work in for those of us working on source controled projects, because all the items we're current working with would be centralized. To that end, objects that are not under source control in a source controled target should appear there as well (new objects we haven't added to source control yet). The pane would need to support Edit, Edit Source, Check-In and Undo-Checkout on the RMB menu.

3. Support the use of autoinstantiating user objects in DataWindow expressions, not just global functions.

Finally, with regard to the new rich edit control already planned, I'd highly recommend implementing some sort of spell checking, even if it just means hooking into Word somehow and indicating that the "native" support will only function correctly if the end-users have Word installed on their machines.


Adrian said...

Bruce, I really agree with all those items, I'd also like to see:
* real XP like grids for DWs
* some kind of common ancestor for DWs and DataStores (eventhough I recognise this would have a big impact)
* icon support for menus (at the moment you can workaround this using coolmenu.dll which can be found over the internet)
* better toolbars, the current one looks very old
* an option while compiling the project to tell PB whether to throw exceptions instead of returning error (-1). Sometimes while programming you don't check certain return codes like SetItem() and they fail silently.

BTW congratulations for your hard work, I've been following all you in TeamSybase in the newsgroups for many years.


Thom Lamb said...

Bruce, I sure hope someone pays attention to this list. I've you've done a great job of hitting the biggies. I would like to see the PDF Save As no longer require GhostScript, and if the Save As supported TIF, we could get rid of a third party printer driver that is a pain in the b*tt.
I do think one of the obvious biggies that you just touch on, is there needs to be some major work done on the Datawindow. Other than the data linking capabilities, the presentation capabilities are so far behind the VB community that we might as be using stone tablets and chisels. As you say, improvements that translate into a better "end-user experience" are a lot easier to sell to management than "it will make debugging easier for me".

Linda Dudzic said...

Bruce, I couldn't agree with your list more. I've been with PB since version 1, working as a consultant on various projects. Those vary issues have come up over and over again, especially 2. Auto-height support for all bands in the DataWindow; 6. Ability to suppress group headers on page breaks; 7. Better support for large text blocks(I would add to that nested reports that span multiple pages); 9. Support for a rich-text column edit style. Thanks for your effort in preparing the list. I hope these issues get some attention!

Cyberdyme said...

It should be possible to extract\import the definition of a datawindow into a sybase defined XML format. So any property
can be changed programatically. We could then allow programmers\user to change write tools\wizards to change values
on the fly.

Cyberdyme said...

The ability to export\import datawindow definition using a sybase defined XML format. This would allow
developer\users to write code to change datawindow values on the fly.

sandy said...

Powerbuilder should enhance:
- datawindow object graphic/chart. If I use this feature, it seems ugly(too old, very very very old) for me and user. enhance visualization, properties, 3D and others....
- add resize object (panel object) like delphi or .net(panel obj on .net same with delphi)
- enhance menu visualization.
- enhance window property and visualization
- enhance datawindow object visualization.
- window with microhelp!!!! pb 8 put one micro help. Only use PFC can solve this problem. Please improve this object
- PB can create interface like explorer or microsft outlook. but it seems old. I want to create better interface
- How to create messaging applicaton? PB documentation never touch or describe about this. there is *null* explanation and example.


george said...

I would suggest better graphs. PB is way behind in this category.
The graphs we can create are pitiful compare to say Excel, which
most of my users use extensively.