Easy PZ And The Kludge; Or, The Big Mistake That Programmers Should Unmake
Easy PZ And The Kludge; Or, The Big Mistake That Programmers Should Unmake

Tuesday • July 2nd 2024 • 11:59:27 pm

Easy PZ And The Kludge; Or, The Big Mistake That Programmers Should Unmake

Tuesday • July 2nd 2024 • 11:59:27 pm

Preface

This poem is about an old and unusual idea, where if you open a new window on your desktop.

It won't open on top of the existing one, but next to it, where you would need to swipe to.

This way, when doing taxes, you could create a map, of new windows, as you opened them one after another.

Some would have tabs, others not, but they would be radiating away from where you started.

This is called a Zooming User Interface, where you pan and zoom around.

It works OK on mobile, as you pinch out to get an overview of your space.

It works great on the desktop, where you scroll wheel out with your mouse.

And it translates well to virtual reality, where your windows just show up as a huge wall.


The biggest benefit however, is a simplification in building user interfaces.

As they no longer need to resize to a small screen, it can be the same window UI on mobile and desktop.

But even more importantly, simple user interfaces, means he user is invited to build apps.


Easy PZ And The Kludge; Or, The Big Mistake That Programmers Should Unmake

We got grandfathered in, an idea that runs thin.

The greatest mistake, without a doubt, Is today’s User Interface layout.

Long ago it was x and y based, now it is a CPU cycle waste.


Complex non-sense, all too dense…

All because, greedy claws.


We must go back, to set things on track.

Let the user, be the chooser.

Let them drag and drop, programmers must stop.

Let ideas sprout, no more automatic layout.


And to fit the hard coded size, we must recognize…

That the desktop and scroll, should make us lol.

It should have been Pan and Zoom, not this responsive doom.

Boom! That’s right, we got to go back with our might.

And bring back x and y UI design, to make the user shine.


You make the code and objects trees, and the user customizes the UI in peace.

It is a bright new world, the idea never got old.

Let them pan and zoom on the phone, and the desktop at home.

Same UI, open sky, and nobody has to cry.

All your windows always open, with level on detail poppin.

Avoid the Layout doom, implement easy pan and zoom.

Kill the klude, stop the fudge.

Easy P Z, Same UI, the kludge must die.


Afterword

This audacious poem, is about your ability to pinch out of you phone UI, to see all the windows you have recently opened, right where you left them.

They are in sleep mode, but they look like they are live, so zooming out is memory efficient enough.

Zooming in, need not mean magnification, by default we can just stop at 1:1 ratio.

Panning, means moving your finger to slide away from the window, the window stays put, you are not moving it.

You are moving everything to the side, where there is likely an empty spot for a new window.

Or a window that you were previously using, the pinch out overview helps with that.


And this whole thing about Layout being too complex, it is hard to talk about it much, because it is that horrendously stupid.

But the matter of the kluge or a crappy idea, gets worse, because it cut you, the user from editing the User Interface.

If there is something you want to change in your favorite app, you can put it in edit mode, and move things around, by dragging them.

This is not possible today, because smart applications use complex layout engines, that can automatically adapt between desktop, tablet and phone screens.

This is a lot harder to get right, then just laying things out with X and Y, by just dragging text boxes and buttons with your finger.

We can get over all the other hurdles, with ideas like spreadsheets and tables, but UI layout remains a challenge to the novice.

The reason this is a big deal, because it is not just a matter of customizing applications.

But also making your own, be it for personal use, or for sale.

When your user can pan and zoom, it does not matter how big your window, or small your screen is.

Without panning and zooming, with the responsive UI kludge we have today, eveything must resize to fit on the screen it is on.

Phone screen will have confusing, mangled and squshedd UI components, and the desktop will have too much room, and low information density.

With pan and zoom, you just make the window what it needs to be, and move on.

And when you do need to switch to another window, the UI will pan you there automatically, will scroll you over where you need to go.

It is worth noting that early windows had Multiple Document Interface, where you could have multiple windows inside a window…

But there was no pan and zoom, you couldn't grab onto the background and move it, you had to move the scroll bar, and zoom never came up, really.


This idea has its problems, but they are more manageable, than creating crazy automatic layout stuff.

And of course, the ability to make apps at home via drag and drop, is far too precious to just cast away.

Take a look at an old hypercard tutorial to see how fun that was, and the code behind buttons would be a visual programming language today.

The modern visual programming is nothing what it used to be in the 90s, there are enough good ideas like ORM, Immutable State, State Machines, EventEmitters.

To just make visual programming about connecting boxes together, creating applications would be about dragging and dropping and connecting lines.

Drag and drop the UI together and jump under the buttons or into state machine, to weave ne necessary programming out of boxes and lines.

The next winning operating system user interface, will be pan and zoom, because it just makes so much more sense.

And opens that gateway to making the user into a programmer, a very powerful and wonderful thing in deed.

Artwork Credit