Having cards move around the screen in order to minimise the scrolling is not always desirable. Often a consistent layout is much more preferable. This is especially true now that we can have dashboards.
I propose a new mode in the same vein as Panel mode, called Fixed Layout. Enabling this would allow the user to place cards where they wished, specifying the column a card would sit in, and where in the order of cards in that column it would sit. This would then allow users to create a fixed layout for their dashboards.
1 - Column count should be specified as an attribute of the Fixed Layout screen
2 - Cards could be moved with the existing up/down arrows to move vertically, and new left/right arrows to move a card between rows.
3 - If the column count is too large for the width of the screen on a device trying to display it, then the screen could either be truncated or scrollable. Whichever fits best with the developer options.
4 - If the row count is too large for the height of the screen, then it should remain as it currently is, scrollable.