PizzaTool (which I wrote in 1990 and shipped with Solaris 2.0) not only let you interactively design your own pizza, and create and name your own custom pizza styles, and order them via Sun's Email=>FAX server, but it also drew an image of the pizza (with PostScript), which you could then spin to "cook" it by repeatedly rotating the pixels to make it look like it cooked and melted the cheese.

The Story of Sun Microsystems PizzaTool:
How I accidentally ordered my first pizza over the internet.

https://medium.com/@donhopkins/the-story-of-sun-microsystems...

PostScript PizzaTool source code:

https://www.donhopkins.com/home/archive/NeWS/pizzatool.txt

You could also drag and drop images into your pizza! Here's a video and transcript of a demo I gave at the Exploratorium (which explains all the kids screaming in the background).

https://www.youtube.com/watch?v=avJnpDKHxPY&t=21m43s

https://medium.com/@donhopkins/hyperlook-simcity-demo-transc...

So this is PizzaTool and RasterRap, and these are written in The NeWS Toolkit, not HyperLook. But HyperLook is layered on top of The NeWS Toolkit, or sort of on top and in between The NeWS Toolkit. But this is pure TNT.

Now these are, umm. PizzaTool: I’ll do PizzaTool first.

PizzaTool lets you order pizzas with a GUI. And we can select which pizza parlor. Tony & Alba’s is the nice one in Mountain View. They support ordering pizzas via FAX.

Now you can write you name, and your phone, and all this, and you can have a “Take and Bake” or “Please Deliver”.
You say Please Deliver: “They probably won’t deliver unless you make it worth their while by ordering lots of pizzas!”
It gives you those “affordances”, I mean, ahem, right, I was trying to work that word in.

So ok, hit Toppings, you get this lovely topping dialog. And you can pop up a menu of common pizza styles, pinning it in the Open Look tradition. And, you know, it sets up the check boxes for you. And then you can add other toppings.

And then see, when you’ve added a bunch of things, it actually changes your category of pizza. I might get, like, it will flip to “Everything” pretty soon or something.

Well anyway, yeah, let’s do “Cheese”, and then if I were to add all these crazy things, it will realize that it can actually get a better deal by upgrading me to an “All Meat Combo” with 10 extra toppings.

It’s your little “pizza guide”, you know.

And once you’ve selected all your toppings, and how big you want your pizza, you hit “Preview”, so that you can make sure that this is the pizza you really want.

And then it just does this, makes a little window, see this is a neat window here. It’s cut out, so that your pizza is just floating within the frame.

And now, whoop, ok. And then you can add more toppings, and it forks off a lightweight PostScript to sprinkle toppings. And it’s totally object oriented, I swear.

Now that you have a preview, and you want to see what it’s like when you cook it, you can just use direct manipulation, and just sort of spin it around with the mouse, and then let it go.

That actually has a pretty good effect of cooking the toppings, because you get all this nice noise from the rotation, you know. It’s just… It’s all written in PostScript.

“Camera person is now laughing!”

(Camera lurches around violently!)

You know, and then you got your pizza right the way you want it, and then you can hit “Order”.

It goes “Do you really want to order a pizza from Tony & Alba’s? This will cost real money and make you want to drink beer!” Then you say “Yes!”

And then, you know, when you’re on the right network and everything, what it does, it faxes the order there, and…
Oh! “Yer pizza is being held hostage until ya payz off yer tab, chump! Yer tab’s presently $1212.64.”

I guess Sun hasn’t been paying off my account since I left. Oh well…

Umm, yes, right. So, now, this has, PizzaTool has some other useful features. You can, go into pizza authoring mode, and edit your pizza toppings.

Or, you know, say you have a favorite kind of pizza, you can just make a new style, “Don’s Fave”, and save, and say, “New Style”. It just adds it there, dynamically updates, so — this is basically a test that I made for the — you know, and it copies its state onto — you know, so, this is a test I made for the toolkit that used every bit of the toolkit that’s possible, and is as dynamic as it could be.

Anyway, the other thing we had to test was drag and drop.

Now there’s this other program here, it’s RasterRap, and it allows you to drag this image and drop it into that, or you can drag it from here and drop it into the other. So these guys will talk to each other through drag and drop, and give you the lovely feedback.

And then you can also — PizzaTool also supports drag and drop. So BLOOP! You can put a little Mona Lisa in your pizza, and then spin her, and put some bell peppers down, and maybe some turkey.

(Camera person laughs and shakes camera.)

This is all in the name of progress! Ha ha ha!

(Confused muttering in the background!)

Oh, and if you make the pizza small, it goes really fast!

So once you’re done doing all this crazy stuff, you can wash it out.

By, see, we have this nice beautiful painting of a wave here, put the wave in there, and go whooooosh.

What’s really neat is when you make it spin really fast, really really fast — we’ll put the butterfly in for that for that — you go BOOM! Well now, that’s not fast. Boom.

Yeah, ok. Ahh, oh yeah, you get these really great —I can’t really explain it very easily, but let’s add some artichoke hearts. (chuckle)

Yeah, so, yeah, mathematical imprecision, or something like that.

This is just sort of a food processor.

I left it spinning over Christmas to see what happens and it was really a mess when I came back.

Ok, well any way, that’s just what PizzaTool does.