Wiki/Report of Meeting 2023-05-25
Report of Meeting 2023-05-25
Present: Ed Gottsman, Raul Miller and Bob Therriault
Full transcripts of this meeting follow this summary.
1) Ed started the meeting off with a demonstration of his newest iteration of the J wiki browser. Ed has moved away from his hover approach for content navigation. Structural navigation which is the navigation that travels across the structure of the wiki remains responsive to the hovering. To change the webview when hovering over content, you now have to click. This removes the issue of webviews changing as you move across content pages. Stephen Therriault had mentioned that a top ranking might be good for search results, but Ed felt that this would not be available, as there were results coming from a number of different sources and it would be difficult to resolve conflicts. Raul wondered what the issues were with the hover based approach. Ed felt that Stephen had made the point that an expert may be able to use the interface, but that a novice would struggle without direction. Ed also felt that hover creates changes that are not easily reversible.
2) Bob thought that there should be consistency between the structural navigation. At the moment, some of the structural areas do require clicking. Blue links are content pages and are easily identifiable as clickable. The green columns would be structural with scrollability. The grey stripes indicate horizontal space saving or column compression. They allow a safe space to move up and down columns without collapsing the column. Bob wondered if the grey stripe was necessary and Ed pointed out that it was because otherwise the user would not know why the behaviour changes with small movements. Rauls suggested that a reverse of having the centre strip be white with the edges being shade to indicate active areas for column compression. This is clearly an area that requires more thought and Ed is diligently working his way through the process and feels that he has enough feedback to work through the next week.
3) Bob showed the work that he had done on the Primer. https://code.jsoftware.com/wiki/Help/Primer/001Start_here The new version has simplified the look and the navigation is more focussed on the Primer itself than the previous version. https://code.jsoftware.com/wiki/Help/Primer/093_Fork Bob planned to use J9.4 as the example version because the error messages are much clearer. Bob also wanted to focus on direct definition because that seems a bit nicer to introduce explicit definitions than using the n : m form.
4) Raul wondered if there might be some type of an index available. Bob thought that he would supply an index at the check points at the end of each section. Raul suggested that the Help/Primer category might be useful to link back to the Index page. This requires extra clicks to see the index page. Ed suggested a vertical stripe of links to the different pages would allow the page to always have access to the other pages. Bob wondered if the Sidebar might be able to be used for this, but Ed felt that the Sidebar should be consistent for the user.
5) Bob suggested that the JQt IDE be used in the Primer for consistency and that many of the things that the Primer show are easily shown with JQt. An example is the GUI pages which currently are based on J602 interfaces. https://code.jsoftware.com/wiki/Help/Primer/102_GUI_part_2 The plan would be to use the Primer as a way to guide newcomers towards being developers, since many of the packages such as plot are included in the Primer. It may be possible to tease learners with what is possible. Ed felt that the Primer then becomes a good place to put links that will direct the user to more learning and may be an interface to the wiki that benefits newcomers.
6) Bob suggested that there might be some reduction to the Sidebar that were no longer required, such as the link to the prototype wiki. https://code.jsoftware.com/wiki/MediaWiki:Sidebar
7) Ed wondered if there were any benefit to having J on the web integrated with the wiki. Raul explained that there are two ways of having J on the web: one was the playground https://code.jsoftware.com/wiki/Category:J_Playground_N.1 which is driven from each user's browser through WASM or JHS which is HTML and driven from the J engine that the user has downloaded. Ed wondered if the Primer could be made into a lab. Bob felt that it could, although some pages would need to be broken up due to length. Bob also mentioned that the Primer currently talks about the Vocabulary from the original dictionary and that he is planning to use NuVoc as the reference. There was then a discussion of the Vocabulary and NuVoc and the strengths and weaknesses of each until we wrapped up the meeting.
For access to previous meeting reports https://code.jsoftware.com/wiki/Wiki_Development
If you would like to participate in the development of the J wiki please contact us on the general forum and we will get you an invitation to the next J wiki meeting held on Thursdays at 23:00 (UTC) Next meeting is June 1st, 2023.
Transcript
Do you want to start things off?
Sure.
I'll just take this opportunity to reiterate my gratitude to your son, Stephen.
He's really good at user experience critique and I appreciate all of his efforts.
Let me see here.
All right, it looks to me like I'm sharing.
So I've known for quite a while that something like this might happen, and now it's happened.
Where I come out, at least tentatively, is to distinguish between what I call structural
navigation on the one hand and content navigation on the other. In those terms I'm not entirely
satisfied with, but structural navigation hasn't changed. Structural navigation is moving through
the structure of the wiki or sort of what I think of as the synthetic wiki, which is like
search and the forums, bookmarks, you still hover to do all of that navigation. So if you're looking
at, say, the JProgramming forum, you can hover on years, you can hover on months, you can hover on
thread headings. But where we were getting into trouble was, let's say, going down to newcomers
primer. We were getting into trouble was hovering to do content navigation, and by that I mean
hovering that disturbed the server and forced us to load a page. I sort of tied myself into knots
in an effort to deal with those problems. I had the notion of clicking to freeze, for example,
and it was never, and Stephen was right about this, it was never entirely satisfactory. I would
like, among other things, to call out Stephen's tact as he explained just how unsatisfactory
that was. So now for content navigation you click just like a normal person, and there is a little
bit of hybrid in this that I'll get to in a moment, but basically if you want help primer 103,
where next you click on "Help Primer 103", where next. What that means is if you click on the
terminology page in the primer and then you hover elsewhere, nothing happens. But if you go back to
the structure, that will force new things to appear, but not to load. We don't typically
disturb the server when we're doing structural navigation. Now, there are exceptions to that,
but I think they're harmless exceptions. So for example, if you load tags, that will load up the
categories page, and I did not click to do that. That's what I mean by this is hybrid.
And then if you come over and start loading tag headings, tag categories,
that does not load any pages. But if you go over to a particular, let's see,
"Polynomials to set load". Now you've got to click to get that. Okay, so by the time you get over
into content you have to click in order to make any page load, and that's good because it means
if you inadvertently hover something that you didn't mean to on your way over to that page
to scroll it, it will not itself, that active hovering will not itself load a page. And there
are a number of other changes. Stephen had some additional thoughts on formatting, so some of the
text is bigger than it was, some of the text has more spacing around it than it did. One of the
things Stephen brought up was the notion that search should show a top-ranked hit. So if you
do search for "diadic transform" for example, and I've broken search somehow. I'm not quite sure
what's the problem there. The problem with showing a top hit is that we're actually doing two
different searches, one of the wiki, one of the forums, so it's a little hard. I think both of
those are relevance ranked results, at least to some extent. So I can show the top hit for either
or each, but what I can't do is show a top hit across the two sources, so I'm not sure I'm going
to be able to do that. I have a question. Of course, please. When you're talking about the
need for clicks versus hover, what are the issues there? One of the issues you mentioned was
inadvertently bringing up something on the way there. Is lag also an issue? What are the
specific problems that are... I just want to make sure I understand where we've been and where we're going there.
Sure. Where we've been was that if you hovered, and I'm just going to pretend that
hovering still works, if you hovered on four new users for example, it would load after
250 milliseconds of hovering. If you, on your way over to scroll that page,
if you either delayed for too long on the way, in other words long enough that you wound up hovering
on something else for 250 milliseconds, and/or you failed to click in order to freeze the
interface so that hovers would not be registered for a couple of seconds, you might inadvertently
load another page. And Steven's point, if I understood him properly, and it was something
that I'd been peripherally aware of myself for quite a while. Stephen's point was that while an
expert might get to the point where he or she could handle that pretty well, and I felt like
I could handle it pretty well while I was using the interface, it was potentially a source of a
lot of confusion and frustration for a new person. While it could have been explained,
I think that a better solution is a UX that doesn't need that explanation.
Now it's easy to reverse this decision and go back to a hover-based approach, and I'm certainly
open to that. But I'm feeling a little more comfortable with a hybrid approach where hard
to reverse actions, by which I mean loading a page, going to the trouble of hitting the server
and taking that time to load the page, is a more deliberate act and requires a click. While easily
reversed actions, such as hovering over structure and loading up substructure, those are still
hoverable, happen instantly, do not require as much intent on your part. I'm comfortable reacting
instantly to structural navigation indications, but I am much more comfortable reacting only
after an explicit expression of intent to difficult to reverse actions, which in this
interface means loading a page. I shouldn't say difficult, expensive to reverse actions,
which in this case means loading a page. This is the first time I've tried to express all of that,
so if it didn't make sense, I apologize.
It made sense to me, but I had the benefit of being at, you know, every meeting so far.
It made sense to me. I'm just debating issues like tunable, you know, tunable settings for
how that part of the system works and other alternatives for navigating that part of the
system. But I'll say those thoughts were after I've had a chance to actually do some of that
thinking. I would very much like to hear what you come up with, Raul, so please if you could
do that reflection and come up with some conclusions, or at least some tentative
conclusions. I'd very much appreciate it because I'm still not entirely happy,
and I'm definitely prepared to make changes.
This will probably be brainstorming quality rather than
actually good UI quality.
That's fine. And Bob, that's all I've got.
I've mentioned that I've broken search. For some strange reason, doing a search for plus
fails to return anything. Plus co is fine, but plus seems to trigger something strange somehow,
so that's one of the things I'm working on. We should alert the mathematical community about that.
A limited edition. A limited edition of operations that needs to be resolved.
Yeah, yeah, minus works, so I don't know what the problem is. You're right.
You're right.
You're right.
You're right.
Um, if you go down on your page down into the newcomers, and I think it was, was it
in, oh, any of those that has the dark.
Okay, so you go over there, and now that isn't changing now when you go up and down, right?
That's not changing the screen.
No, that, I think you have to click to get that to change.
I think, okay, this is just my feeling.
I think that should be hover as well.
And whenever you see the blue, you have to click on it.
Yeah, that's mostly the way it works.
Yeah, it looks like I'm not loading category pages anymore.
Yeah, on that line.
On the other one you are.
So that's the only consistency I saw that I think when you have that format of the green
and the white, that should be loading the pages by hover.
But when you have the blue links, I think it's actually really clear that you would
click on it because it's a link color. Yeah, and I think that's a point Stephen made way
back when, and that's actually how we got to blue. Yeah. But that's the only thing I
see is that we should be consistent with the language. So if we got the light green and
the white, then the web view will change as you're hovering. But as soon as you go over
of the blue, it's a link. You're going to have to click on it to have it change. To
me that's pretty straightforward.
Yeah, no, I agree. And I, again, in response to a point Stephen made, I moved to grey stripes
or expandable columns, so they're not green stripes anymore, which were ugly anyway with
the blue tag.
The other thing I like about clicking on the blue, when you get to the expandable ones,
you actually didn't have a way to go up and down and not change. But now that you're clicking,
that goes away, right?
Yeah, I have, at great personal expense, not just my own person, but the people I have
bent their ears over, managed to get to where we were back in the 90s when we were doing
the web. I had a peak at that. Yeah, so that's okay. I'll fix hover. Some of these things
are hovering more or less properly. Hovering on a forum will load the most
recent - well, not the most recent forum post, but it will load a forum post.
Yeah, which I guess is right.
Yeah, no, no, I think that's like, I'm just looking at forums because they're a little different too, but
I think that's right. When you've got that, the thing I would take out there is when you've got the
the different contributors to the thread, I'm not sure you just leave that as a blue link as well.
Well, the contributors are blue links. They're just sitting on that horrible green stripe.
I know, but go back to the way you were displaying pages.
Would you not
click on the individual ones the same way? So you would move
up and down and you wouldn't change anything until you clicked on them.
Right. That's
also the way forums behave. So hovering on a
name does not load a page. So I think that's
consistent. Well no, it is loading pages. Right, hovering does not load a page. I'm hovering,
I'm hovering, I'm hovering, I'm hovering. Pages are not loading. These are blue links,
so it only hovers when I... you can't tell what I'm doing. Okay, so in that case I guess what I'm
saying... I'm only clicking to load pages. Right, and I guess what I'm saying then is that when we've
got blue links we shouldn't have that green or grey background. I guess we can have the grey one.
The grey one, we need something because this is a scroller field.
And a scroller field, you know, is a sensitive area and an insensitive area.
So that's part of the language. I don't think we can get away from that.
But it should have a different colour than the green.
If the green hovers are changing, then whatever the background is for the non-changing ones should be a different colour, right?
Right. Well, I think we've run into a language consistency problem that may be a little bit
difficult to resolve in that what the green stripe indicates is scrollability. That is,
that you are on one of these funky scrolling fields. This one doesn't happen too because
I've got the window large. But this one or this one might. No, it doesn't. There aren't enough.
So the green stripe is really not a hover indicator. The green stripe is a scrollability indicator.
Right. So I'm not saying that's right. It may well be broken, but what I'm saying is it's going to
need a lot more thought to figure it out. But I... ah, tricky. Well, okay, so what the language may be is
a stripe indicates scrollable and the colour of the stripe will indicate whether or not
you're going to change it. What I would say is a different colour behind the blue ones
because you already, the same language will tell you I click on it to see it change.
Yeah, but if you go over to say, Introduction to Newbach,
there, the gray stripe is indicative not of scrolling but of column compression.
Right, and we're not seeing that on full page, but if we were on a reduced size, is the gray
stripe really necessary there?
Yes. The Gray Strike lets you safely move up and down on a column without inadvertently
going outside the safe zone and expanding an adjacent column.
Okay. I'm just not sure that's... I mean, I don't have it to try and play with right now,
but it just seems to me that when you've got an expanded column, it's at its width, right?
And the other ones will be smaller. So if you're on a column, you can go up and down that column,
right? Well, but look what happens. I mean, I'm on this column, right? Yeah. I'm going to move about
10 pixels to the left, and I will still be on this column, but because I'm outside the safe zone,
I have expanded navigation.
Oh, I gotcha, I gotcha.
So in that case,
why not have that particular grey slider be white?
So the action happens, you don't even need to know that that's what's happening.
Right?
I'm not following quite.
Well, if you make it essentially invisible,
so the stripe is still there, but it's white on white.
Okay.
then as you move across you're still going to get the same action.
Absolutely. That's not going to surprise the user, right?
Well, but it will.
I submit that it will. You think it will? Because as they move side to side...
There will be no indication
as to why hovering on the A in vocabulary is a safe thing to do.
Yeah. But hovering on the O will trigger expansion of the adjacent column.
Yeah, okay. Here's a variation of this theme, if I can throw in an interjection. How about
instead of having it be a gray column that's safe, have it be a white column that's safe,
and have the gray indicate the hot areas within that column that would bring up the adjacent
column. So in effect, would that be making this a negative of itself? So light is the safe zone
and everything else is gray? Everything else is gray within that column. So essentially
I'd be putting up two border lines? Yeah.
That's the gray would be the hot area within that column that's really
the adjacent column pushing itself into this column.
Yeah, in some ways that makes sense to me because your border lines then become the
equivalent of arrows before and after, right? Yeah.
And what if they were just lines?
That would probably be okay. You want to make sure that
it's a well-chosen color, of course. Yeah. I mean, I sort of like the stripe
because it's not too interruptive of the text. I feel like a
line would be more interruptive of the text. It would
compete with the glyph more directly. You're going to lose a little space,
but what about having two blanks before the start of everyone?
I can't really… well, let's see, two blanks before the start. I can't really control…
the safe zones fall out of the number of items and the width I have to work with.
I can't really control… I mean, there's a whole lot of space at the beginning of the last column,
and no space at the beginning of the first column. I can't really control that, I don't think.
Could I back up? What problem are we solving again?
What we're solving is that when you went to the forums
and you were looking at one of the multiple,
like one of the entries in the forums
that has multiple entries for people,
you've got the same visual language
when you're hovering or when you're not hovering.
And you're saying, okay, well,
I'm using the stripe as a slider, which is fine.
But what I'm saying is,
And what I suggest was gray.
Now we could use a different color,
probably not blue because blue on blue doesn't make sense.
But the reason is, is like you look at that picture
and it's really clear to me that you click on things
and you get the changes.
In order to get the change, you click.
When you go over to the next level,
yeah, see, yeah.
See the confusion to me is if you're consistent with your green stripes, so they change as they hover,
then you say, well the stripe, what it does is it indicates whether or not you're scrolling.
But here, what it really is indicating, the stripe, when you've got a lot of entries,
the stripe is actually indicating the horizontal, right? And it actually doesn't pop in until you move over it, does it?
No.
That's interesting.
There is no selected column until you hover.
Until you move over it, yeah, yeah, yeah.
Well, you know what?
That might be enough to give an indication that that's what's going on then.
I don't think your stripe is quite showing, I don't think it's quite got what we're trying
to show yet, but it's working.
So I can give this some more thought. This is the first thing I happen to fall upon when
I face this problem and I haven't revisited it yet. I haven't revisited it since.
It's definitely moving forward though. There's no doubt about that. We're hitting things
that...
We'll see.
Well, we've got new... we're seeing these problems because we've got new ways of looking
at things.
Yeah, yeah. All right, this is great. Why don't we move on? I feel like I've got enough
to keep myself busy for another week.
Do you want me to approach Stephen about doing one-on-one with you or resetting up a Zoom so
we can all chat at the same time? Why don't we give it another week,
and see how we go? I don't want to take up too much of his time, and I'd rather have
enough concerns and problems queued up to make it worth his while.
he, I think, like me, lives for this sort of thing, and I don't want him to be bored. So I'm
going to work on becoming dissatisfied with things in an effort to keep him from becoming bored.
I don't think he'll become bored. And the reason I say that is because I'm pretty good at pushing
buttons. Well, if you listen, like you're saying, you know, he was very tactful and stuff. Well,
Well, a number of times I was pushing Adam to move him along, right?
But that's just because I... and he knows that about me and I know that about him, so
we know each other pretty well.
And I appreciate your comments because he definitely is very passionate and motivated
about doing this kind of stuff.
And the thing I love about this is I get to see him in his professional environment, and
and he's really into it, I think that's wonderful. It makes my heart feel good.
My son is in a similar place at this point, and I have a similar feeling when I don't get to
interact with him directly in his business, but because of the nature of, you know, since COVID,
I hear him on the phone often with others. I think, "Wow, that's my son."
That guy knows what he's talking about.
He knows what he's talking about.
Yeah, no, it's a really nice feeling. Absolutely. And congratulations to you as well for having a kid like that.
Thank you. Yeah.
Yeah.
So, I wanted to talk about the primer. It's been a while since I looked at the primer, I'll be perfectly honest.
I'll show you some of the stuff I've come up with. I'm just going to clean this. I'll start up here, sure.
Share screen.
Okay, so you should be seeing Monad on the screen.
Got it. Okay, so what I've been doing is going through step by step, and I think if I hit this little arrow here.
There we go.
That was the previous format after Raul had made the amazing transition bringing it over
so that we could work with it.
So, and the differences I've made to it already that are navigational is I've taken out all
of this essentially because this is great navigation but if you really want to use the
a primer is a primer, it's probably overload. So what I've done is just gone back to two
arrows back and forth, top and bottom. So it cleans it up a lot. It also meant that
I could eliminate this doubling of the path and the path you're on and just go straight
to the title. And it cleans it up quite a bit. So if I go backwards through it, you
can see these move along.
Raul and I were talking previously about the
syntax highlight option.
And when I use syntax highlight, this is what I get,
which is great, comments show up.
And in here, you can't really see it too clearly,
but this is a different, it's a slightly different shade
of blue as opposed to a dark gray.
Interesting thing, and this is a decision
I'm in the midst of making as I move through this.
I've added the colon foo here because that's what J 9.4 will do now.
And I have mentioned that the messages were improved and earlier users won't see that.
But I've decided to move ahead in this sense.
I'll probably start using 9.4 as my version as people come into it.
And if there's a change from a Pearly or version like direct definition or something like that
when we get to that point, and I plan to use direct definition because I find it much more
clear to people, and that's the double curly braces, than the three colon four colon one
colon versions, which I think just kind of look ugly for most people who are used to
programming language and they sort of out of step with what Jay would normally do.
At least that's kind of my sense of it.
You still need to be documenting somewhere.
That's an advanced thing,
'cause there are things you can do with that
that you can't do with the double-colored braces.
But yes, I agree with you.
One other thing while I'm still here,
in addition to the two arrows,
you probably want an index for the perimeter,
because most of the rest of the nav
is probably covered, at least in concept, by the left nav,
but there isn't anything in the left nav to say perimeter,
to say here's the index for the perimeter.
- Yeah, so what, and then this is what index to primer
will take you back to.
So I've, these used to be separate.
So the primer contents and the graphic and everything
were separate pages, but I put them together
'cause I don't think they need to be separate pages.
And what I was gonna do is I was gonna wait,
I was gonna do that at the checkpoints.
Do you think it's required at every step along the way?
I don't know about every, there might be a more condensed
variation on this theme.
Maybe you're having a more of a hierarchical structure
to this or something, maybe some kind of window
to nearby things, but people are at some point
gonna be impatient and gonna want to go through
the things that we're thinking about
as opposed to the next thing or the previous thing.
- Yeah, yeah.
So let's see, it's probably not your first pass through.
It's your, you've been through it a couple of times
and you wanna find a page.
You wanna get to that page quickly.
You click on the wrong thing.
You say, oh, Dyad, I know this close.
I'm not sure whether it'd be Monads before or after.
If I could click on the index,
I could see exactly where I was going.
- Yeah, and maybe the help per link category
down the bottom could be this.
- You know, yep.
Yeah, I could place--
- Not that one, the one to the right of it.
- This one.
- Yeah.
- Yeah, that's interesting 'cause I was thinking
about what I'm gonna do.
I've left them in, but the other categories, of course,
that are in here are, I'm gonna try and get this,
there we go.
You don't see this until you go into editing.
But of course, the other category here
is that initial category, but it's hidden.
And I think I'll leave it hidden, but what I could do,
in fact, what I could do is I could say,
category help primer, and then I think I could,
no, I'd have to have it, well, I'll think about that.
What I'm thinking is I might be able to build,
yeah, no, I could do this.
I could put a bar in between, a pipe in between,
and actually have this category help primer
send you to this category,
but you wouldn't see that because it's a bar, right?
Do you know what I mean?
- I'd have to, I just have to see where,
I can play with it.
- Okay, well. - I can see what I have
to play with it.
- I'll just show you what I would be doing.
Do a copy of that.
I would leave that in there, but it'll be hidden.
- Yeah, it'll be available. - Do that.
- Yeah, but then all I need to do is put a colon here
and then it becomes a link.
I have to put the colon
'cause otherwise it's just a funny category.
But if I put the colon there, this becomes a link, I believe
and you'd see this, but if you clicked on it,
you would go to the index page.
- Does that work?
- It also means I could change whatever I call this here.
I could call it index.
- Primer index or whatever, yeah.
- Yeah.
In fact, that's probably the way to do it.
It's under, and I think I would put it under,
I'll just put a link that says index
and it takes you straight back to the--
- And it could, or it doesn't have to be a category link.
It could be linked to your page with the graphic
and the original index.
- That's right.
Well, that page that we went to there,
this one is in fact a category page.
- Oh, okay.
(laughs)
- When you get down to the bottom of it,
they're all down there.
- Okay.
- And so that one, that allows you to link back
into the category tree and go straight to this if you want.
- Yeah.
- Hey, Bob?
- Yeah.
- Could you just scroll down the Primer Contents page
that you're on now?
Just zip all the way to the bottom, not too fast.
So that's it, huh? So I'm struck by the fact that the chapter headings are all pretty brief,
a word or two. So that's great, right? I mean, in principle what you could do is run that table
of contents down the left side of every primer page. I say in principle because media wiki is
is not my specialty. But in the same way that you've got a table of contents, an index,
a nav pane on the far left of every page in the wiki, you could in the primer have immediately
to its right the entire primer contents. Now I know what I can tell by your face what you're
doing. You're thinking, "How would I do that with MediaWiki?" and I don't know, and it may not in
fact be feasible. I get that. But that's—
Okay, I'll tell you what I'm going through in my head.
What I'm thinking is, a lot of these Primer pages—well, let's go ahead a couple.
These are all fairly long ones for the Primer. When we get into things like this,
that's going to—you know, a lot of these pages are very short.
Yeah.
And that is the nature of the Primer.
yet another good reason to put the nav pane on every page. Now what I'm wondering about though
is whether for the primer I could do the sidebar.
That you wouldn't have the regular sidebar. I should be able to put a sidebar in there
that is just the navigation from the primer. But I think you want that sidebar. That's a consistent
point of reference, not point of reference, table of contents of reference that I think is of a
great deal of value. It's your orientation. Don't throw that away. I'm just suggesting that when
you're in the primer there's some additional orientation that might be helpful. And so then
what you'd say is down this side it would make the page much longer, right? Yes, but you could
ignore that if you weren't interested. Just stick to the top part of the page where the content is.
Yeah. Yeah, you might, you know, the way you might approach it, or the way I might approach it is by doing it as a table.
Because that you could split the vertical column from the other one.
Think about that. That's kind of a neat idea. The only thing...
We just cut down the amount of clicking you have to do to move around.
Yeah, I know from the wording of one of the early,
I'm just trying to think of where it is.
At some point, Eric actually specifically says,
you're probably best not to jump around
because I think it's this one, it's self-contained,
it could be read without access to a system.
Sometimes this actually uses terms and concepts
that aren't defined until later.
This requires you to proceed with soft understanding.
Probably best by reading, yeah, see,
the second and third times is when you want the index.
The first time I--
- I'll just put a link in the chat,
which is a media wiki documentation page on the sidebar.
And it talks about a couple things
that might be relevant here.
One of which is the toolbox,
which is a dynamically updated part of the sidebar.
And below that, there's stuff on collapse
and expanding parts of that sidebar.
- I see.
So you might fold the primer table of contents
into the main sidebar.
- Into the toolbar then.
- Toolbox, yeah.
- Yeah.
Yeah, I kinda like that.
I like that better for sure.
And then the only thing is I'd probably mention that
at the beginning of the primers
so that an index would always be available.
I'm just wondering though whether it isn't better
just to have essentially the link to the index
underneath these guys here.
And that just takes you back to that first page.
- Sure, but now you've doubled my navigation time
anytime I wanna move around the primer.
- Well, you can go forward and back.
- And it'll level your clicks,
because you're still gonna have to scroll, probably.
- Yeah, but scrolling is cheap.
You don't bother the server for scrolling,
and it's not as disorienting as throwing away
the current page and loading a whole new one.
- Gotcha.
- Yeah, that's a good point.
Okay, we've reached that let me think about it stage.
You made some good arguments and now I have to figure out what's the best way to implement it.
The only other things I'm kind of going through in my head,
I've essentially assumed the JQT IDE.
Just because I think that's most often what people will use.
And I'm guessing at some point if we decide to use other, say JHS or
even the console, that might have to have at least some type of a button you can hit
to go to the different versions. There'd be a parallel page if you were going through
console or whether you were going through JHS.
Like a theme?
Yeah.
I don't... I think you can... It's defensible, I would say, to pick an environment and say,
going to show you what's going on in that environment. And if you want to use a different
environment, that's fine, but for pedagogical purposes, we have decided that this is the best
environment to use for introduction to the language. Yeah, and so the different environments
would be further down the road, but the place you get into trouble with it if you tried to do
different environments is these GUIs, which the GUIs themselves are all based on the old 6.0 whatever.
Yeah, and that's really the part I was looking at. I've got to get in and clean these up and
if I clean them up and probably expand them a little bit to what Qt is doing, I think that's
probably got the most flexible interface and flexible with a structure that's enough you
You can explain to somebody. The most flexible interface is JHS, but it's just like saying it's the web. You could do anything you want with it.
It's kind of hard to... JQT's got a bit more structure to it.
What is JHS? I thought I knew, but now I don't really think I know anymore.
JHS is an interface to the server that's HTML.
CGI?
It's
J itself is being the web server if I recall correctly
Yeah, and so your browser is it's kind of like that. They're all 30 to 70
on an APL system
The browser is is the terminal and the web server is the J engine
and
But of course the actual details is that it's HTTP and HTML
With a little bit of JavaScript to make things on the client-side to make things work. Right. Okay. Thank you and
Actually quite a bit of JavaScript depending on what scripts you look at because so the interactivity is all JavaScript
Right. We're in 3270. It was assembly, I guess instead of JavaScript. Yeah
Yeah, and that wouldn't surprise me because I Eric was the one who put it together
And of course you'd be familiar with that framework of 3270 for sure.
Okay, thank you.
Yeah.
But the thing about JHS is that it doesn't have as many constraints, but as a result,
the thing I like about JQT is you could focus somebody in the primer.
And the thing I like about the primer is it actually takes close to what we were talking
about as a developer.
You can guide somebody to these levels where you're actually looking at,
this is a graphical user interface.
This is how you would do a simple one and get them started in that.
Whereas normally if you were starting from a rank beginner,
you wouldn't get them into that area at all.
You wouldn't give them a taste of that.
But the primer really does give them a taste of a lot of different things,
including the plots and all those different things are available.
I think could probably be expanded as well.
I'm just trying to see remember where plot is.
Oh, there's plot and the locales, that's how he explains that.
But that's got, you know, you could go a bit further than he goes, but I'm not sure whether,
you know, again, you don't want to get too far ahead of what the user is going to be
comfortable with, but you do want to kind of tease them a bit with what's possible here.
Well this is... the primer then is a good point of departure for lots of other documentation that you have.
There's a lot of documentation on plot, and if there were half a dozen links in the plot section of the primer to other plot resources, that would probably be good.
Yeah, and that was the other thing I was saying to Eric is that because we're now dealing with a wiki, we can put links in where we didn't used to because originally it was a book.
Yeah.
And so actually one of the first things I was doing going through the pages is changing when he refers to this book.
I've turned it to the primer because it's not a book.
book. It's got great information. But then the reason I want to do this as the update
for the newcomers is I think this is a really good introduction to newcomers and get them
moving in the right direction.
But I will certainly give some thought about that index and the way to do that and what
I can do with the toolbox because if I had the, if say I replace this toolbox with the
index and have it expandable, well that's, you know, for the use of the primer you still
have all your navigation stuff up here. That would still stay consistent. I don't think
most people are too concerned about the tools down here.
you add another fourth section besides print export tools and new users or is
that outside the bounds of what you're doing? No I think I haven't played too far with the sections but I
think I can do that. I could certainly, I could, yeah no I could I probably should
be able to expand essentially what I might be able to do is put a horizontal
line in and expand this section to include the index below and it just
moves these guys way down off the screen. Yeah.
[ Silence ]
[ Silence ]
[ Silence ]
[ Silence ]
So where did I cut out?
What I was talking about probably reducing
the number of items on this,
'cause some will not be necessary.
- Okay, no, you had not quite gotten to that point.
You had just indicated that you might be able
to add a horizontal line above tools.
- Right.
- Okay.
- Yeah, and I think I could add a horizontal line
and put and essentially extend this to include the index.
But going into the future,
I would probably look at reducing the number of entries here.
Prototype Wiki isn't necessary, right?
Those kinds of things.
Showcase probably not necessary
with the other navigation stuff we all have in there.
- Right.
- But that's what I'm just thinking.
But I'll look at both that
and also putting a link to,
well that's the back, there we go.
Also putting a link in under here
that would actually just take you to the index as well.
And it's probably not in your face so much
that it would cause people to keep hopping around
which is really what Eric says is not the best way
to consume this.
Certainly not initially. No. And actually would raise another question is if you got into areas where you required step after step to be done,
if you get ahead of yourself you could cause yourself problems because things may not have been defined as you move through the more advanced areas.
Yeah, but the solution to that, it seems to me, is not to make it difficult to move around.
Yeah. No, you're right. The solution is probably to build something into the page that tells you
you're now in an area that you should go back to this point if you wanted to actually use the
stuff on this page. Just some kind of a note there that tells you, "There be dragons," if you start
assuming things right now. Right. So is there any value - and I recognize that this is probably
more work than, well, it would be work - to integrating J in the browser with the primer?
- Raul, you are quiet.
You are quiet.
- All right, I had turned myself off
because I didn't think you wanted
to hear the dog talking.
- No, the dog is great.
- So there's actually two Js in the browser.
There's JHS, which we talked about just a little while ago,
and there's JPlayground.
And JHS is there's a server that's J
and J playground is there's actually a browser that's J.
- Right.
- And when we're talking about integration with Wiki,
both of those are kind of in the back of our minds.
Although, you know, with JHS,
it would be the Wiki is a reference,
whereas with the playground,
it is maybe that you could actually make the pages live
in certain pages where that would make sense.
I think even with JHS you could make the pages live, right?
No, you don't want to do that because JHS is designed for private use. You don't want
to have a worldwide JHS server unless you really want to invest a lot of machinery into
having servers that can serve everybody.
advantage of the playground is your browser is essentially running J.
Yeah, I got it. You got a private namespace. You've got a state that's being persisted over time,
right? Whereas on the server, that would be to work.
Yeah, it'd be somebody else's machine or either that or we're asking you to build your own local
copy of JHS, which the wiki is going to hook into it, which is kind of a non-starter.
There's a lot of things that are unpleasant to think about.
Yes, I take your point. Okay, it was just a thought.
There was a lot of things that became available when Joe put the playground together that we
haven't even really tapped on yet, but will be for sure.
Okay, just curious.
It might be fun to put together a proof of concept, like some primer page
is just, you know, just has a little prompt.
You type it with a sentence, you hit return
and it executes it and you could edit the sentence
if you really wanted to, but that's not the important part.
- I guess the other way to think about it might be,
could the primer be turned into a lab?
- Yeah, absolutely, you could.
- You can't bring J to the primer.
Can you bring the primer to J?
- Yeah.
I think the only difference being in the longer pages, like right now I'm looking at the
vocabulary page, that's probably more text than you'd normally use for a lab, but you
know…
It absolutely is, yeah.
Yeah.
The other interesting thing is the… dates the primer, this vocabulary is not nuvok.
It's the vocabulary of the dictionary.
Yeah.
So that's…
I got up to this and then there's gonna be work
to be able to, I'm gonna use Nuvok as the example there.
'Cause I don't think we're encouraging people
to use the vocabulary other than the areas
of the vocabulary is actually better than Nuvok,
but I'd rather make Nuvok better
than try and send people a different direction.
- The new vocabulary has some conciseness advantages
that we just haven't encapsulated in Nuvok
and that's gonna be some work.
- Yeah.
Do those concise disadvantages accrue mostly to experienced users?
It's a different style of writing is what it is.
And it's really hard to say without extensive testing whether the dictionary approach or
the NuVoc approach gets users to where they want faster, when there's the same treatment
on both sides. With the dictionary, there was a little bit of an iterative thing where
you had to make a couple passes at it. Whereas NuVlock, you have these huge long pages, which
may or may not have the information you're on, and it can take quite a bit of time to
digest all of the content that's on those pages. It's the same problem, but just a different
face.
Of course, the information you need is more likely to be there in Nuvok than it is with
the original vocabulary.
Generally speaking, yes, because there's stuff that's been added to Nuvok that hasn't been
add to the vocabulary. But that's not really about the style, that's about the content, right?
Yes, I take your point. You can be laconic on the one hand without actually dropping,
you can be laconic without dropping any information. That is certainly true.
And I'm thinking about things like the foreign conjunctions. If I want to find information
for a conjunction, I go to vocabulary because it's tables,
but the way the tables are set up,
it breaks down really nicely to the information you need.
Yeah.
And that's one area that I think,
and that's just work to be done on NewValk, I really think.
Is it's got to set up in a--
- Three clicks or a click, a scroll, a click,
and then to get to the same place as you are
with the, um, with the, the dictionary treatment of horns.
It's the new vogue does have a table, but, um, it's, it's a little bit buried.
And the question is other issues too, but that's, uh,
yeah. Yeah.
Anyway, that pretty much wraps up our hour. Um,
I've got work to do.
I've got an email I promised I'd write.
Will, are you still in San Francisco?
I'm in San Francisco until June 2nd, which is when I fly back.
I see. I wondered, just based on the art behind you, it sort of had that West Coast kind of vibe to it.
Anyway, have a good week, stay safe.
Thanks so much for all your help.