Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[⚠️ FEEDBACK NEEDED] Marta 0.5 EAP #221

Closed
yanex opened this issue Jan 6, 2018 · 24 comments
Closed

[⚠️ FEEDBACK NEEDED] Marta 0.5 EAP #221

yanex opened this issue Jan 6, 2018 · 24 comments

Comments

@yanex
Copy link
Member

yanex commented Jan 6, 2018

Hello everybody out there!

The initial asynchronous file operation support is nearly done, and now I need your help in order to proceed further. I publish the EAP (Early Access Preview) version of Marta 0.5, here it is.

This is the first time I share EAP versions ever, and I realize it's not quite the right place to announce it. But still, I want to give it a try.

So what is changed?

All basic file operations such as Copy, Delete, Rename and some else are now asynchronous. There's a single queue for all asynchronous operations.

What kind of feedback you want me to provide?

  1. Bugs. Almost all code for file operations is rewritten from scratch. Among other things, this fixed a number of bugs, but it also means some new bugs may appear. I did some testing, but it's pretty hard to verify all scenarios and not to miss anything. (This doesn't mean I stopped testing.)
  2. User experience. All operations are now put in a shared operation queue. You can access it by clicking on the progress bar in the top-right corner, or by pressing =. Operations can be paused (p or Space) or stopped (d). The queue can be managed by using only the keyboard. Note that the queue (and its progress bar in the window title) is not shown when there is no active asynchronous operations.
    Also, visual progress was significantly changed. For example, before there were two progress bars for "Copy", one for the current file and another for the overall progress; now there's a single progress bar. Although I think that it's enough, I appreciate other opinions.
    So is the UI good enough? Does it provide all required information? Is it easy to use?
  3. Queue priorities and parallelism. Now, all cheap operations such as "Rename" or "New directory" are started regardless the position in the queue, while all other operations are executed consequently. Maybe there should be a configurable limit for a number of operations executed simultaneously.

Download: Marta 0.5 EAP 1

⚠️ Disclaimer: This is the pre-release version of Marta. It includes a bunch of new code that was not tested well enough yet. Please avoid running Copy/Delete/etc. on important data.


Known issues:

  • Operation can not be paused if it isn't started yet. Will be fixed.
@yanex yanex changed the title ⚡ [FEEDBACK NEEDED] Marta 0.5 EAP [FEEDBACK NEEDED] Marta 0.5 EAP Jan 6, 2018
@yanex yanex changed the title [FEEDBACK NEEDED] Marta 0.5 EAP [⚠️ FEEDBACK NEEDED] Marta 0.5 EAP Jan 6, 2018
@yanex yanex added the eap label Jan 6, 2018
@yanex yanex added this to the 0.5 milestone Jan 6, 2018
@ghost
Copy link

ghost commented Jan 6, 2018

