Jump to content
You must now use your email address to sign in [click for more info] ×

Allow objects to snap to their “ghost”, initial position during drag operations


Recommended Posts

6 hours ago, JGD said:

There's a third point you (and especially Ben) are not considering:

  • The app feels incomplete and unpolished.

It will always be. Like any other Software known to man with a degree of complexity. And there is a bigger risk that I will summarize it like this:

image.png.3d621fb6c350bee7b18afe4adbd373eb.png

Having said that, this specific feature wouldn't hurt but having the limited time and resources, and many features ("basic" ones, some are, some not, but the word implies that it's a sine qua non...) stay in line waiting to be developed, how to balance those resources?

 

6 hours ago, JGD said:

So, in the end, even though I'm as worried as you are with the “Subtool bloat”, I'd rather have subtools that work great and don't conflict with one another, than having to deal with too much functionality condensed into a single one

In the end, what's great for some, it ain't for others.

 

6 hours ago, JGD said:

As for the arrangement, if the tools ever stop fitting my 13'' MacBook, maybe I'll have to switch to the two-column view as well; on the iMac, seeing how big its screen is, it really won't be necessary.

I have a 23" screen on my Desktop machine, but I also work on 14", on a Laptop. On both of them, I have the same Layout: two columns and no hidden Tool.

Best regards!

 

Link to comment
Share on other sites

28 minutes ago, Ben said:

TL;DR

Can someone distill the useful points from this thread for me... thanks.

 

Here is what I can say, since you know what's being asked for. For complex Designs, having this feature:

  • You will avoid selecting objects that have to be deleted, repeatedly, among many others on the screen.
  • Duplicating, selecting and deleting is tedious and it will make you waste a lot of time.

Best regards!

Link to comment
Share on other sites

  • Staff
32 minutes ago, Mithferion said:

Here is what I can say, since you know what's being asked for. For complex Designs, having this feature:

  • You will avoid selecting objects that have to be deleted, repeatedly, among many others on the screen.
  • Duplicating, selecting and deleting is tedious and it will make you waste a lot of time.

Best regards!

 

Well done, that man - and you did it without telling me about your childhood, pets, holiday, private train of consciousness, or philosophies on the English language and use of modern computing terminology.

 

Kudos also for the reference to the "Homer Simpson car"... spot on, and illustrates the point I've tried to make about us pandering to all unmerited feature requests.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

  • Staff

Can anyone else can clarify this - is there really ever a need, in total isolation, to snap an object to itself?

 

