Subscribe to this thread
Home - General / All posts - Initial thoughts regarding M9 usage
danb


1,656 post(s)
#19-Apr-18 22:11

I have finally started to use M9 in a production environment and though there are some huge improvements over 8, there is much missing that I use regularly in 8 or that I personally find clunky or unintuitive. To this end, I have compiled a little list of immediate thoughts from my usage thus far which I will post here but will expand and send to sales.

If some of these things are already in 9 and I have simply missed them, no dramas and I will be happy to know this and read the relevant bits of the documentation.

1. Select a number of queries in the project pane > Right Click menu > !

But run all selected queries rather than just the last selected. I often have a stack of SELECT INTO queries that I wish to run all together rather than individually.

2. Any form of syntax highlighting however basic and more descriptive error messages/an indication of the line upon which the error occurs.

3. Any form of real time query parsing as in M8. I used the 'SELECT', '(invalid)' visual clue all the time in an almost subconscious way when developing queries.

4. Hints about index placement or a user choice option (within an individual query such as a Pragma) to automatically build indexes as per M8.

5. Highlight query text in the query builder > Right Click menu > Comment Selected

or Uncomment Selected

6. I also very much miss this pop up combo from M8 when writing queries. It seems lazy to say, but I find moving the mouse to the bottom of the query builder window, expanding the table, scrolling down if necessary and double clicking the attribute quite clunky.

7. Best Fit all titles and contents in a table window.

8. Select duplicates, Duplicates except first transform.

9. Select Unique values transform.

10. In File > Recent Projects, remove anything that fails to load or has been removed.

11. Viewbots these are incredibly useful in M8 and an improved version (even if it was just the ability to copy the results) would be a very welcome addition to M9.

12. Improved Project pane filters. I am unable to filter the project pane satisfactorily with the current M9 project filter (though perhaps I need to do some more reading). Perhaps the addition of something similar to the Filter dialogue off the Database Console in M8 would be sufficient such that you can permanently block system tables in databases. Our corporate Oracle server currently shows many thousands of system tables which quickly becomes very unwieldy.

13. Rich text comments components such that we can have text formatting and images within the component. I use these as a running process log and sometimes wish to paste in images or formula.

14. The interactive selection tools that were in M8 particularly for images/surfaces.

15. A readout of the pixel height or other values as one moves the cursor around an image.


Landsystems Ltd ... Know your land | www.landsystems.co.nz

danb


1,656 post(s)
#19-Apr-18 22:50

16. A right click menu something like that in Notepad ++ for closing tabs.

17. A 'Window' dropdown menu item to re-dock all windows in M9. Sometimes on my workbox in town I will have the map window on one screen and the application on another. If I then go home and remote log on to my computer, I can't see the map screen in this or new M9 sessions.


Landsystems Ltd ... Know your land | www.landsystems.co.nz

danb


1,656 post(s)
#19-Apr-18 23:32

18. Similar to 5. Highlight query text in the query builder > Right Click menu > Indent Selected and its converse.


Landsystems Ltd ... Know your land | www.landsystems.co.nz

tjhb

8,273 post(s)
online
#20-Apr-18 00:47

Without limitation, for points 5 and 18, can we please also have keyboard shortcuts, quite soon? That's really important. Block comment/uncomment, block indent/unindent.

For indenting it would be nice (nice but not essential) to be able to configure indent behaviour. E.g. a single tab as in Manifold 8, or a configurable number of spaces.

The SQL templates built by 9 currently use 2 spaces for an indent, which I quite like because it is very easy to replicate manually.

tjhb

8,273 post(s)
online
#20-Apr-18 00:53

Regarding the first part of point 2, I would like to see Manifold 9 either consume, or preferably both publish and consume, syntax highlighting in TextMate format, as used by Microsoft Visual Studio Code.

Standards are good! Especially when they are also customizable and sharable.

Dimitri

5,036 post(s)
#20-Apr-18 11:45

Great comments! Don't forget to send them in as Suggestions.

A question/comment:

1. Select a number of queries in the project pane > Right Click menu > !

But run all selected queries rather than just the last selected. I often have a stack of SELECT INTO queries that I wish to run all together rather than individually.

You can paste multiple queries into a single query component and just run that. How does that work for you? A side effect of doing that is there is no question about what the order of execution should be. Suppose you have a rich Project pane display/filter system as you would like and as will eventually happen. The project pane could show components in other than alphabetical order, for example, in the order of size, modification time, etc. What order should the execution happen when you highlight multiple queries and then press RUN ?

17. A 'Window' dropdown menu item to re-dock all windows in M9. Sometimes on my workbox in town I will have the map window on one screen and the application on another. If I then go home and remote log on to my computer, I can't see the map screen in this or new M9 sessions.

I've sent that in as a suggestion, at least twice.... glad to know I'm not the only one! :-)