couple small first notes which you can all prefix by "maybe":

  • name the beta app differently so it can be run alongside (renamed mine to Marta_beta)
  • about version is not updated (I was not sure I ran the right version until I saw the new progress bar)
  • = should toggle the proges thing on...and off
  • hitting = before the bar starts moving (on a slow smb share) gives me a beach ball for 2 sek. but it's not 100% consistent maybe it's hard to reproduce / not important
  • space as a modifier to stop the queue ist not very useful as it opens preview (for me anyway, I think I changed this to match the macOS finder defaults, but p is fine as a shortcut
  • hitting p does not quite work all the time, especially before the bar moves I think it does not work, and also when it's moving it sometimes does not work, the klick button works though nevermind > Operation can not be paused if it isn't started yet. Will be fixed.
  • at least on the smb share (my local disk is to fast to notice) the folder only appeared after the copy was complete, maybe this is a regression of smb but the expected behaviour would be to show the folder as soon as the copy action kicks off I think this is what Finder does
  • The queue can be managed by using only the keyboard what is the shortcut to resume/ abort?

UI

  • the light progress bar popup is a bit disturbing but I am not sure I've seen a dark version of it used as an UI element but if you could produce something dark and still coherent macOS like I think that would be better

  • first items when using copy was not pre selected
    I tried some files on a remote smb share and they copied/ deleted just fine (no false deletion or something like that 😄 ).

  • copying a file and while copying, deleting the file could maybe stop the copy and just delete the file but not sure you want to make such an "optimization"

I was in your marta.zip download and tried to copy one of the folders onto the desktop (just to try...) and marta asked me if I wanted to replace although there was no collision, after accepting it complained about access privileges... seems weird to me

@yanex
Copy link
Member Author

yanex commented Jan 6, 2018

@monouser7dig Thank you for trying EAP version! And for the detailed feedback.

  1. You are right, the application name (and the icon) should be different for EAP versions. Will be fixed in the next EAP. (Probably also the updater should be disabled.)
  2. I've created these issues: Async: = should toggle queue popup (not just show) #224, Async: Operation can't be paused if not started yet #225, Async: Action to pause/resume or abort the queue globally #226, Async: Queue popup should be styled #227, Async: Source and/or target should be updated after Copy, Delete, etc. #228. I hope all of them will be fixed in 0.5.
  3. "hitting = before the bar starts moving (on a slow smb share) gives me a beach ball for 2 sek"
    Looks like a bug: work that should be done in the background, is done in the foreground. It would be nice if you could reproduce it. Please also report other cases when you see the waiting cursor – it should not happen normally.
  4. "space as a modifier to stop the queue ist not very useful as it opens preview"
    As Space works a "Pause/resume" only when the popup is open (and normal hotkeys does not work anyway), I think it's ok. Space is a widely-used hotkey for "Pause" so I think it will be intuitive enough.
  5. "first items when using copy was not pre selected"
    Can you describe this in some more words?
  6. "copying a file and while copying, deleting the file could maybe stop the copy and just delete the file "
    Well, any other process may delete the file at any time, so I don't think we should (or can) be smart enough in all cases. I rather think it would cause more problems than benefits in complex cases.

And again, thank you! 👍

@ghost
Copy link

ghost commented Jan 6, 2018

beta icon example:
beta
for me it would be fine if it would still auto update cause in a beta release you might always want the most recent version (in case of affinity, the old ones actually stop working but that is already paid software and has left the public beta stage, you need a paid copy to be able to run the beta and they have to be both in the application folder at top level)

  1. I will try and report back in case
  2. ok did not notice it would only work when the popup is opened, in that case it seems very reasonable
  3. sure was a bit too short: so you copy and the popup where you type in the target path comes up, it has auto completion, but the completion does not select the first item but this was only because I had not enabled the setting in the config file (if you have a list of new settings that would help but I can also be less lazy and look for myself)
  4. yea was just a thought cause my smb was slow and I had to click twice instead of once, no big deal

ans thanks for the good work, the continuous efforts are really nice 👍

@yanex
Copy link
Member Author

yanex commented Jan 6, 2018

@monouser7dig

  1. I think I will create some kind of a change log for EAP versions so the new features will be easier to get used to (as the documentation page is usually updated in time of the release).

@ghost
Copy link

ghost commented Jan 6, 2018

I was in your marta.zip download and tried to copy one of the folders onto the desktop (just to try...) and marta asked me if I wanted to replace although there was no collision, after accepting it complained about access privileges... seems weird to me

maybe this would be left to be discussed as it actually seemed strange to me, maybe user error, wrong expectation but...
(I actually created a folder in a folder and zipped the top folder and reproduced the "error message" saying there was a dup (although I deleted the original folder after I zipped it))

@yanex
Copy link
Member Author

yanex commented Jan 6, 2018

@monouser7dig Yes, it's definitely a bug. I just wanted to reproduce it before filing it as an issue :)

@warpkanal
Copy link

warpkanal commented Jan 7, 2018

Thanks for that huge increment!

copying a file and while copying, deleting the file could maybe stop the copy and just delete the file but not sure you want to make such an "optimization"

I can imagine pressing delete accidentaly too early (having thought that a long copy is probably already finished) so if at all, I would favor if the filemanager would notify me about conflicting operations and hence preventing or asking before really deleting that file :)

  1. Here is a UI glitch:
    monosnap 2018-01-07 11-37-23
    Weird: the first operation is in progress, the second hasn't started, still the progress bar of the second file is full?
  2. Another UI glitch:
    If I select e.g. the first item, press p twice (to pause and continue), the selection in the popup is gone
  3. Queue prios and parallelism:
    Very cool idea to separate between potentially slow and fast operations!
    3.1. however move operations between different volumes should have the same prio as e.g. a copy operation (as they are longrunners and basically copy+delete_afterwards)
    3.2. Not sure whether a bug: you said that fast operations are started immediately, I have however a move in my queue (from volume a to volume b, so it is slow), additionally I have paused this move, but a subsequent local rename is queued and not executed. It was only executed once the previous move from volume a to volume b finished or was cancelled).
    3.3. Having a configurable parallelism would be cool
    3.4. Having two long copy operations (A running, B being paused), it looks UI-wise as if I can forcefully start B as well, but it never progresses as long as A is running, so the UI indicates something wrong. However I'd find it supercool if the parallelism would be simply ignored (or at least configurably ignored) if I forcefully start something additional in my queue
  4. The progress indicator at the top right: at the moment:
    -I'm copying file A => the marta top right progress indicator shows the progress for that one file
    -I copy (queue) another file B => prog indicator still shows progress for file A
    -File A has finished => prog indicator was full, now it resets to zero and shows progress for file B
    -hence at the moment the prog indicator has no indication as to when it might be finished completely
    I'd suggest to simply make the top right prog indicator showing the complete progress (instead of a single file), similar to the complete progress bar you had in the old synchronous copy dialogs. If someone is interested in single progress he can open the progress popup.
    Additionally I'd suggest to add a counter (like a badge or similar) to the top right progress UI to have a feeling for the number of operations currently contained in the queue

