 A few things have changed. The format is a little different. Thanks to Stephen for his help. I'll just run through all the features real quickly in case something has changed. The left hand margin has Bob's complete hierarchy. So all the topics parent child relationships. We look at, for example, where's frameworks. I think that was developers wasn't it? Oh reference. Yeah. Yeah. Yeah. All the children of frameworks show up in the next column. And what happens is the, the links the pages show up in the columns immediately following, hovering on a link gives you the corresponding page. In addition to Bob's hierarchy, we have the free floating tags. So there are several hundred of these are divided up into groups of 15. So for example, under efficiency with an ellipsis after it, we've got the efficiency topic as well as embedding video and J labs and so on. So one of these topics, these free floating tags, have just a couple of pages associated with them and if you hover they'll come up, just like the other pages do. In addition to that we've got the forums so J programming J general J beta and so on. So let's say J programming it starts out with the most recent month and year April of 2023 in this case, hovering over a subject gives you all of the people who posted to that thread. And again hovering over a, over an item will load the corresponding page. In this case the page is a post from the forum. But there's search. So I've got a couple of searches in place now for dyadic transpose WD message box and FTP, which you can add additional searches, say, random fixed seed, let's say. So that'll come up your search results. The forum results of J programming J general and J forum all have items, or maybe results from the wiki in which case, unsurprisingly the top item that comes up is query dot from the from new vogue. One of the things that's important is that we've got a mechanism because we are hover based rather than click based and for reasons having to do with WebView not reporting mouse move events yet all that is going to be fixed. You can interact with a page. So for example, fix let's say from new vogue. If you click you lock down all the mouse move processing for three seconds that gives you a chance to get your mouse over to the browser and then you can interact with the browser directly. We'll be fixing that as soon as mouse move events are reported by the WebView control we won't need to do the click to lock anymore. That's it for the demo. Any questions or comments on any of that. I sent an email to Bill asking when he thought that update might happen for JQT. I don't think they'll update it for 9.4, they might, but they will definitely update for 9.5 and I don't really know I haven't had an answer back when they would do that. I know the update was the final release, but I think they probably should try and update a little ahead of that. That would be nice for us and if they did and we did deliver this as a standalone application we could just include the 9.5 binaries or 9.5 binaries. And that would take care of the problem. I think if we did it as an add on we'd have a problem. But if we do it as a standalone and include our own binaries that I think everything should be fine. The only issue with that would be the 9.5 is a beta so at some point we'll want to adjust to whatever changes they're making. Ideally they'll do it to 9.4 and then we can use the commercial version of 9.4. That would be great, but again because it's a standalone I don't think I'd object to shipping beta binaries initially with the expectation we'd be switching over to the release binaries when they finally come out. Yeah, I guess that's right because you'd never actually be using J through this, would you? You'd only be using it as a search. Yeah. So Bob, you had raised the possibility that we should revisit or continue to visit the forums user experience, which I am definitely sympathetic to. It's a tough one. It is a tough one. Do you have any thoughts on this? And Devin I should explain something here and that is that because we're hover based and because I wanted to include the years and the months in such a way as to give a left to right flow as you with the mouse as you go from a forum to a year to a month. The years and the months need to get out of the way so that if you do select J programming which defaults to today, April of 2023, and you see something that you're interested in, you need to be able to get over to it without inadvertently selecting a year and another month. So that's why they're dancing around in what might look like an unpleasant fashion. It actually, I mean, I wrote it, but I don't think it's too bad. On the other hand, I also don't think that this is necessarily the final form that this, this might take. So I'm definitely open to the idea of making changes and I'm happy to experiment. I'm happy to use some suggestions. So Bob, what, what makes you hesitate about the current experience? Well, I have in mind. Well, I've got in mind something I'd like to do. I actually I'd like to hear Devin's take on it first just because that's fresh eyes and I know I've spent a lot of time talking back and forth with you about it. I'm just wondering, is there any way to put the date stuff across the top or something so you're not moving over. Yeah. And the idea there is that with a hover based interface, you can put controls around a central area. And that way you can always touch the edges without worrying about inadvertently touching something else. So you're all your control points are nicely out of the way. Bob was Bob wanted a left to right flow. Bob could misrepresenting you here. And this is the only way I could think of to get a left to right flow. And there is, I think a lot to be said for not having to dance around the edges for instead being able to say yeah I'm here and now I want 2021 and I want August and that's that's what I want. That's what I'm going to get. There's less mouse movement you don't need to you don't need to cover as much territory. If you were really literally using a mouse that wouldn't matter so much it's very easy to move a mouse a great distance. A touchpad that's not as true I'm using a touchpad and I find it annoying to have to move a mouse a great distance. So I was quite sympathetic to to those concerns and was happy to to build a left to right style interface, although again it does have the dates dancing around. So they're getting out of your way there is that why there's a gap. That's exactly right. Okay. So it just opens up a gap equivalent to wherever you are on the left there. Right. Looks like once you're in the date area there they become that the years become stationary. The months get out of the way as you select a year. But if you're in the months column the months are stationary, and you're able to select them. So it actually it looks odd, but much to my surprise it actually works. I think pretty well. You could argue it looks pretty useful. One of the reasons I was looking at running left to right here in this case was because if you put those months and days at the top. It's really easy to hit the postings the threads on the way up to them. So you come across and as soon as you come across into that zone. Now you're over top of postings and your displays changing as you move up to the date. And that's that's why I was kind of moving towards the left to right. The dancing dancing around looks like something you could get used to once you if you understand it I think it's acceptable. Yeah, that would be the big thing I think people otherwise people are going to why is it doing that. It's not obvious at first. But then when you understand. It makes sense. Okay, so the idea I have is what you've got in your left most table of contents there is what I think is really an ideal format. You move up and down that green bar and the zoom follows you so you can see what you're looking at. And then as you move across into the white. And thank you for putting up the head to head because I think we're all got a much better sense of what you can do when you when you have the dead space. You can move up and down that white bar very easily without having things jump around. Yeah, I'm actually used to this now I was not enamored of it initially but I'm. I think I like it too Devon I should explain there were actually four different approaches to managing this the scroller here. involving at one point two fingered scrolling in order to scroll that we don't do that anymore. This is just mouse hovering that's all that's happening here. And I and Bob were going back and forth on what was the optimal way the optimal interaction so I put together a version that had a little dropdown with four different interaction options, and they picked each one in the amount and thank God the two of them agreed on what the best one was. I went along with it and I'm not glad that I did. But good. Okay, yeah, Bob, I'm glad you still like it. That's that's excellent. And so what I like it so much. You want to change it. No, no, no, I don't want to change that. That's what I think we should be doing for the forums as well, but that would mean separating the months and the years on the forum strip from the display. That's the one change that you need to do so it becomes independent. Well, you need to peel back a layer of detail on that. I'm not tracking. Okay, so when you're you've got your left most table of contents where your zoom works and you can move up and down that white strip without having things move around. We go over to the next what looks to be a separate strip, but it's not it's a column, but it's all one is a graph right. Okay, yes, it is. In fact, so what I would what I'm proposing is that first strip becomes a separate is a graph. And it works the same way as you're let the ones to the left. Except that in this case, you've got months and years or sorry. Yeah, months and years down a script down a strip. And you can move up and down that zooming it. And then you have a white strip next to it so you can go right up to wherever you want before you go across. And you've got the same language with both those strips. Take your points. So in fact, and maybe I'm getting ahead of you here in case I apologize but what you're suggesting is a single linear list 2023 December, January, excuse me, yeah December, November, October, September, yada yada yada. Yeah, and it would have the same kind of lens effect where there'd be a zoomed area. Yeah. Interesting. I think that's probably right. I think that's probably right. And then you'd have that white strip next to it the same as the first one so that you can get up and down without coming across. Yeah. Right. No, that's not a problem. Yeah. Yeah, that feels right. The only thing that's a little dicey compared to the current implementation is that you couldn't help but crash into a date as you're moving to the right. And in so doing, you know, you see something you're interested in or you hop onto J general. It shows April of 2023 and the JD bugger bug is visible there and you're interested in that. But if I've got a lens list over here, then you're going to wind up hitting, you know, January of 2023 on your way over. That's that's where that white strip comes in is you can move up and down that without without affecting anything. You've got to go across. Yeah. There's no way to avoid going across the green stripe. Well, no, you can you can go up and you can go up to 23 April to where where it's highlighted. You can go all the way over and down and down. Does everything have dates? Or is it just the forums? Just the forums. Okay. I was wondering, maybe if you switch the date column to the far left, you wouldn't have the problem running into it accidentally. Oh, I see. That's interesting. But then you've got the problem that when you go to the far left to hit a date, you'll wind up hitting a forum that maybe you're not interested in. I see. So it's the opposite problem. Yeah, exactly. It's just it's just hover based interfaces create this dilemma. Maybe it's not. Yeah, I don't know. I mean, it's easy enough to recover. If you wanted 2023, you could just move up. Yeah. And I think because it's using the same languages as the left most one. I think people would catch on to that pretty quick. Oh, I think there's no question about that. My the objection I've spent probably more time on than I should have is definitely a minor one. I think that in advert not it wouldn't even be inadvertent. It would be very obvious what you were doing. You were hitting January on your way over hitting September on your way over. But it would be so easy to recover that maybe that wouldn't matter very much. Yeah, I think Bob your point about keeping the language the same is a compelling one. So the notion of having a hierarchy. An outline I should say, of having the children of a node in the outline. That is the subtree of an of an entry in the outline show up in the column immediately to the right. And then having it to be a lens based scroll field. The language consistent as consistent as we can for all the different information displays we have. I think that's a compelling argument. Yeah, why don't I go ahead and do that. And you might pick up a little bit of functionality to by separating those two is the graphs. Now that that's a technical detail that isn't doesn't actually help or hurt me. And in fact, actually, technically, there's some value to keeping a single is a graph. It means they don't need multiple massive and handlers. Yeah, that's true. And, and, but the, the, the thing I found neat when I when I was I did that demo for you was that you can actually have. Is it graphs completely hidden. They're there, but they're completely hidden. And then you hover over something and that event can actually trigger them to appear. Yeah, it's, it's nifty, but it's not necessary in this case. I'm perfectly content to have a single large surface on which I render what look like independent controls that does simplify my life. So what I'm saying is in the case of the forum, you'd end up having a separate extra is a graph. He would only show up for forum. You could do that, but it's additional complexity. Okay, no benefit I'm able to figure out. I mean, I can already get that effect now. Depending on what it is you you choose to select I'm showing very different things to the right. And it's all a single big is a graph control. Right, but that that next column, like I can see that with when you're when you're running through the structure of the wiki. Absolutely. I can see that. But when you go to the forums, I think you want that next column independent of your. I'm not seeing why I want it to look independent. Okay, implementation detail. Okay, so you're saying you can you can make it look independent react independently. And it won't affect that next column over you basically won't change what's displayed as you move up and down. Okay, well, no, I mean it. Well, I mean what'll happen is you'll pick J general. Right. Yeah. And there'll be years and months in a single column. Yeah. And as you select a month. You won't select years because there's no such thing as 2023 really you'll only be selecting months. Yeah, but as you select a month, the justice is happening now. The available set of threads over on the right will change. So the behavior will be very similar to what you're seeing here. Yeah, it's just that the format of this particular column will will be identical to the format of far left Yeah, basically the far left. And you can do that zoom effect just just isolating on that one part of the is a graph. Sure. Yeah, okay. Yeah, I don't. Yeah, here's an example. So if you go to reference. Right. Yeah, right. Absolutely. Yeah, yeah. So it would be just that same idea as this one. Right, exactly. Yeah, yeah. All right, I think that's good. I will miss the dancing months. Keep that one in your back pocket. You never know when you might need it again. The magic of source control, it'll always be there somewhere. Yep. Yeah, like I said, it seems easy to get used to and if you understand it, it's not too. And I agree with you but I think that Bob's argument about keeping the language as consistent as the user experience language as consistent as possible. And I find I do find that compelling. So let's at least give it a try and we can always revert if we decide we prefer the dancing months. Rob, do you have any comments on on the interface I'm not sure when you came in. Yeah, just a few minutes ago I was lost track of time. I don't have any specific comments yet. Go ahead. Okay, because what we're just saying was that we're looking to replicate what we've got on the left most on the next column over for the months just for the fourth. Yeah, yeah. Were there any other areas that you wanted to get signed or you're looking at that design a bit and I've got a call out to Steve and a text out to Steve and I haven't heard back from him. That's the nature of children. Yes. Yes, it is. You want them to be independent, and that means they're independent. So I'll, I'll text them again probably tomorrow to see whether I can get something else out of them, you know, sometime over the weekend, maybe. Well, I mean, I think he's intrigued a little bit by it too. So I don't think it's too much effort and I think he'll be interested to see what we've come up with based on his previous suggestions. I hope so. Yeah, and what was the other was a couple of other things I saw I'm just trying to remember. I really like some of what you've done with some of the hierarchies, you know with the bold and the and the non bold to separate them I think that works really well. That's what I'm hoping Stephen will be able to comment on and perhaps improve. Yeah, I feel like the last the first round we did with him which is so far the only round. I'm just giving sort of basic fundamental broad advice, which was very helpful, but I'm thinking now maybe there might be tweaks that he can offer us that would also be would also be interesting. It is for something looking ahead. Yeah, I assume this whole display is fairly intertwined with the structure of the J wiki. It's deeply reflective of the structure of the J wiki. Yes, right. I'm wondering how how plausible or possible it is to to sort of separate that out. Let's say I really like this interface and I want to use it on another thing entirely. I guess that the way it works is, it's, I've got a crawler that crawls the wiki, and it produces a sequel like database that's got the whole category hierarchy. And for every node in the category hierarchy, it's got a set of associated web pages. For example, so so I would just I want to use this something else so be up to me to build the database, build the crawler for whatever. This crawler is very dependent on the J wiki's implementation. So you need, you need to build your crawler, and you need to create a sequel like database that reflected the structure of whatever website you were interested in. But then yeah, you should be able I'm going to say this and not to be wrong but maybe it'll be 90% true. Yeah, you should probably be able to use the client browser code against that database pretty easily. Yeah, well, I was thinking of even for something not web based like I have my enormous collection of photos here. Maybe nice to have a different way to run around on that would just be on my own hard disk or whatever. I'd be happy to talk to you about that as a separate exercise, but yeah I don't think that would be impossible I actually did something like this for the internet movie database at one point where I had a lot of photographs popping up and you know browsing women searching and so on so it's entirely feasible thing to do. Yeah, well I think we should get it more solidified before we. Oh, absolutely. Absolutely. solidified I have started to think a little more seriously about deployment on which topic role thank you for responding to my two emails I very much appreciate that. Basically the main I mean there are a couple of problems one is distributing the standalone code, which I assume is a solved problem in the Jay ecosystem. And then the second problem is distributing the regularly updated database that reflects the contents of the with the evolving contents of the wiki. And for the latter I had assumed that what we would would do was I'd have a crawler that would produce a database file I would upload it to the wiki or to somewhere on Jay software.com. And then, ideally, the client code the standalone client code could check that at launch or periodically. And without downloading the eight megabytes worth of data which strikes me as a little too much to download on spec, could check in place to see whether there was a more recent version of the database sitting up on the server. Did you say eight megabytes. Sorry. How many megabytes did you say eight megabytes. Hey, I mean that doesn't sound like a lot today's world but but it would be nice to have it centralized somewhere where the updates would happen. And what I what I don't want to do is to have to retrieve the file in question. Right. Be able to check the date. Right. I think the code that you kindly sent me does that it looked to me like it actually retrieved the file and then did some date checking. And I could be misinterpreted. What what I'm doing is retrieving. That that code was assuming that the file is on the wiki. And what it does is it retrieves the wiki page for that file and holds the data for that there might be another way and after thinking about that just now there's another way that I might be able to check for that wouldn't be specific to having the file on the wiki. But I'll look into that after the after we're out of here. You're very kind. I'd appreciate that. Yeah, sorry go ahead. I was asked for distribution. All of the J add ons are actually hosted on GitHub. And the way that it works is you update that GitHub repository. And it immediately is updated in as far as the Batman is concerned. If you know if I've in several times gone in and I found a bug in a add on, I make a change to the IJS file and update that on GitHub. They also update the manifest to change the version. And at that point it shows up. I just go to J with I don't talk to anybody I just go over to my J sessions. And I go into Pac-Man I see that that thing's updated and it'll pull a fresh copy if I, you know, using normal Pac-Man mechanism. So we had a fragment of a conversation I think before you came on. I'm not sure that we're going to be able to deliver this as an add on only because one of the things we want to do is get away from get away from having to click and lock in order to make it possible to move over to the browser and interact with it. How would that? Sorry, I don't see what that has to do with add ons. Oh, allow me to explain. What it has to do with add ons is the only way that I've been able to figure out for us to get away from click and lock is to get web is to get mouse events off the web view. And that's coming. But is not available yet. So my guess was that we have to take the 905 binaries, which are the only ones that will have for the 905 version of JQT, which is the only one that'll have a web view that reports its mouse events and use that. And with that assumption in mind, I thought, well, you know, add ons aren't going to work because we don't know what binaries people are going to be using. We're going to have to be able to supply our own binaries. And the only way to do that is with a standalone, a standalone packaging. Well, you add ons have a field for saying which version of the binaries they run on. And will warn you automatically if you try and run with the wrong binary. It won't even show up in Pac-Man if you build it. So that's one of the versions of J. That said, it might be the case. Since then, since the JQT binary is independent of the J console by, you know, the JDLL. I'm not sure. You know, once they get so once they once they've figured out what they want to do with JT it might, might be able to be. Obviously distributes an add on itself sort of it. It might be able to show up on J9 for I don't know about that. It's a possibility. All right. Well, Bob, you sent a note to Bill, I believe. Yeah, I did. All right. So maybe when he gets back to us, we'll have enough additional information that we can have a more directed conversation about this. I suggest we just defer it for now. Yeah. And, and he, I mean, they'll be more aware they may know of ways to update JQT in ways that I just haven't seen them update JQT without doing it during a beta before. So in other words, when the beta switch is over, that's when the JQT version switches over. But I don't really actually see a reason they couldn't do that in for say 9.4 in which case you wouldn't have to go to a beta to have people use this. They could actually use it off of commercial copy. It depends on the API between the console and JQT. If that has to change, then you get a lock in. If it doesn't have to change, then you don't. Okay. So there's also the whole distribution process. So I don't. And so when Bill said that there's a that's a bug in in web view for mouse movements. It's not something he's going to fix. It's something he's going to get the JQ or the QT group to take a look at. Is that right? Well, he is the person that does most of the work on JQT. So he is essentially the JQT group. Okay. No, but, but is it an underlying QT problem? I think it's related to it's it's it's a subscription problem that in the event model for JQT you have to subscribe to an event to get the event and I think it's it's just a configuration problem that baked into the binary. So there might be, you know, QT problems as well, but that he could he could add an event. Yeah, once. And since that's an expected event, I don't think that would break anything. I think, I think he can I haven't looked at the web view in QT to ensure that it's exporting the event but if it is then it's a simple problem if it's not then it becomes a deeper problem and we may not know where it's going to go. Yeah. Well, but that's all I've got so.