Author Topic: PI doesn't allow "#" symbol in file/directory names under Win32  (Read 6252 times)

Offline Yuriy Toropin

  • PixInsight Addict
  • ***
  • Posts: 209
Reading 1 file(s):
D:/IRIS/Work/2009_07_15_#1_NN180_NRok85_GammaCyg_Arcturus/bnrcc25.fit
<* failed *>
*** Error: A file extension is required to identify a file format: D:/IRIS/Work/2009_07_15_#1_NN180_NRok85_GammaCyg_Arcturus/bnrcc25.fit


I was completely stalled for 10-15 minutes not able to open FITS files that were opened in Maxim DL without any issue.
Resolve it with renaming directory deeleting "#" from its name.

Directory/file name with "#" is a VALID one under Windowz.
Could this be fixed, please?
(together with adding CTRL+(SHIFT)+TAB for scrolling between opened images)

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Hi Yuri,

This problem has been fixed for PI 1.5.6. Sorry for the inconveniences!

However:

Quote
Directory/file name with "#" is a VALID one under Windowz

Indeed, local file names with # characters are valid ones in all platforms supported by PixInsight. But what PI handles are valid URIs, as defined in RFC 3986 - Uniform Resource Identifier: Generic Syntax. The number sign '#' has a special meaning in a URI specifier (it is a generic delimiter sign).

So although these file names will work from PI 1.5.6 (for local files only), and they are indeed valid in a local filesystem, using these special characters is a bad idea, in general. For example, you can have problems to share those folders in a network.

As defined by RFC 3986, the following characters are interpreted as delimiters and hence should not be used as part of file or directory names:

:  /  ?  #  [  ]  @ ! $  &  '  (  ) * + ,  ;  =
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Quote
CTRL+(SHIFT)+TAB for scrolling between opened images

PixInsight provides two commands to quickly navigate through open images:

- Window > Next Image Window (Ctrl+PgDown). Use this command to swap between the two topmost image windows.

- Window > Send Active Image Window to Back (Ctrl+End). Use this command to cycle throughout all open image windows.

Along with these commands, you can use the View Explorer window to navigate all views (images and their child previews) using a tree structure.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Yuriy Toropin

  • PixInsight Addict
  • ***
  • Posts: 209
Quote
CTRL+(SHIFT)+TAB for scrolling between opened images
PixInsight provides two commands to quickly navigate through open images:
- Window > Next Image Window (Ctrl+PgDown). Use this command to swap between the two topmost image windows.
- Window > Send Active Image Window to Back (Ctrl+End). Use this command to cycle throughout all open image windows.
Along with these commands, you can use the View Explorer window to navigate all views (images and their child previews) using a tree structure.
Hi Juan, thanks a lot for the quick fix of "#" issue, and I really appreciate info about potential unsafe of it in non-local resources addresses.

However, I can't agree with non-standard keys used in PI for some standard actions.

There is a document on MSDN entitled
Guidelines for Keyboard User Interface Design,
among others it describes Windows Shortcut Keys. Combos used in Windowz version of PI is not consistent with it, for example as defined in MSDN article it should be:
Ctrl+PgDown - Tab control, move forward through tabs (same as CTRL+TAB) or document, see Excel sheets navigation as example.
Ctrl+End - Edit box shortcut key, Move cursor to the end of the document.

Believe me or not, this is really inconvinient for me as the user of standardized Windowz UI when standard combos just don't work as expected and I have to learn some application-specifics ones.

Is it possible to make UI compliant to general standards and rules of the specific OS?

Take me right, please, I LOVE PI for its processing power, but some small touches are really needed for UI.

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Hi Yuriy,

Quote
Is it possible to make UI compliant to general standards and rules of the specific OS?

I understand you. Before continuing, I inform you that a future version of PixInsight (1.7 probably) will include a fully configurable key mappings system. In this way each user will be able to customize his/her keyboard preferences. This will probably be released along with the new GUI skins system.

Having said that, please take into account that PixInsight is not a Windows application; it is a multiplatform application. Currently this includes Linux/X11 (which is an extremely rich ecosystem with many graphical desktop environments, all of them different), Mac OS X, and Windows. During this year and 2010, we'll probably have new ports to Sun Solaris and HP UX. There is also a project to port PixInsight to supercomputer clusters.