@ghost
Copy link

ghost commented Jan 7, 2018

3.3 Having a **configurable parallelism** would be cool I honestly think that would be way overkill, to me settings are already at the risk of being to detailed, both for the user and maybe the maintainer but that is yanex call after all
3.4 However I'd find it supercool if the parallelism would be simply ignored (or at least configurably ignored) if I forcefully start something additional in my queue I'd agree, pushing some action to the top of the queue would actually really be cool and something Finder can not do afaik.


  • I'd suggest to simply make the **top right prog indicator showing the complete progress** +1 👍
  • I'd suggest to add a counter (like a badge or similar) to the top right progress UI to have a feeling for the number of operations currently contained in the queue I do not see any value in this, but a time estimate and or MB/s would be nice/ per queue or total (along the lines of free disk space option)

@warpkanal
Copy link

warpkanal commented Jan 7, 2018

to me settings are already at the risk of being to detailed, both for the user and maybe the maintainer but that is yanex call after all

I have a different opinion on this: I prefer software that is configurable as much as possible (in the end I dislike software that makes too much decisions on its own, when configurability wouldn't increase complexity in the code). Take parallelism as an example: I can imagine yanex to already have a constant for the parallelism size: if yes: exposing it as user-configuration won't increase software complexity (it is already configurable, but only in the source-code and not via json). However on the other side if number of parallelism is not already respected in the source-code, then I'd agree, making it configurable would be overkill.

In sum:

  • configuration complexity on software-side (or maintainer-side) is not always increasing software complexity. Taking it to the extreme: what is already configurable in the software source itself could be made configurable by the end-user as well without increasing software complexity on its own.
  • configuration complexity on user-side is in my opinion a matter of documentation. It's fine to have the important stuff documented, still allowing for undocumented config flags that would be uninteresting to "standard" users, but that yanex would have mentioned in one or the other github issue. Another option would be to document everything and just separate a documentation between "standard" and "advanced" options.

but a time estimate and or MB/s would be nice

+1

@ghost ghost mentioned this issue Jan 16, 2018
@yanex
Copy link
Member Author

yanex commented Feb 10, 2018

@warpkanal

  1. The "full" progress bar is actually indeterminate, but you're right, this is quite confusing. It will be fixed by switching to the Marta's own progress bar widget.
  2. This was a bug. Will be fixed :)
    3.1. Of course. Marta has a "efficient move" operation that is effectively a rename. So when it can be used, the operation is not queued.
    3.2. This is definitely a bug. I couldn't reproduce it in the newer version (that I'm going to release soon), please let me know if it still doesn't work properly for you.
    3.3, 3.4. Sure, I will add queue options letter. Allow to configure the limit of simultaneously running tasks #248
  3. Allow to configure the limit of simultaneously running tasks #248

