Live CEOing Ep 811: Design Review of DiffTools continued

A design-review meeting (led by Stephen Wolfram) on integrating Diff Tools into the Wolfram Language. The team demos an updated "Notebook Diff Report" prototype and discusses many UI and UX issues (layout, color choices, headers, thumbnails, sizing, and naming). They also cover functional details: sequence alignment integration, array-plot visualization, diff options (DiffIgnore, alignment methods), multi-way diffs, and plans to ship the tool experimentally in nightly builds.
Chapters
Okay. Hello, everyone. Welcome to another Wolfram language design review. This is about Diff Tools. Okay, so what am I doing?
So we are in the process of integrating Diff Tools into the layout. It's. It's. It's. It's in prototype builds right now, and I think probably in tonight's builds.
Should I just. Should I just run this?
Sure. Yes. Yes. So this is an updated version of the notebook Diff Report.
Do we have people from Graphic Design in this meeting?
Billy is here. Yes.
Okay.
So the old one was pretty rough. There are probably some ways in which this could be cleaned up, too, but it's. It's significantly better.
I don't understand what the.
What.
What's on the x and Y axis here? Is this a wraparound?
Oh, that's a wraparound. Yeah.
I think that if we're going to indicate that we should have. We should have horizontal separators. You know? You understand what I'm saying? You should have horizontal lines here.
Yes. I mean, should we just frame everything or just horizontally?
No, I think it's not clear which way around it reads. If you do that.
Okay.
I don't understand. Are these colors blue?
And unless the vertical lines are lighter than the horizontal lines. That could be.
Yeah. But I think that, you know, a really long notebook, it's going to look terrible here. See what I'm saying?
Yeah.
The horizontals we can do, but the verticals we cannot. Now, let's talk colors. You know, why is blue the color of editing?
Yeah, we talked about this last time.
And what about deletion, by the way?
Deletion. Sorry, it doesn't show up here, but you'll see it in other examples. Deletion is kind of a pinkish red. Yeah, there you go.
Okay.
And the red and green.
There's no mouse over here.
No mouse over.
Although it could be just these things here, right?
Yeah. Yeah.
What does this mean? Text emphasis note.
That's the name of the cell style that was edited. It could just say cell edited. But having the.
No, I think it's nice to have some kind of information about what kind of a cell.
Text emphasis node is just a weird style in a documentation notebook. Yeah.
But then it says two cells. What the hell is this? No, absolutely not. Get rid of that.
Well, maybe it should be closed by default. I don't think we should get rid of it.
Yeah, okay. We're fine.
But if it were closed by default.
Yeah, yeah. It absolutely should not be open by default. It's completely obscure.
Okay.
Let's keep going. Here, I mean, I'm looking at more things here. I don't think this is perfect. I don't think this is, you know, what is this? What is more details.
It's showing us string diff of the cell expressions for people.
Then why don't you say that? Because more details, unless it's, unless there are other, more details in other cases, it's not really helping us.
Well, there, I mean, there is a question whether that should be even included in the report. It might be, it might be too confusing for most people to be included.
And.
You know, unless maybe by an option or something like that.
Yeah, I, I don't really see it. Now, is this always a single cell that's here?
If it's edited, yes. If it's inserted or deleted, it might be a run of cells.
Okay, but you could say old cell, new cell or old version. New version, yeah. You know, in a perfect world, I would have thought that a colon at the end of this would be useful to indicate that it is, you know.
Colon instead of the word version or in addition to the word version.
Yeah, it's probably instead of the word version.
Okay.
Why is this font look so wrong?
This is an issue that this particular notebook is in a different style sheet and we can't kind of mix up.
This is a repeated issue that, you know, things from documentation have these crazy large, you know, literals in them. And I've seen this many, many, many times. And I'm wondering if we just fix it once and for all.
That particular thing. Yes, it could be fixed.
Let's fix it.
I mean, I've seen it so many times. There are a zillion other things that one might complain about. But, but if that one is particularly bothersome. Yes, we could deal with that.
Now, when you bring up diff here, so you say report, that's, I see, that's popping this notebook, which I guess is. Okay, what's it going to do in the cloud?
I, I, I, I don't know if something like report is viable in the cloud.
Well, it just, it just Notebook puts the result, and so I'm pretty sure it does work on cloud.
Oh, okay, I stand corrected.
But then what will this be? Will it be a new notebook that overlays the previous one and a new tab or something? Or what's the deal?
I think it will appear as a, you know, over the, over the original, over the current page, as sort of a lightbox effect, the same way that dialogues do, the same way that, you know, message details do on cloud. For instance, the stack trace message details.
Oh, I see. One of those things. Yeah. Okay, well. Okay, fine. It's a bit long for one of those, but I guess it's not.
But if you delete report, then that will, you know, just use the two argument form of diff that returns an output and that output looks and works on cloud the same way it does.
Okay, next question. If I do this on much bigger files, is it going to work?
Okay, within reason.
Yeah. I mean, you know, if, if it's hundreds of megabytes, then it's, it's, it's going. And, and if the, you know, if the diffs are significant. Yes. It could take some real computational.
Oh, look at that thing. That's interesting.
I'm not so sure this is interesting. The unified markers and one of the other formats I was thinking about getting rid of because they're a little bit whimsical.
I don't know.
Unified markers and side by side markers I thought were a little odd.
I'm not horrified by this. I think it's somewhat useful. Although side by side you should ask dqa, but I'm pretty sure that's hyphenated in that case.
Okay.
There's a lot of useful stuff here.
Yeah, yeah.
What the heck is that?
This is in the notebook case. This is really only useful to people who understand how to read cell expressions. If this were not a notebook diff, you know, if this were, if this were plain text or expressions, this would make a little bit more sense.
Okay, but then, then, then you ought to call it something different.
But then we lose the consistency across all diffs.
It's not going to work to have it, say, minimal for notebooks and have it produce this garbage.
What if the cells were rendered rather than raw text?
Much better.
Okay.
I mean, this just looks terrible. Details can be anything you want. See what I'm saying?
Yeah, sure.
You know, one day it would be nice to change the. Particularly when it's all more efficient to change the cell change times to date objects. I think we just made data objects much more efficient in 14.1.
I mean, there's, we have the tooling, so there's not really any need to do that anymore. I mean, we, we have the tooling to be able to read in and process cell chips.
Well, okay, fine, but I mean, and then, then in these, in, in the rendering here, we should render it as data objects because it's useless and incomprehensible otherwise.
No, I just, I strongly disagree with that. I mean, if you're using the. If you're actually using this as, you know, you know, a diffing tool and a git workflow, then you want to see what's actually going to be serialized on this.
Okay. All right, let's take a look at these other things then. I really want.
By the way, click one of the. One of the arrows there.
Which arrows?
Here, the. No, on the. There you go.
What the heck did that do?
So that. That actually opened the two files. If the files had already been open, it just would have, you know, scrolled them to the appropriate location. But now your DocuTools pane is covering up the right hand side, but it selected the cell there and indicated if you look below the Doc Tools palette, it indicated the.
I see. That's nice. Yeah.
I think they should also use the new flashing mechanism that we built for percent modernization, but I don't yet know how to use.
By the way, why are these notebooks so wide? Were they intrinsically wide when they were saved or.
No, they were tiled by that button.
I don't think it should be. I think they should be put together by the button. But I just don't think, you know, some people have really mega wide screens and it would be absurd. Like, you know, people have these kind of like wraparound trader desk types.
Can they be tiled but up to maximum.
Yeah, so. So if we tiled to your monitor width but to a maximum width of.
I don't know, the right thing. Yeah.
Based on the, say, say 1200 points or something. Or a thousand points or something.
Yeah, but I mean, do we know the intrinsic size of those notebooks?
Yes, we do, but why don't we just.
Why don't we just tile it? Why don't we just have those notebooks at the natural size and tile them.
Well, they might be different sizes and they might be different sizes for pointless reasons. They typically are actually, you know, it just.
Okay, well, I mean, make them both the size of the first one or something then. And I think that given that you have some information on what size somebody made it, you might as well use that information.
Okay, but. But we will have to. If it's too wide, we will have to bring it down.
Yeah, absolutely.
Yeah.
No problem with that Practical point. I think we're going to want Jeremy to drop in for a minute to talk about this, but in a few.
Minutes I just joined Stephen.
Okay, there. Let's have a quick look through some of the rest of it. I. I kind of would like to. I think there's just some design things that need to be updated here. I just think this doesn't quite look quite right. I think, I think it needs. First of all, I don't think we need such a big thing up here. I think this is the theming. I think it should be in a color stripe or something at the top. I don't think it should use that amount of vertical space. I think here I'm kind of thinking.
I do like the idea of clearly calling it out as a generated report though.
Oh, I agree. I agree completely. I have no problem with that. But we have other generated reports and they don't use height to emphasize themselves.
Okay.
You know, I'm saying they use a color stripe of some kind. Let me look at any of the, you know, repository submission things and the. All this stuff. Second point is I, I'm pretty sure these headings should have some kind of background color or something. I just think this page looks very hard to understand. It doesn't look very structured. Okay. Because it has, I, I think because it has, you know, it's got all this different kind of things. The, that all these things are so different and I think it needs something to kind of, you know, hang its, hang your eyes on or something. But let's just go on looking at more functionality stuff and then we'll come back to this minor re. Styling character appearance. So what's this? This is.
So this is the, the, the vertical gray bars aligning.
So how should we think about this relative to sequence alignment? The sequence alignment function, DIFF versus sequence alignment?
Well, they provide the same data.
Yeah, I mean Diff, you know, is implemented in terms of sequence alignment and I think one might think of this as sort of a, you know, a superset. It's. It's kind of a glowed up version of. Of sequence alignments because it's nice.
I mean, and, and I wonder if we can take the output from sequence alignment and automatically feed it into something that. Because, I mean, there's other. In sequence alignment, there's all kinds of options for details of how sequence, how the sequence alignment should be done. And I think there's approximate sequence alignment and all kinds of things. Does that support it here?
Yes.
All the methods of sequence alignment are supported by diff. Yeah, all the options, I should say of sequence alignment are supported by diff.
How do we do correspondence using, you know, the BLAST algorithm and stuff like this for genomic comparison? I don't know how we do that.
I don't either.
No.
So we should find that out.
I don't know anything about the blast algorithm. It's first I've heard of it.
Well, you see here, under similarity rules. Here it is.
Okay.
And that should be, by the way, a clear example on the sequence alignment. And also, if we're doing genomic date, this, there should be clear documentation paths from sequence alignment to diffuse. So if I do this thing and.
I say, well, certainly we have it the other way right now, which is that diff directly. The DIFF documentation directly references sequence alignment, I can make sure to put some ties in the other direction as well.
Okay, so if I say similarity rules, arrow, blast here. Come on. Oh, wait a minute. Elements to compare. No, no, this is just wrong. Okay.
Oh, I can do it.
Okay, so you need to ask somebody from the, you know, bio team about this. Okay.
I understand.
Let's. Let's just get something that isn't wrong here.
Looks like sequence alignment doesn't support lists of rules as option. Lists of options, which it probably should. That's the cause of that first message.
Okay, fine. Okay, so that's a. That's an incorrect feeding from. I mean, you could probably look around that for right now.
Yeah.
Right.
But I really do think this. This display is very nice. I don't know how much annotation, you know, if, if. Have you looked at genomic sequence viewers?
Not in depth, no.
Okay. Because there are all kinds of interactive things you can typically get with them.
Right. And this framework doesn't preclude us from building such.
Yes, but I think that that needs to be done in a coherent way with, you know, I'm not quite sure.
This, this feels like something that could be shopped around for someone else to work on with the, and, and, and with Lou just kind of, you know, giving them the framework to slot into.
Yes, I agree. So ask, I think Michael.
Or Truck.
What's that? Yeah, Michael, Truck. Yep. Yes, I think that's where you want to go with that. Okay. There were some first and second. I don't understand where first and second came from.
Here, from the Ethereum.
Okay, that's not good.
Yeah, well, I mean, it.
So the same place old notebook and new notebook came from. I mean, we need some, you know, left.
I mean, first and second at least can clearly refer to the first argument and second argument of diff. It's unclear what other, you know, what other ways you can denote something that clearly maps back to the code.
Well, other than just an iconized version of the thing itself.
If they're sufficiently similar.
And also, the width of this is a bit annoying. It doesn't resize, I assume, stretches to the window.
And will shrink with the window.
Is there any reason not to add a resize widget to it, Lou?
No, I'll have to think about. I, it's probably doable.
Okay.
I mean, I mean, I, I, I agree with that. By default, stretching to the window. But, you know, if we can give the user additional control over it, why not?
I think these unified market things are kind of cool. Whether that's a, the right name for them, I don't know.
I mean, it is essentially a ray plot, but, but, you know, exploded into atoms, so to speak.
I understand. I mean, I think it's, it's, what should it be called? I mean, unified markers doesn't really do anything for me.
By the way. Sorry. Going back to the markers. So those do effectively have a frame around them, although the frame is.
I know they do. I know. Yeah, I know. It's nice. And I mean, if it got long. Oh, I see. It just delights here. Okay, let's. What could we call this? Iconic. Something rather. What could we call it? Why did you call it unified Markers?
Well, unified because the two things are combined and markers because I just wanted some, you know, mark, some tick.
I like the word map. Somehow differences map or something. How do you feel about that? I mean, it is kind of a map. It's showing where the differences are.
Yeah, it's, it's sort of related to stuff we've done in summary boxes. In some summary boxes.
What about summary map?
I like summary map. My brain goes to the function rather than, okay, the atlas. But perhaps it's okay here because we don't usually use map as a second.
Right, well, summary chart. Summary. I think charts makes it sound like it'll be too elaborate. I mean, we've got alignment chart here, so we could conceivably use summary chart. I don't like summary chart. They seem to be going in two opposite directions. I think this should be called combined or something rather than unified. Oh, you've got to combine there. What the heck does that do?
Thumbnail. What, what, what about using the term thumbnail?
Which Unified for markers.
For markers.
They're not thumbnails. You can't see anything inside them. You can't see what they are.
But, but it's a thumbnail of the overall diff. It's not a thumbnail of the content, but it's a thumbnail of the diff.
I like that because I think it's, it's a, we could say thumbnail summary.
Those two Words don't. They're fighting against one another, I think.
Yeah.
What. I'm sorry, what, what summary and for which.
He had said thumbnail summary.
Yes, for the iconic.
Yeah, summarized.
Summarized what? Just summarize the adjective.
Summarized. Diff.
Everything's a diffuse. You know, if this menu had a little iconic picture of what these things were, you would. The words would be much less important.
I don't think you could fit a decent icon to differentiate most of these.
All right.
Are you sure? I mean, it would be an icon. True icon.
Not.
Not a. Not a representation.
I understand, but how are you going to, you know, fit side by side versus unified in a comprehensible manner in an icon.
Okay, okay. All right. What are we going to do with the first and second? And by the way here, I don't like the fact that those appear to be like, you know, content. That's along with this other stuff because they're in the same box as the content.
Well, they used. Yeah, they had used a different background to indicate that before, but why don't you take backgrounds. Yeah, that's a reasonable thought.
I would do the following. I would say if you're going to do this, make them gray and italic and outside the background, outside the box. And then I think it'll be sort of. Okay. Okay, that makes sense.
Yeah.
All right, so we're still. We're still not happy with the names of those things.
I see you're using the royal weave.
Do these aligned when they get really long?
No, they word wrap as they do here. As they have done here.
Yeah. Is that right? Probably it's right. So that's the alternative to first and second. So this is.
Well, when there's something else to put there.
Right.
When files have file names or paths.
So my question is, if this went italic gray, does that make sense or is it only italic gray when it's a made up word? See what I'm saying? If we actually know something, should it be bold and all that kind of thing as it is here?
I think it should be more clearly a header. It should be outside the framing.
Fine.
I don't have a strong opinion about that.
You know, you know what you put in. So really I think it can be lighter. See what I'm saying?
Yeah.
Okay, so we've still got these names to come. Okay. So hold on, let's look at this. Oh my gosh.
So most of this we don't really need to go into the point, evaluate one of those just to see the point being that before we weren't consistently producing failure objects. Now we are, and you know, we're avoiding kind of garbage outputs and you probably don't want to see all the details of it, but you get the general point.
Okay, what is this?
There was also a request to be able to extract the sequence alignment from a diff object. And this now works.
Good.
And array plots had been sort of isolated in just a few places, and now they're more widely used.
And what determines the size of it? Default. That looks smaller than the default.
Yes, it is smaller than the default. I forget how I do that. I'm sorry.
I would just go with the default array plot size. I mean, if you're asking for an array plot, you'd probably want the array plot.
Yeah.
Okay.
And what about array plot options.
Unsupported at this point?
And I get the data from the array plot.
I mean, I mean.
No, no, no. I mean, really. So I can do my own array plot with different colors and all that kind of stuff.
Inaccessible.
I. We. I mean, would it make sense to have something like array plot data?
I don't see why we shouldn't provide that. I mean, it seems like it could be useful to people. At least there's a property just like we have sequence alignment from the diff object. Okay, let's have a quick look at these.
We've already seen granularity and input function a couple times. It's a. It auto wraps each argument. So this is diffing genomic data of 381 with genomic data of 3813.
Why is that useful? Why don't you just put it in there?
Well, then you have to type it.
Twice and in some cases. Right. We also have string arguments for automating certain things. Right.
Yeah, these are very nice results. Diff style.
So by default there's, you know, these greens and reds are added automatically. You can add to them by using diff style. This adds bold.
And what happens if I don't like that green? What happens if I'm red, green, colorblind.
Or something so that I don't have theme set up yet. You can turn the green off with the next option in the list default diff style. And there's an example there that doesn't. That turns off the green and the red by turning off default. By turning off all the default styling. So you have complete control over it with the diff style.
And stop.
It's a little weird, but that's complete and. No, that's completely standard, at least in the front end world you have base style and default base style.
Diff include matches.
So up until now. Go on, John.
Yeah, so the diff object elides a bunch of stuff. By default diff include matches forces it to be to include everything, even if that means the diff object gets huge.
Okay. Diff ignore def alignment method.
Sorry we didn't have examples for those. It's a bit of this agenda was put together at the last minute. I apologize for that. And, and we don't have the option pages written up yet. Okay, we will, it's in our to do list.
In brief, these are two options that affect notebook diffing. Ignore lets you do things like say you don't care about cell change times or cell styles or things like that. And diff alignment method indicates how two notebook files should be aligned.
Yeah.
Okay.
It was basically whether or not to use expression uuids to determine alignment.
Okay, but, but diff ignore. Does that apply to anything other than notebooks currently?
No, but it could in principle it seems like yes, it could but it's not clear whether the currently supported data types, whether it makes sense though for those. But you know, maybe for some new. You know, I mean this list of data types we have, it's our intention to add more stuff in the future.
Okay, so what, what, what is the result? I mean, what does diffignore give you? In other words, what's the right hand side of Diffignore?
It's a, it's a structured option that. Take that. Hold on, let me, let me send you a link.
Right.
And certainly I could imagine a diffignore goes to white space if you're doing a textual. Right. If you're giving two files.
Yeah, it's a good idea. Or new line. Return new line. I don't know what we do with that, do we. What do we do with return new line.
Yeah.
Is that not a thing anymore? I don't know.
Well, yes, yeah, it is a thing and it would be, I think the place to cover it would be under white space. It's calling it out separately usually is. You know, I don't think. Interesting, but covering under white spaces.
Yes, Steven, I dropped a link into chat linking to the Diff Tools packlet repository documentation for the precursor of Diffignore. The. The settings are the same if you look at details and options.
By the way, why is that? I've complained about this so many times. Why is that misaligned there?
That is a question for web people who are not here.
Yeah, yeah.
So why is there no thumbnail image there? I've said this about 25 times.
Well, I, I don't think that packlets have thumbnails at least.
Yeah, well.
So you can say sell options and that'll ignore all cell options. Or you could say ignore cell options arrow, you know, cell change times comma.
Yeah, I get it. Okay, this looks okay. I mean this is kind of a, you know, we're chasing down more and more obscure things here.
Yep.
Yeah.
Yes. But in the case of notebook diff, it will definitely be useful.
Yeah. Let's go back. So by, by the way, are the people in the blog team and things like this, are they already using this.
This? So I don't think that they've wired the packlet into their workflow and you know, this isn't in the system context of regular nightly builds yet. It will be tonight probably.
I have gotten some buy in from Yoshi. He seems quite keen on starting to use these things.
Yeah, very useful to his team. Do I need to look at the graphic design of Diff3?
The graphic design?
No, I mean how does it relate to these.
There's three columns. The thing you might be concerned about is the column titles which you showed some current last concern last time. But they use the standard, you know, ancestor hours. There's sort of nomenclature.
I don't understand that. So let's look.
If I do three, Diff three gives two different sets of changes from the same. From a common ancestor.
Okay. So if I do this and I say here range up to 18, for example, what the heck is hour? And there.
Yeah. So the usual way that this is consumed, particularly in the world of git and other source control systems, is that you have a local set of changes and now you're trying to merge an external set of changes in. And these things have a common ancestor. So the local changes are ours and.
The externals is purely incomprehensible in this particular case. I mean just as you, you've, you've synthesized the first and second there. Why isn't the first second, third?
But no, because. Right. I mean here the in. In.
Because it's a forking thing. It's asking relative to the common ancestor, what happens.
Exactly. So at least one of them is distinguished. You know, ours and theirs is a bit arbitrary. In fact, sort of depending on whether you're using a merge workflow or a rebase workflow, they'll be reversed in git terminology. So, you know, that is perhaps open to some debate, but. Right. We could call it maybe first change and second change rather than our changes in their.
That's much better. Particularly if we're using first and second above.
Yes.
Original first change. Second change.
Yeah, I'd be.
First changes, maybe.
Yep.
Original first changes, second changes. And then we keep first and second above.
Yeah, I have no violent opposition to that.
And, you know, first and second makes sense because the order of argument.
Yeah.
Okay. Can we come back to. Okay, we're looking at this. Oh, that only has side by side. Okay, so this has many more options here. Okay.
It's just a practical matter of getting everything.
I mean, com. I think there's separate. Why is there a list around the two things here?
It's. I'm not sure how to answer that. You have the differences indicated in the first and the differences indicated in the second.
Simple, side by side.
So simple and side by side could probably be combined. And appearance elements could be used to distinguish between them. Putting the onus on the user to specify appearance elements when they want to add or remove them.
Why don't we just give them one thing that we think is reasonable, like this one here. Just call it side by side. Let's get rid of the simple. And yes, we can have appearance elements. And if we all find that we want to use them a lot.
Yep.
So be it.
Yeah. And I mean, appearance elements is into the weeds, as it should be.
Okay, look, combined versus unified is incomprehensible, but I think the real difference is one is a vertical layout, the other is, you know, an expression layout. Annotated expressions versus, you know, a column, basically.
I'm sorry, can you show what combined is again? Because I. If unified is. I mean, everybody should know what Unified is.
I wonder. Let's see.
That's.
Annotated.
Well, in the string case, this is just. It looks like a single string with. I mean, just like this looks like a single list. Yeah.
Why is Unified something everybody should know?
Because. Because that is a standard name that has existed for at least three decades, if not four, in the world of diff in and.
Okay, but I'm not a difference.
Yes.
I mean, I haven't done that.
But that having been said, it's not obvious that Unified would have produced a, you know, for a unified of diffing lists, it's not obvious that Unified would produce the column view as opposed to the expression view.
I see.
But if it's something with new lines, then it's clear.
Right? If you're diffing text, it's. It's pretty clear.
Yeah. I mean, this is Taking advantage of, you know, the fact that, you know, list diffing has a particular modality which is different from, you know, diffing of other types.
Yes.
You know, if we had a general expression diff, the general expression diff couldn't do this because it wouldn't know that we should treat lists as.
So the Right. The question is whether this pull down could be different for different types of objects being diffed.
It absolutely can. In fact, it is.
Well then I think we should add things that make it a lot clearer. What's going on. I mean, I think, I mean, Look, unified markers could be unified summary, if you like the unified term.
Mm.
Side by side. This could be side by side summary. If I'd summarize side by side summary. I think this will be sort of okay to begin with. I, I, I think we just have to try it. I'm, I'm just not sure. Combined. I mean, combined and unified are so bizarrely similar as terms.
Yeah.
Used. What's used? Used.
Like the F with an F using.
So say it again.
Bound.
Yeah, yeah. Okay. So unified here now of course doesn't show up in the string view. This doesn't make sense. So I mean, does unified only show up for list? Are there other things that unified shows up for right now?
Lou, it shows up for notebooks.
Okay.
And does it show up for strings? Does not.
I mean, what it's doing is it's breaking out the individual elements and showing them in a, you know, in a column.
And it's the default view for a text file, for a line by line diff of a text file.
Look, I don't think we can solve this right now. I think it's okay. This is a slightly corner case of lists where they both show up combined and unified. If that, if only one of them is showing up, it'll be just fine.
Well, we can, if you want, we can take a whack at this offline and bring it back in a, you know, as a, as a sub point for some other meeting.
That's fine. Let's take a look at the design here of the main, of this thing here. Jeremy, did you have any thoughts.
More question. So if we minimize the header, I'm worried all these notebooks look exactly the same. The difference between say five of these is going to be hard to tell. Is there, how do we title these in a way?
Well, I mean, they're all just notebook diff reports.
Right.
But for maybe different notebooks.
For different notebooks, that's okay. I'm Only saying minimize this header here.
No, that makes sense. So stripe, smaller logo, more like our other templates. That, that makes perfect sense.
So the file, the things being diff'd are also reflected in both the window title and in that information section, the names of the notebooks.
Okay.
Which maybe that's insufficient, but I wanted to point it out.
That light blue is pretty hard to read for text.
This one. Which one? This one here.
Yeah, yeah. What is that indicating?
It's indicating there was an edited cell as opposed. And it would presumably have.
It's trying to match the color that's being you that you see being used in the summary.
Well, you know what? Why not just have that be in the dingb? Maybe that's not enough.
It also helped break up the line. I mean, to, to easily, you know, ignore the details.
Okay. The other thing we can do is darken it a bit for that.
You know, it's blue, same color, but just darken it a bit. Yep.
Okay.
This was a weird example to give. What's that?
Just, just pulling the cells with their natural indention. So under Old and new.
Yeah, yeah.
I should, you know, I. This is a, this is, these are notebooks that I've added to for examples. I should just fix up those notebooks so that it doesn't use, you know, styles that are going to look odd in the default notebook.
The bad margins. That's another issue coming from the documentation. That book.
We're closing that up, which we absolutely need to do.
Yep.
Do we already say we're going to use old version or something here? Old, Old cell.
New cell.
Okay.
Or old. No, old.
Old colon. New colon.
Oh, right, right. Should we do the same at the top with the, the notebook names? Old Notebook and New Notebook is currently what's there.
Yeah. We should just say old and new in the same style as this.
All right.
I mean, who cares that it's a notebook? It might be a text file. Right.
Not in the notebook diff report.
I see. Then. Then it could be old notebook, new notebook. But notice that you're doing the coloning thing there anyway.
Yes, yes.
And I don't know whether this, the fact that this is a summary here and then these are heading for old, new diff. And I don't understand why, why are these blue?
They don't need to be.
Yeah, Actually, actually, I, I, you know, I, I couldn't put my finger on it, but I have to say that the, the old New diff headings. Yeah. Were a little visually confusing to me as well. I think we could do a little bit better here.
Well, maybe they have to have stripes behind them.
I mean, when you have more than one of these open at the same time, it can be confusing. I use the color to mitigate that. But yeah, I agree that maybe a.
Stronger graphic design, something that clearly demarcates the different sections. I mean, we do have the, the, the, the bullet there, but.
Right.
That's not, but it's not enough.
When you open this up, then this becomes a little sub report about that particular text edit thing. And those are kind of like subheadings, but they certainly can't be blue the same as. I mean, would they be pink if that was a pink heading there?
Yeah.
That's crazy.
Luckily, Jeremy's here.
Yeah.
And Billy.
I really need to go because I've got another actually live stream meeting coming right up and I need to. So can we wrap this right now?
Yeah, well, I mean, so, you know, just in summary, I mean, it's our intention to, you know, this is going in the system context, documentation, make it experimental. You want to keep it experimental. Okay.
I want to keep it experimental.
Okay.
There's a bunch of things that are going to change. There's a bunch of formatting that's going to change, a bunch of names that are going to change. But you know, people, people can absolutely use it.
Okay, so. And we'll, we'll circle back around when convenient on some of these smaller points.
Yes.
Yeah. Okay. Okay. I think this has been useful.
Yep. It's very nice functionality. Thank you. Okay.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