As a multiplatform project, PixInsight does not necessarily obey certain rules that are sound on particular platforms. For example, many Mac OS X users have criticized PixInsight for some nonstandard aspects of its user interface. One of the facts they find particularly odd is that PixInsight has been designed to occupy the entire screen, which is quite unusual on the Mac. Many Windows users are surprised when they discover that PixInsight doesn't use the Windows registry at all (a couple years ago we replaced it by a multiplatform settings system which is much more stable, fast and simple). PixInsight's workspace is actually a desktop environment with iconic metaphors to objects; this is also unusual on all platforms.

As a software developer, I don't follow customary design rules on any platform if I think they are wrong, or if the same thing can be done better in other ways. I must recognize that I love to break rules for those reasons (and quite a bunch of other reasons, actually :)). An example is the typical list of open documents under the Window main menu item. In my opinion, this is inefficient, especially when one has a lot of images (not all platforms support scrollable menus, for example). PixInsight implements much better GUI resources to manage images (the View Explorer window and the View Selector list).

Regarding keyboard accelerators, one of the design rules for PixInsight Core's GUI is that the same accelerators, as long as possible, are used on all platforms. Mac OS X necessarily breaks this rule in several occasions, due to its substantially different keyboard layout (with respect to customary PC keyboards), but I have tried hard to apply it (the main changes are that function keys, besides F5 and F6, are not used on Mac OS X, and that most Ctrl key combinations have been replaced by Cmd combinations).

Quote
Ctrl+PgDown - Tab control, move forward through tabs (same as CTRL+TAB) or document, see Excel sheets navigation as example.
Ctrl+End - Edit box shortcut key, Move cursor to the end of the document.

The Window > Next Image Window and Window > Send Active Image Window to Back commands in PixInsight are not equivalent to (they don't do the same things as) the typical cycle throughout documents function that is customary in Windows applications. This is a good reason to use different keyboard accelerators, in my opinion.

The Window > Next Image Window (Ctrl+PgDown) command is intended as a quick way to swap between the two topmost images. For me at least, this is a very convenient function. For example, it is really useful to swap between an image and its mask.

The Window > Send Active Image Window to Back (Ctrl+End), as its name says, is not intended to cycle through images (although it certainly can be used to this purpose, as a side effect), but to modify the z-order (the stacking order) of image windows by sending the active window to the workspace's surface.

I selected the Ctrl+PgDown and Ctrl+End keyboard combinations for these commands because I think they are very mnemonic for the tasks performed.

Nevertheless, as I've said above, keyboard accelerators will be user-definable in PixInsight, which I hope will solve all of these issues. Or, if you want to cure your present Windows addiction, do what I do: use regularly three platforms and seven operating systems. Then you'll become truly platform-independent, believe me ;D
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline Yuriy Toropin

  • PixInsight Addict
  • ***
  • Posts: 209
Hi Juan,
Thanks a lot for very interesting answer, I really appreciate it!
I understand your challenges (may be - not totally, unfortunately) related to development of multiplatform application.

Nonetheless, IMHO, I think that platform-specific "decorator" layer in such applications is the correct way to handle situation, keeping logic and math the same, but changing behavior and feeling to meet platform specifics is helpful in making learning curve easier and faster for users majority of which are strongly platform-addicted and platform-injured.

Nevertheless, as I've said above, keyboard accelerators will be user-definable in PixInsight, which I hope will solve all of these issues. Or, if you want to cure your present Windows addiction, do what I do: use regularly three platforms and seven operating systems. Then you'll become truly platform-independent, believe me ;D

:) That's nice suggestion! :)

But to be "professional" software user is not the same thing as to be the professional software developer,
the user wants to achieve the desired results with the minimum possible time spent for learning of software,
the user wants "intuitive" software with straightforward familiar UI interface and use cases that easy to understand and to perform.

That's why sometimes brilliant design concept just doesn't work for the user, especially if those new concepts are "orthogonal" to previous expirience...

Anyway, PI deliver great results in postprocessing and with this
I, as the user, can close my eyes on some of its "specifics" and "uncertainties" ;)

PS: if you will, do you plan to implement "STF AutoStretch for Inverted Images"?

Offline georg.viehoever

  • PTeam Member
  • PixInsight Jedi Master
  • ******
  • Posts: 2132
Hi Juan,

judging from the poll in http://pixinsight.com/forum/index.php?topic=1128.0, Windows ist still the most popular platform for Pixinsight. While I certainly share many of your opinions about the issues that Windows has: sometimes it is wise just to accomodate to the habbits of the majority of your users, even for multiplatform software (I am speaking as a developer of a multi platform application...). >:D

Georg
Georg (6 inch Newton, unmodified Canon EOS40D+80D, unguided EQ5 mount)