Update March 18, 2024
Note
We will start publishing these updates roughly every two weeks, to provide a better sense of what's happening in the project. This is the first installment and it will intentionally only cover the two previous weeks -- to get into the rhythm of things.
✨ Welcome to the inaugural Breadboard update!
I was sharing with a colleague this morning how the size of the project has grown to the point where we need to think of our focus as a spotlight: what is it shining on today? Unless they are urgent and important, other things might have to wait for the spotlight to turn to them.
🎨 Visual editor work
Over the last two weeks, it is fairly clear that the spotlight was shining on bringing up the visual editor experience. A good way to illustrate the progress is to simply show the change the UI underwent.
"Activity Log" panel
Two weeks ago, the Breadboard build view looked like this:
We consolidated the timeline, inputs, outputs, and history view into a single "Activity Log" panel, which contains the same information (and more!) in a much tidier format.
Selected node details
In addition to the "Activity Log" panel, we added the "Selected Node" panel, which enables you to see and edit the details of a particular node on the board's graph.
Navigation panel
Two weeks ago, to select a board to play with, you needed to go to separate page like this:
In this update, we tucked it into a slide-out navigation panel on the right, to give choosing and running boards a more immediate feel.
File system support
... But we couldn't just stop there. New this week is the ability to mount your local file system files and load them from the navigation panel.
Clicking on the icon will ask you to select the directory to use as a source of graphs:
Once the directory is selected, the boards show up in the navigation panel, easily accessible and ready for playing with:
We can even refresh or disconnect the sources when we no longer need them:
This feature requires File System API support in your browser.
Edit board information
We also added the ability to edit board information, such as title, description, and version.
Node picker
We tightened up the node picker and taught it to search across kits. You can summon it by clicking on the "Add" button in the bottom right corner of Breadboard editor.
Breadboard on the go
Last, but not least, if you open Breadboard on a phone, you will see a new simplified layout that is much more friendly for using with a smaller screen:
Before | After |
---|---|
The simplified layout is still a work in progress, but it should give a pretty good sense of the direction in which we're going.
🚀 Ready to go
In addition to all these updates, here are some other, perhaps less visible, but no less important updates:
-
There is now a Run Inspector API, which enables examining the results of a board run. This is what is used to power the "Activity Log" panel.
-
The Agent Kit's Repeater now supports exiting early from the loop.
-
The Gemini Kit's text node supports model switching. You can select from two model options:
gemini-pro
andgemini-ultra
. If you're part of the Gemini Early Access Program, you will be able to use the latter model. -
BGL JSON Schema is now automatically generated from TypeScript!
-
Lots and lots of bug fixes.
🧑🍳 On the stove
There are plenty of things that are still on the stove, getting ready for their moment:
-
We are working on a revision to the TypeScript syntax, building on top of the lessons learned from the first iteration of the "new" syntax.
-
We are introducing better modularity into how Breadboard works. The newest addition is the nascent
GraphProvider
, which enables consumers of Breadboard to supply their own loading logic. This is what File System source uses to enable Breadboard to read BGL files from disk. -
It is now possible to load some kits via URL. This is still a work in progress, but the promise here is that most of the Breadboard kits are portable and easy to discover, mix, and match according to your prototyping needs.