adamw


8,139 post(s)
#20-Apr-18 14:20

Great post!

Some feedback regarding a few items that we think have better alternatives or where we have some questions:

1 - Select multiple queries in the Project pane, then run them all by right-clicking and selecting Run.

This looks very dangerous. The order would be essentially random, so if queries depend on each other, this might fail. It is unclear what to do if some of the queries fail - continue? halt? either answer is wrong sometimes. Most importantly, it seems way too easy to run more than you wanted. You can, for example, not realize you have a folder selected, if that folder is full of queries, well...

If you find yourself frequently running the same set of queries, consider writing a single query that would run them all:

--SQL9

EXECUTE [Q1];

EXECUTE [Q2];

EXECUTE [Q3];

11 - Viewbots.

We realize that we don't have viewbots like in 8 and perhaps we should add something like that. We have queries which you can launch and read results from, however. What should viewbots do differently from queries, why add them on top of what we have? Is it that you want to avoid writing query text for common statistics or is it more about having compact display?

Again, thanks for the post!

dchall8
501 post(s)
#20-Apr-18 17:51

I use Viewbots as my information panel. I could put the information into the label but that makes the label too busy. It shows me...

Measured acreage (sum of selected)

Legal acreage (sum of selected) I can compare measured size to legal to see if I need to adjust something.

Market value (sum of selected)

Appraised value (sum of selected) Compare market to appraised. They often differ.

Deed date (Maximum. This is not treated well, but maximum works. If we do not have a deed for a parcel, then today's date appears and I know where to go to find the deed.)

tomasfa
149 post(s)
#29-Apr-18 03:23

I totally agree with Dchall8. The Viewbots in 8 are an invaluable tool, and is basically our Information Panel, for quick answers, no need to query or go to tables. Viewbots are eseential in all our workflows. It would be a great addition in 9.

Forest
578 post(s)
#03-May-18 04:30

Having had the full version on Manifold for week, I agree with the other statements here. I am also confused about the role of filtering records via the context menu vs selecting records.

Should the context menu be extended to provide the option to select records as well as filter then as transforms apply to selections not filtered datasets. Should Ctrl-A select all records in a dataset or only those visible after a filter has been applied.

Directly connecting the user reference to the help menu would help. I hate having to wade through the marketing material to get to the useful stuff. Do this for the full version at least. Could you also please fix the index on the help website.

Attachments:
2018-05-03_IndexPage.png

Dimitri

5,036 post(s)
#03-May-18 06:47

I am also confused about the role of filtering records via the context menu vs selecting records.

See the Filters topic. Try the examples in there. A filter restricts what a table window shows. If you have made a selection, for example, by ctrl-clicking a record or shift-clicking to select a swath of records, you can use the Filters command to tell the table to show only the selection, to show only those records not selected, or to show all records.

You can also apply filters based on logical criteria given the contents of a field. For convenience, those criteria are made available to you in a context menu where you can right click on a particular cell and the filter options are already loaded with the value of that cell. If you table with many cities all over the world and you only want those in Canada you can click on a Canada cell and choose Add Filter - Name = 'Canada' for instance.

Should the context menu be extended to provide the option to select records as well as filter then as transforms apply to selections not filtered datasets.

I don't think that would be a good idea, since a) context menus get confusing when they get too long, b) there are means now to make selections: learn to use the Select panel, as it is a very powerful tool (much more powerful than the select toolbar that was in 8) and it is always "on."

Maybe a better way could be within the View - Filter command, just below the list of active filters and above the Filter using Query option would be to add a Select using Filter command, which would replace the selection with what the filter is doing, that is (of course), a filter other than show/hide selection.

Should Ctrl-A select all records in a dataset or only those visible after a filter has been applied.

It should select all fetched records, not only those visible after a filter is applied. Think of it this way... should Ctrl-A select only those records a table window shows at the moment, ignoring those which are scrolled out of sight? Filters are a convenience for restricting what is displayed, not a selection methodology like queries or selections, where you can do Boolean operations on selection sets using the Select panel.

Directly connecting the user reference to the help menu would help.

It does. In the main menu choose Help - Documentation. With various windows open you can also press the F1 key to get a quick reference guide to shortcuts.

Could you also please fix the index on the help website.

? The illustration you attach indicates it is working. Click a letter to narrow it down to words starting with that letter, for example, S. Click a two letter combination to further narrow it down, for example, SO. Click on the numbers by each word to jump to pages that use that word.

Use Ctrl-F to Find within pages.

Edit: One more thing... one reason the documentation is online is so you can use your favorite search engine to search it. Google, for example, crawls the Manifold doc on a regular basis and they have extremely good search tools.

Use the site: command in the Google search bar. For example:

"orthographic projection" site: http://www.manifold.net/doc/mfd9

Finds desired pages instantly. Google and similar search engines also have the advantage of offering "did you mean..." alternatives when you misspell search terms, and even if you don't use site: it still is very good.

Mythman
40 post(s)
#03-May-18 19:29

Pasting "orthographic projection" site: http://www.manifold.net/doc/mfd9 directly into the Windows search bar at the bottom left of the screen woks as well.

danb


1,656 post(s)
#20-Apr-18 22:21

Adam/Dimitri, Many thanks for your comments. I thought that I would get at least one red face out of my list and of course now when pointed out, it is obvious to put the queries all in one component or call them in order as Adam suggests. This is a clear case of me still being in an M8 mindset and despite having numerous multiple query components in the same project. In my project item 1 consisted of independent SELECT INTO queries which can be run in any order but I had failed to think of the same in different use cases so feel free to strike this from the list.

With regards viewbots, once I discovered these, I found myself using them all the time and they quickly became an invaluable tool. I prefer them to the current system for both reasons you mention Adam, for their convenience in not having to write a query, their dynamic display and the compact always on nature of their display. They were part of a bigger picture of data exploration that M8 made so easy and intuitive.

In my opinion Manifold 8 head and shoulders above all the rest for exploring and getting to know your data in both a tabular and visual sense. The design of the interface allowed you to do this so rapidly that it became second nature when preparing to undertake an analysis or when developing queries as an analysis progressed (Items: 7, 8, 9, 15 to name but a few). Filtering on selections and copy/paste are huge elements of this also, but I haven't really got to grips with these in M9 as yet so I might have a few more suggestions further down the track.

In addition, the UI constantly provided a wealth of feedback about many items which I used almost subconsciously all the time (Items: 2, 3 , 6, 11) and it is these two key elements of the overall Application/UI design that I am partially missing in M9. Part of this will undoubtedly be ingrained habits and it is also a factor of only now finding time to really get to grips with M9. I do however believe that there is a component of missing feedback from the UI hopefully much of which is low hanging fruit as the UI matures.


Landsystems Ltd ... Know your land | www.landsystems.co.nz

tjhb

8,273 post(s)
online
#21-Apr-18 03:23

Adam:

We realize that we don't have viewbots like in 8 and perhaps we should add something like that. We have queries which you can launch and read results from, however. What should viewbots do differently from queries, why add them on top of what we have? Is it that you want to avoid writing query text for common statistics or is it more about having compact display?

Dan:

With regards viewbots, once I discovered these, I found myself using them all the time and they quickly became an invaluable tool. I prefer them to the current system for both reasons you mention Adam, for their convenience in not having to write a query, their dynamic display and the compact always on nature of their display. They were part of a bigger picture of data exploration that M8 made so easy and intuitive.

This is thought-provoking and makes me imagine something like a compact floating pane, showing one or more labelled results in simple text format, each result driven by an SQL expression, and governed by a user-defined refresh frequency (plus manual refresh).

(Like a very simple table, but with each row showing just a label and the current result of an expression, set to auto-refresh at intervals.)

The SQL expression(s) could be edited, the label(s) could be adjusted, and the small pane could be resized and dragged around. It could be non-modal, shown on top of all other types of pane. There could be several such panes operating at once, with the last-clicked pane on top.

Conceptually like a "data lens" (or a loupe tool as in analogue photography). Very like a ViewBot in 8, just a bit more flexible.

It would be nice to be able to save a pane to a JSON string, perhaps exported to text.

Thinking out loud in response to your ideas.

dchall8
501 post(s)
#23-Apr-18 14:39

The floating pane with bells and whistles as stated sounds like a very "9" way of doing it. Would the initial SQL be written for the user?

tjhb

8,273 post(s)
online
#24-Apr-18 06:58

I thought so, but left that out.

I can't get beyond a separate panel under the Contents pane, called something like "Live query" (or "ViewBot").

It would have two tabs, roughly matching the Transform panel (differences only where necessary).

One tab called Show, or Report..., with a list of canned reporting tools much like the range for ViewBots in 8.

The second tab would be the familiar Expression, for direct manual entry.

I drew something this morning in pencil. Will try to make mock-up tomorrow.

Dimitri

5,036 post(s)
#24-Apr-18 08:38

Panels in the Contents pane are there because when you have "always on" controls you get the question of for which control a particular keystroke or mouse action is meant. When there is only one "always on" panel in action in the Contents pane, the answer is that panel.

But that's for panels that are read/write. You can have GUI elements in addition to the Contents pane which are "always on" but which are report-only. A good example is the status bar. Move the mouse about and it can report the lat/lon position even though the focus for keyboard and mouse controls is an active panel in the Contents pane.

So, there's no reason against having an "always on" read-out within the status bar, or in some other GUI element.

Manifold User Community Use Agreement Copyright (C) 2007-2017 Manifold Software Limited. All rights reserved.