Of all the supposed "use cases" in this thread (which I don't need repeating) - how many cannot be achieved with Power Duplicate, or using an appropriate grid for positioning cloned objects? (or a combination of grid + power duplicate).  Creating a regular pattern of objects seems to call for a grid approach, to me.

 

Using self-snapping you can only ever create spacing that is the same as the size of the object - a somewhat limiting approach I'd argue.  A grid would allow centred positioning of clones - independent of the object size.

 

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

12 minutes ago, Ben said:

Creating a regular pattern of objects seems to call for a grid approach, to me.

This may be difficult sometimes if trying to create a regular pattern of irregularly shaped objects that still happen to fit together... puzzle pieces perhaps?

I'm not sure how that relates to this request, however, as in creating something like this you would be snapping similar objects to each other, rather than to themselves.

Link to comment
Share on other sites

16 minutes ago, Ben said:

Can anyone else can clarify this - is there really ever a need, in total isolation, to snap an object to itself?

Not in isolation. From what I gather, this show its value in a larger project: to make a comparison, it makes no sense having a feature like "Select same..." when you have two Objects on the screen, but when you have 1,000 and not all of the are the same, it saves you time. Hope that makes sense.

 

20 minutes ago, Ben said:

how many cannot be achieved with Power Duplicate

As of now, none...

 

20 minutes ago, Ben said:

or using an appropriate grid for positioning cloned objects?

How long does it takes to setup a grid? Now, how long does it takes to setup 4 different grids in the same project? This is where I believe the need is starting to make a bit of sense. And that's why I said to JGD that some sine qua non examples are needed.

 

23 minutes ago, Ben said:

Using self-snapping you can only ever create spacing that is the same as the size of the object - a somewhat limiting approach I'd argue

I see that these "limiting" features don't make sens to you a lot of times, but the limiting nature of the Feature doesn't mean that you can discard it right on the spot.

So, to summarize:

  • We need a better example with a complex Project because that's the way I feel this will prove its value.
  • To me, it makes sense in really Large Projects.
  • "Limiting" is not really bad and not a reason by itself to discard anything.

Best reagrds!

Link to comment
Share on other sites

  • Staff

 

1 minute ago, fde101 said:

This may be difficult sometimes if trying to create a regular pattern of irregularly shaped objects that still happen to fit together... puzzle pieces perhaps?

I'm not sure how that relates to this request, however, as in creating something like this you would be snapping similar objects to each other, rather than to themselves.

Exactly - still no need to snap an object to its own original position.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

3 minutes ago, Mithferion said:

How long does it takes to setup a grid? Now, how long does it takes to setup 4 different grids in the same project? This is where I believe the need is starting to make a bit of sense. And that's why I said to JGD that some sine qua non examples are needed.

If there is a legitimate use case that would be covered by a grid, an equally sensible feature might be to have a command to generate a grid based on a selected object.  In other words, select an object, execute that command, and a grid is automatically produced such that the lines of the object is pre-snapped to the lines of the grid.

Link to comment
Share on other sites

  • Staff
10 minutes ago, Mithferion said:

Not in isolation. From what I gather, this show its value in a larger project: to make a comparison, it makes no sense having a feature like "Select same..." when you have two Objects on the screen, but when you have 1,000 and not all of the are the same, it saves you time. Hope that makes sense.

 

As of now, none...

 

How long does it takes to setup a grid? Now, how long does it takes to setup 4 different grids in the same project? This is where I believe the need is starting to make a bit of sense. And that's why I said to JGD that some sine qua non examples are needed.

 

I see that these "limiting" features don't make sens to you a lot of times, but the limiting nature of the Feature doesn't mean that you can discard it right on the spot.

So, to summarize:

  • We need a better example with a complex Project because that's the way I feel this will prove its value.
  • To me, it makes sense in really Large Projects.
  • "Limiting" is not really bad and not a reason by itself to discard anything.

Best reagrds!

Limiting features are justifiable, only as long as they do not hamper the common use cases for a tool.  If that rare use case requires yet another feature switch we'll get others critical of "feature overload" or "too many options".

 

As I said before, most people doing layout work would hate having objects snapping to their original positions.  There is really no use in it.  You are always trying to move an object away from where it was, and align it to something else.  To have it fighting against that (pulling back to its original position via snapping) seems unproductive.  If I need to keep an object aligned to where it was, I use Shift to constrain the movement.

 

The only use cases I see so far all relate to forming regular patterns of same objects, unless anyone can elaborate any others..?

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

  • Staff
3 minutes ago, fde101 said:

If there is a legitimate use case that would be covered by a grid, an equally sensible feature might be to have a command to generate a grid based on a selected object.  In other words, select an object, execute that command, and a grid is automatically produced such that the lines of the object is pre-snapped to the lines of the grid.

Interesting.  I'll have a think on that one.

 

We now also have an on-spread grid widget that will let you construct a grid manually to conform to other geometry.

 

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

1 minute ago, Ben said:

The only use cases I see so far all relate to forming regular patterns of same objects, unless anyone can elaborate any others..?

Then we agree that we need a better and bigger example. Because in the Stripes example, I believe I managed to achieve the task in a faster way than what was even asked for.

But that's it, it was faster for that example alone.

Best regards!

 

Link to comment
Share on other sites

  • Staff
1 hour ago, Mithferion said:

Then we agree that we need a better and bigger example. Because in the Stripes example, I believe I managed to achieve the task in a faster way than what was even asked for.

But that's it, it was faster for that example alone.

Best regards!

 

Not necessarily bigger, but just one that makes sense of a need that cannot be achieved any other way.

 

I'm also still not convinced that the clone+delete method isn't good enough in common practice. It only takes a fraction longer, and the extended examples in those videos demonstrate that the result is better achieved with power duplicate anyway - so I still only see people struggling to maintain their choice of workflow against more powerful tools already available in Affinity.  The positioning is usually only required for the first couple of instances - power duplicate should take care of the rest.

That binary cloning approach is pure madness anyway when it can already be done quicker - even if using some temporary objects to set up the initial offsets.

 

The self-snapping positioning shown in the examples to me seems so specific that the real justification still has not been met to warrant compromising the common use of the tools.

 

Are there any other examples other than this regular pattern stuff???

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

16 hours ago, Ben said:

Can anyone else can clarify this - is there really ever a need, in total isolation, to snap an object to itself?

 

Of all the supposed "use cases" in this thread (which I don't need repeating) - how many cannot be achieved with Power Duplicate, or using an appropriate grid for positioning cloned objects? (or a combination of grid + power duplicate).  Creating a regular pattern of objects seems to call for a grid approach, to me.

 

Using self-snapping you can only ever create spacing that is the same as the size of the object - a somewhat limiting approach I'd argue.  A grid would allow centred positioning of clones - independent of the object size.

 

Of course there isn't a use in isolation; I was just demoing general UX principles. As soon as I find old projects from my archives or come across a new one that make serious use of that, I'll post them here; it's so frequent, that it's only a matter of time.

Anyhoo, when working with anything based in geometric principles – not just simple grids like those you can already set up with the app, but tesselations and other stuff –, absolutely. It makes the app feel “smarter”, and would fit right in on an already very advanced snapping manager.

My €0,02, in 98 words [not counting this last paragraph, sorry], just like you asked.

Link to comment
Share on other sites

14 hours ago, Ben said:

Not necessarily bigger, but just one that makes sense of a need that cannot be achieved any other way.

 

I'm also still not convinced that the clone+delete method isn't good enough in common practice. It only takes a fraction longer, and the extended examples in those videos demonstrate that the result is better achieved with power duplicate anyway - so I still only see people struggling to maintain their choice of workflow against more powerful tools already available in Affinity.  The positioning is usually only required for the first couple of instances - power duplicate should take care of the rest.

That binary cloning approach is pure madness anyway when it can already be done quicker - even if using some temporary objects to set up the initial offsets.

 

The self-snapping positioning shown in the examples to me seems so specific that the real justification still has not been met to warrant compromising the common use of the tools.

That's the problem. Forcing people to work a certain way.

More specifically, to use too many modifiers+shortcuts to do stuff that could be achievable only by clicking and dragging; that's not good practice. You can't self-snap an object without copying [and deleting], which itself forces one to use either Command+drag, Option+drag or Duplicate.

You're complicating stuff that, with ghost/self-snapping enabled, is easier by default (and easier with the competition). Even if it's only apparently “slightly” slower*.

As for the Power Duplication feature, it has enough issues of its own that it warranted its own thread. Please do check it out.

… and at a 100 words, that's a wrap! ;) 

_____________________________

Edit: (*) It isn't. It can be much slower. Please see my latest comment for a real-world example.

Link to comment
Share on other sites

12 hours ago, Ben said:

Are there any other examples other than this regular pattern stuff???

You're dismissing an entire style of illustration, by the way. Something that goes all the way back to the 1920s (if you don't count Islamic tile work) and about which I and a great deal of scholars, whom I know personally, are doing great work on. And probably either the subject of my PhD, or some further research.

And I keep seeing that style being revived in contemporary stuff (a recent rebranding done by Delta, a big coffee brand over here which exports their wares all over Europe, uses it extensively, just to give you a real-world example).

Guess what: 99 words, once again [again, not counting this paragraph, sorry]. Sorry for rehashing the subject, but it did warrant a separate reply; it may be a niche, but it's a big one currently, and as dear to us as Serif itself is to you. Please bear that in mind when approaching it.

Link to comment
Share on other sites

13 hours ago, Ben said:

Interesting.  I'll have a think on that one.

 

We now also have an on-spread grid widget that will let you construct a grid manually to conform to other geometry.

 

Now that sounds very interesting. But please consider the usefulness of being able to do geometric work without too much prior set up (i.e. with this ersatz smart[er] snapping).

Sometimes people are just whipping up a poster or a portfolio, and those carefully curated grids/tools won't carry over neatly; if one has to do quick edits, it can become a total chore, whereas if the engine itself was ready to accommodate those workflows by design, that wouldn't be an issue.

Those two approaches shouldn't be mutually exclusive, obviously, and I can't wait to see what you come up with.

Also: 99 words once again. At this rate, we can shut the thread down and move this to Twitter. xD

Link to comment
Share on other sites

On 7/28/2019 at 4:10 AM, fde101 said:

@JGD, please note that each of your posts has WAY over 100 words in it.

This is how to read a post with more than 100 words:

1) Read the first 100 words

2) Then, read the remainding words

It is good practice for reading The New York Times or whatever. And to keep this at bay:

 

  • "The user interface is supposed to work for me - I am not supposed to work for the user interface."
  • Computer-, operating system- and software agnostic; I am a result oriented professional. Look for a fanboy somewhere else.
  • “When a wise man points at the moon the imbecile examines the finger.” ― Confucius
  • Not an Affinity user og forum user anymore. The software continued to disappoint and not deliver.
Link to comment
Share on other sites

14 hours ago, fde101 said:

This may be difficult sometimes if trying to create a regular pattern of irregularly shaped objects that still happen to fit together... puzzle pieces perhaps?

That's the textbook definition of a tesselation right there.

14 hours ago, fde101 said:

I'm not sure how that relates to this request, however, as in creating something like this you would be snapping similar objects to each other, rather than to themselves.

It absolutely does relate to this request; I'd say that's the biggest use case for the self-snap feature is precisely that. In fact, I've been saying as much – and talking about tesselations, but also general geometric work – for a while now. ;)

And while you're right, it can be extremely useful in the set up stage. But sometimes, even while editing stuff, moving an object away from the “mesh/grid/tesselation/whatchamacallit” and still have it snap to its own nodes can be useful, especially when you're dragging a multiple object selection.

Link to comment
Share on other sites

14 hours ago, Ben said:

As I said before, most people doing layout work would hate having objects snapping to their original positions.  There is really no use in it.  You are always trying to move an object away from where it was, and align it to something else.  To have it fighting against that (pulling back to its original position via snapping) seems unproductive.  If I need to keep an object aligned to where it was, I use Shift to constrain the movement.

Sorry @Ben, this was another miscommunication. Yes, snapping an object's nodes A, B and C respectively to A, B and C is ridiculous. That's what Undo is there for. xD

“Self-snapping” always refers to the hexagon demo, i.e. moving an object and snapping node A to node B or C's original position.

If you add centre points, mid-points, geometry, paths, etc. into the mix, it gets even more useful.

Add multiple object selection to the mix (then you can indeed have full A—A, B—B, C—C snaps, except to different instances), and it suddenly gets even more interesting. ;)

Link to comment
Share on other sites

By the way, and without making any definitive considerations on how I did it (because it's been over four years since I even looked at this thing closely; I'm guessing I used self-snapping a lot, and zero keyboard shortcuts, only modifiers like Option+dragging and Command+dragging to alternate between the two selection tools in Ai), I'll just leave this here.

It's my “Maluda-meets-grids” interpretation of a view of Saint George Castle from the Saint Peter of Alcântara belvedere, in Lisbon:

951113947_Capturadeecr2019-07-30s03_57_11.thumb.png.6527522a738db9d744e566cfb5e4dab5.png

And the outlines view, just so you can appreciate the sheer complexity of this thing:

729308412_Capturadeecr2019-07-30s04_04_59.thumb.png.dc8aa6f094a937a8627de6f0badcf771.png

And the illustration superimposed over the original photos:

396094472_Capturadeecr2019-07-30s04_32_39.thumb.png.49f7c7f228ba22c2e491ad0214e888c1.png

Yes, there's an orthogonal grid, to which I snapped larger stuff. But Power Duplication here would be kinda useless in many instances (as there's too much variation), as was the rather coarse grid on a micro scale; there are, however, many different “super-grids” and “sub-grids” arising from the illustration itself, and self-snapping was still useful.

Basically I turned off “snap to grid” and did the finer stuff completely by hand, always subdividing objects by half; or maybe I made the grid finer, whatever. Either way, I still found the visual feedback of “ghosts”, which enabled me to compare before/after positions, on the fly and on top of a photograph, to be a vital tool. Not having to constantly undo and redo hundreds or even thousands of operations did greatly speed up the process overall.

Because, you see, in these use cases when you're tracing from a photo to a grid, if you want stuff to match up you usually only have three choices:

  • A perfect one (when you're lucky enough that everything falls into place) or (when you're not),
    • An optimal…
    • … and a sub-optimal one.

You can, of course, start subdividing the grid right away, but I usually reserve that approach only for when the detail or the subject justifies it (in this case, you can clearly see I only resorted to that when doing the intricate, Mannerist south tower of São Vicente de Fora Monastery – on the left-hand side of the image –, and the nearby façades with a very oblique perspective which turns windows into nearly imperceptible slits); overall, I'd rather reinforce the grid while still being as faithful as possible to the source material.

Hence my insistence on having those “ghosts”, even – nay, especially – when snapping to the grid is active and the entire goal of the project. I know that for a fact and have the experience to back it up; I'd probably go insane and, to use @Ben's and my own emphasis, hate to do this in Designer. It's a strong verb that shouldn't be used lightly, but I'm sure I would, because I did get frustrated with much simpler projects in Designer and can easily extrapolate from there.

And hey, it's digital illustration, so you can't really say I'm not in AD's current/preferred/most loyal target demographic; it's just that my style doesn't conform to the mainstream (though I'd argue and stress, once again, that geometric stuff is very much in fashion right now, because of the entire “flat design” aesthetic trend that [re-]emerged since the iOS 7 UI redesign, but I digress).

As for self-snapping, if “ghosts” are an option in the first place, so should that functionality, as Ai users/switchers like myself will pretty much expect it to be included and it won't hurt anyone for it to be there (even if it's yet another separate toggle in the snapping manager).

And yes, I know I blew the magical 100-word limit on this one. But considering how many hours it took me to do this thing, and the complexity involved (I don't even want to go into object grouping and layering details!), that's a very concise description of my workflow and the entire thought process on how this validates my request. :P You wanted real-world examples? You got 'em.

Link to comment
Share on other sites

17 hours ago, Alfred said:

It seems that there’s a good reason why the British English phrase “on holiday” is replaced in American English by the phrase “on vacation”! (For anyone missing the subtle distinction, “on holiday” implies that you’re not working, whereas “on vacation” merely indicates that you’ve vacated — i.e. left — your usual location.)

Spot on. I did expect a holiday, but what I got was a bit of a bastard hybrid. A “holication”, if you will. 9_9

(That sounded way better in my head before writing it down. Oh well xD )

Link to comment
Share on other sites

@Ben, I just recalled something else extremely important:

“Ghosts” in Ai aren't just useful for moving; they also work great when using resizing handles. Most of the time, I cut objects in half (or in quarters) by resizing them towards their centre point.

You may say “but there's already an alternative” (like inputting “/2” into the W and/or H fields). Indeed, but it's usually much slower on a 27'' iMac.

When I'm creating, I don't want to take my focus away from my artwork, and if I can do simple calculations visually, I'd rather work that way. If I didn't, I'd be an architect and use AutoCAD instead.

Link to comment
Share on other sites

2 hours ago, JGD said:

Most of the time, I cut objects in half (or in quarters) by resizing them towards their centre point.

Can’t you achieve that by switching on the snapping option ‘Snap to layer bounding boxes > Include box midpoints’?

Edit: On reflection(!), I suspect that you might baulk at the need to duplicate the object, resize the duplicate towards the centre point of the original and then delete the original object.

Alfred spacer.png
Affinity Designer/Photo/Publisher 2 for Windows • Windows 10 Home/Pro
Affinity Designer/Photo/Publisher 2 for iPad • iPadOS 17.4.1 (iPad 7th gen)

Link to comment
Share on other sites

4 hours ago, JGD said:

When I'm creating, I don't want to take my focus away from my artwork, and if I can do simple calculations visually, I'd rather work that way. If I didn't, I'd be an architect and use AutoCAD instead.

Well, I am an architect and I can totally understand the benefits of a ghosted original (compared to the Ai ghosted future).

I have read almost all of this thread this morning and I must say that it has been interesting. As is my impression from other discussions, flashy and very clever tools in Designer the downside to these is discoverability. It took @JGD producing several narrated videos to tease out some suggestions that are completely non-intuitive.

That comes to my main point really, that the ghosting idea is fundamentally intuitive. @Ben has repeatedly stated that snapping to invisible elements is undesirable and I fully agree. However, this was never suggested in this thread. Seeing a visual cue as to what is happening and allows snapping to the original is much MORE intuitive than holding shift to constrain a translation for that very same reason.

The power duplicate feature looks clever and I'll fire up Designer in a moment to give it a go. But for someone that only uses Ai / Designer for a few hours here and there the chances of remembering it is low, where as a visual cue is just there as soon as you start working.

When it comes down to it, there are multiple ways these problems can be solved in Ai and it seems in Designer. The key is to be flexible enough for different users and different workflows. The only downside I can see to adding this feature is the one that @Ben highlighted over conflicting snapping situations. These occur all the time anyway, for example when a centre point is close to an edge. In any app with snapping, you have to be careful what you are snapping to. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.