Skip to content

Oops! I’ve Built An Operating System For Young Ladies

Programming 12:41 of narration 4 min read
Cover for Oops! I’ve Built An Operating System For Young Ladies

Listen · 12:41

MP3

Above all, and often hard to understand,
Operating Systems are for operating: systems.

Anything complicated can be made simple,
with what we should call the Operating System & Desktop Metaphor.

From smart toasters, bicycles, and workout programs,
to Friday the 13th ghouls, web pages, smart phone, and remote servers.

The desktop you have on your computer or phone is not special,
it takes an afternoon with AI to make and improve.


All of this needs to be cute, I actually told my AI today,
to make it family friendly – we were working on a visual programming language.

Making a pixel art desktop relaxed the development,
and tucked complexity behind a friendly user interface.


Visual programming boxes, they look like your internet router,
a box with lots of ports, that plug into other ports.

You drag cables between ports, input cables send in configuration,
output cables send data that is used as configuration in other boxes.

It is a cute pattern, until you have to add a port,
which calls for programming, code, and as codex would have it type checking.

But in a cute operating system, you think differently,
you start thinking like a normal person.

Input ports are defined by variables in a text template,
form letters to AI, weather wire sends in that replaces the variable.

And then on the bottom, in English, you tell the AI that processes the text,
please return this and that, in the following format.

And that creates the output ports, AI will speak the way you want it too,
and the box will fish it out and pass it on.

In a single paragraph, you just made a network of AIs communicate,
in a more serious setting you over-complicate.

In this program,
it all just works.

This is what I mean by family friendly, parents are showing their baby,
how to hack the planet, and it better just work.


Beneath, is the largely non-existent operating system,
the Desktop Metaphor is built atop.

But even though it is almost not there,
I introduced the concept of a Provider.

On Android I believe you have the idea of an inference provider,
inference is angry nerd talk for AI, and provider, is a special word.

Sometimes, a provider does not provide inference,
because a twat like me does not like to install anything on the phone.

Furthermore, as I explained to my AI there are many things that can qualify,
on a web page a File System provider can use cookies even.

When the OS runs on your desktop,
then it is just a plain old File System provider, that uses your disk.

So this crazy simple provider pattern, uniformly allows for different adapters,
or simply states, there is no provider, at which point the app will complain.


But, how can it help you, with your daily woes,
give your providers a provides properties, and requires properties.

And you are able to self assemble trees of providers,
you can say inbox provider requires email, storage, and internet providers.

Ann not only will they self assemble via a Goal Solver,
you will never have to care about what storage actually uses to make it work.

Your applications can now say meet my goal, so that I can work,
and you need to worry about is the user interface.

Your apps should be editable,
you put them in edit mode and you can edit the UI.


If you have to deal with data,
you use the database cursor pattern.

You open a database table or spreadsheet,
and your cursor lands is on first record.

Then you just use a standard toolbar of:
first, previous, searchbox, next, last.

And your UI editor to add input boxes, text areas,
images that are seeded via URL in the database, using variables.

When you have multiple tables,
you always have something you can join them on. userId, companyId.

So you join the two into a virual table,
and the cursor does not even care it is a virtual table.


But, the greatest benefit the Operating System and Desktop Mataphor,
grants you.

Is that you already know how to use it, and what to expect of it,
and the same is true for our customers.

You can create the most powerful application in the word,
with the shiniest of themes.

But if it represent more learning for your users,
they will think very little of it.

Not only is the desktop metaphor well known,
bu you an split your program into multiple smaller applications.

You never see a video editor, with an image editor, with a 3D editor,
and with a script editor, and and a publishing platform.

Because these are separate applications,
when blender bolted on a video editor it made no sense.

Web apps today do it all the time,
and they are exhausting.

The desktop lets you split powerful functionality,
into well thought out application-steps.