@yanex
Copy link
Member Author

yanex commented Feb 10, 2018

@monouser7dig Well, at least the number of simultaneously running tasks should be easily configurable. Also, yes, we need a way to start a queued task regardless its position in the queue #249.

time estimate and or MB/s

Well, I don't really believe in time estimates, cause I have never seen it done properly. I don't want make a tool that would lie to me :)
MB/s is actually a nice idea, though it's not applicable to all file operations. I'll think about how it can be implemented to make this extensible.
A number of running operations is a nice thing too, especially if you have a long list of operations. #250

@ghost
Copy link

ghost commented Mar 3, 2018

Well, I don't really believe in time estimates, cause I have never seen it done properly. I don't want make a tool that would lie to me :)

If I use windows I always like their progress indicator with the history histogram of the speed (if you click more information) and current speed thus it gives some idea about the variance. (maybe there should be a second line indicating the average speed)
I'd appreciate such a thing on Mac 😆 (with a layout a bit more condensed like the top and bottom lines in one row and without the fewer details piece)

@yanex
Copy link
Member Author

yanex commented Mar 5, 2018

@monouser7dig This dialog definitely looks nice. Maybe Marta will have something like this one day :) But that's totally a different story, please create a feature request for it.

  1. It's a bit unclear where all the additional information should be displayed (it needs experimenting);
  2. It has to be available for all asynchronous operations, not only for Copy/Delete actions. So it would be more general solution.

@yanex
Copy link
Member Author

yanex commented Mar 5, 2018

By the way, Marta 0.5 EAP 2 is out. I'll be glad if someone of you guys will check it :)
/cc @warpkanal @monouser7dig

💾 Download Marta EAP 2 (changes since 0.4.7)

@warpkanal
Copy link

warpkanal commented Mar 5, 2018

Crashes immediately:
Marta EAP_2018-03-05.crash.zip

@ghost
Copy link

ghost commented Mar 5, 2018

thanks for the update!

it does not load my settings so it makes it harder to test (now symlinked them)

@yanex
Copy link
Member Author

yanex commented Mar 6, 2018

@warpkanal Thanks for the feedback! What macOS version do you use?
Anyway, I will publish the fixed version soon (maybe today).

@warpkanal
Copy link

Lastest 10.13.3 (17D102).
Btw. it crashes immediately as well on an imac (same macOS).
Maybe related to my config files? Anyway will check the next version :)

@yanex
Copy link
Member Author

yanex commented Mar 9, 2018

This version should work. @warpkanal
Marta 0.5 EAP 3.zip

@ghost
Copy link

ghost commented Mar 10, 2018

I have some objections as to how to make Marta-beta installs easier

  • add a Marta-beta package to homebrew
  • if a new marta version is released, always release Marta-beta versions, thus it's easy to stick with one version (beta or not beta) (like sublime does it)
  • use the same config files as the standard version, like sublime, makes switching easier

@warpkanal
Copy link

EAP3 works now.
Not sure whether that issue was already reported: trying to copy my old favorites to the new folder and overwriting the original EAP file: it says it cannot copy but in the end it successfully has overwritten the file as requested:
untitled 2018-03-10 12-39-02

@warpkanal
Copy link

warpkanal commented Mar 10, 2018

Dragging a file from externally (e.g. finder) into an open folder in Marta works, but shows an error message:
monosnap 2018-03-10 12-50-01

Happens on every move also inside Marta (no dragging, just F6)

@yanex yanex added the fixed label Mar 29, 2018
@yanex
Copy link
Member Author

yanex commented Mar 29, 2018

@warpkanal Thank you for the reports! Will be fixed in 0.5.

@yanex yanex closed this as completed Mar 29, 2018
@ghost
Copy link

ghost commented Mar 29, 2018

yeah, looking forward to the things in 0.5.1 now 😄 much desired features coming on the horizon 🎈great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants