General Alignment Issues/Bugs in Keynote.

Hi Everyone,


First post here so I'm unaware of the format for these types of things. At my day job I take on the roles of product designer & software architect, so I really couldn't help myself in reporting this bug. And my designer has been going a little nutty too so I felt the need to post this.


The problem is a little technical so let's start with an example so your team can replicate. Say you want to manually draw a bar graph, using shapes not the graph tool. The graph has 6 rectangular bars of varying heights (but all the same widths). Let's say the range of heights can be anywhere from 10-300pt and the width is always 76pt.


Next, for your 0 point on the Y axis draw a 1 px black line and then align all the bars manually to the bottom line. Do not group the shapes, and do not use the align tool. You will drag the bars with your mouse. You want all 6 bars to just barely touch the 1px line, so you need to do this at maximum zoom 400%.


Now, take smallest bar, lets say it has a height of 30pt, drag that as little as possible up/down (with your mouse) to get the smallest amount of change in the Y-position. You will notice that that smaller shape moved but there has been no corresponding change to the Y positional value. If you do this with the larger bar, say 200pt tall, you can only move it in increments in 1pt.


Basically, there is a problem with how Keynote is abstracting positional values. Keynote allows the user to change pt values manually by increments of 1pt but when you're dragging with your mouse, something odd is happening with smaller shapes where you get fractional values of pt. I'll be honest as an avid fan of Sketch, I'm pretty disappointed that we can't use px values instead of pt values or fractional values. Whenever you align things center, and you're using odd and even pt sized shapes, you're going to get what the user thinks are rendering issues, but really fractional values are occurring. This is more of a problem than a bug, but it's a worth mentioning.


Ok, so my technical 2 cents? Keynote isn't properly orchestrating the positional values across mouse, screen, & keynote internals/GUI. . . Here's what I mean: You have the the pt positions which everyone is aware of, but the mouse on the screen can be move to *any* pixel position. Pts =/= Pixels, so if I drag a smaller shape with a micro-mouse movement, Keynote is defaulting to pixels IF and ONLY IF the micro-movement is greater than 1px AND ALSO greater than 1% of the shape's size. It's a mouthful, and yeah at the end of the day you could "call this" a rendering issue, but I look at is as Keynote "screaming" for pixel positions (and fractions as well).


I'm attaching 3 images to demonstrate the issue. First images show the two bars of same size are clearly not aligned. 2nd and 3rd images show that their Y position is actually identical. What also makes this problem hidden is the friction that's introduced in order to easily align objects with the mouse. The friction makes it impossible to do micro-movements and I believe the smallest movement increment because 4pt not 1pt when theirs an alignment guideline showing.


If someone else has a designer pulling their hair out, there is a really time-consuming workaround. You take a smaller shape and drag it to the Y position you want. Take the shape you actually want, and then move it up/down so its not at the same pt value. Then you shift click both shapes, click on arrange tab, and then align bottom or align top, whichever you want.



See Image below for misalignment example. Both Boxes are clearly not aligned if you examine the grey reference line at the bottom.



To prove my point, see the pt positions for each shape:



First shape (left one) is highlighted,


Second shape, right one is highlighted,

==>Not aligned, yet Keynote thinks they're aligned. Closing app/reopening app they are still in the same position, so it's not a rendering issue. This problem may seem minor, but its way worse when shapes are different sizes.


There's a way to solve this problem that's super easy by the way. When we develop apps, they auto scale to the target device. We build one app and it can work on tablet, or phone and not have sizing issues. All we do is switch all code to *percentage* values (to match the mouse) and then write a small config file for conversion values for each target device. Using a similar approach, you can do something similar without having to write a ton of code to proper rendering. Pts are probably some legacy part of Keynote you've been wanting to change anyway, because the "pts" you're using aren't standard.


PS problem persists in mm or cm. I just pts as an example as that is default.

Posted on Sep 6, 2020 5:29 PM

Reply

Similar questions

4 replies

Sep 7, 2020 3:15 AM in response to SGIII

Apple doesn't look at this forum? Sorry, I had assumed that when the product support wizard pointed me here that this was maintained by Apple, like with Github.


Although I used the wrong communication channel, I did include a nice workaround to the problem in my original post. Just in case it'll be useful to a designer grappling with the same issue, I've rewritten the solution below in TL;DR format.


Thanks SGill

TL;DR for Pixel Perfect Alignment:

Using multiple shapes to manipulate positive/negative space is a well known design trick that saves A LOT of time. Sadly, creating curved objects with this technique resulted in jagged edges, which oddly disappears at lower zoom ratios. Turns out Keynote is actually using decimal coordinates, but the arrange tab is limited to whole numbers only. Fortunately, pixel perfection is still within grasp :) . .

First, uncheck/turn off all the alignment guides in Preferences>Rulers and ensure zoom is at 400%. To move, say, a cube to X=101.25, place it at at x=101. Now the fun part: using your mouse, click & drag the cube towards x=102. Remember, the goal is NOT to reach x=102. As you move the object, you'll notice it's moving ever so slightly, yet the coordinates aren't changing. Turns out, if X=100.5 to 101.5 the coordinate displays as 101. Oddly, at 101.5 it'll show as both 101 & 102 depending on if you dragged left or dragged right. Hitting exact decimals will take some eyeballing skills.

Finally, you can use the align tool in the arrange tab, to quickly align other objects with the cube from the example above. Good Luck!


Sep 7, 2020 10:30 AM in response to BLOXGroup

I use the Keynote Preferences : Rulers : Alignment Guides to automatically display vertical and horizontal alignments for me, without chasing the Arrange tab.



When I insert a new rectangular shape, I press the option key to drag it right-ward, and blue horizontal lines dynamically appear between the objects showing the top, middle, and bottom alignment before I release the duplicate.


This also works for aligning left edges of objects when vertically stacking them.


This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

General Alignment Issues/Bugs in Keynote.

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.