WEBVTT 00:00.000 --> 00:14.000 Okay, I'm not you and Shuman, he is unavailable, so I will try and present and his behalf 00:14.000 --> 00:16.000 is best as I can. 00:16.000 --> 00:21.800 He's from a web dialogue which has been on LOT, which is Libra Office Technology, because 00:21.800 --> 00:27.560 I've prepared for this talk and I know that, so what is this? 00:27.560 --> 00:33.360 The various dialogues in Libra Office are described in these data UI files, XML files, the 00:33.360 --> 00:38.400 destruction properties of the dialogues, so that XML input gives you this output on the 00:38.400 --> 00:43.560 left in detail, G2K, for example, as which points you have very graphic editor, has 00:43.560 --> 00:47.640 glued our contemporary ones where you can edit the dialogues and you convert them and 00:47.640 --> 00:50.640 you can interact with that structure there. 00:50.640 --> 00:55.040 So that's just what you have in Libra Office and how those dialogues exist already, and 00:55.040 --> 01:01.320 for the purposes of Libra Online or something like that, we have G-style x, which is a framework 01:01.320 --> 01:09.040 for exposing those UI components over into the online LOT experience. 01:09.040 --> 01:14.000 Hello, do you end up with there is that you have on the server side, you have the same 01:14.000 --> 01:20.520 kind of dialogues internally, you get on the desktop situation, and the snapshot of the structure 01:20.520 --> 01:25.800 there is dumped into a JSON thing, and it's sent over the wire to the online side, and 01:25.800 --> 01:31.480 in the online side it takes a JSON, and similarly to what you have in the server side where 01:31.480 --> 01:36.600 you load up your UI and you create dialogues from that, you view our builder on the online 01:36.600 --> 01:43.440 side that takes that JSON, and it constructs dialogues from it, initially constructs dialogues 01:43.440 --> 01:44.440 from it. 01:44.440 --> 01:48.440 Then afterwards it can be used to update the dialogues when things changed and the server side 01:48.440 --> 01:53.440 are transmitted across in this JSON, when you make changes, as I say, on the server side 01:53.440 --> 01:57.800 that something is selected or the text is changed, it comes across in this JSON, and this 01:57.800 --> 02:01.400 UI builder and whatnot updates everything on the client side. 02:01.400 --> 02:07.360 You give you dialogues on the client side that are basically transmitted from the server 02:07.360 --> 02:08.360 side. 02:08.360 --> 02:15.560 There's a bit of flexibility here, and this G-style log builder, when it gets the input in, 02:15.560 --> 02:20.360 you can unlock the limitations that can decide on different ways to express that information. 02:20.360 --> 02:26.400 So you can have your classic notebook bar shown at the top of the online browser, the same 02:26.400 --> 02:32.440 as similarly to get the desktop experience, are for a smaller platform for mobile device. 02:32.440 --> 02:35.520 You can convert that and show it in different ways. 02:35.520 --> 02:39.520 So if we take a look at the classic side bar shown in the middle, you can see on the right 02:39.520 --> 02:45.640 side that side by information is being displayed, suitable for mobile device, in smaller, 02:45.640 --> 02:51.640 in a different view of that data, which is very visually different than the source data 02:51.640 --> 02:52.640 comes from. 02:52.640 --> 02:56.920 So the layer of depth to different things, other things that are available in G-style log 02:56.920 --> 03:01.560 is that there's backmode support at the kind of in which it level you just say, you know, 03:01.560 --> 03:08.000 drawn backmode and we have these two various themes going on there like that. 03:08.000 --> 03:11.160 And again, the hint is that two air layers of, when you send over your dialogue, first 03:11.160 --> 03:17.160 you get this full update and for optimizing reasons, we try to apply minimal updates as 03:17.160 --> 03:18.160 possible. 03:18.160 --> 03:22.680 So if a small part of the symmetry changes, we just update that tree and update what's 03:22.680 --> 03:23.680 required there. 03:23.680 --> 03:28.240 And in many cases, we can get away with just updating the single widget, if we know what 03:28.240 --> 03:30.680 the actual specific action that's been done is. 03:30.680 --> 03:34.120 So if we know something that's been enabled, we know what's about and we can just 03:34.120 --> 03:36.360 fire on button enabled. 03:36.360 --> 03:39.560 And if we don't know what's going on, and there's been some kind of global refresh, you 03:39.560 --> 03:42.800 have to do a full update, we want to minimize that. 03:42.800 --> 03:47.840 So the partial updating of a dialogue is possible, which is dialogues. 03:47.840 --> 03:57.000 What's relative in new for this G-style, I think, is that the style we use in desktop 03:57.000 --> 04:01.600 for rendering the font widgets and other previews like that are now available in G-style 04:01.600 --> 04:02.600 log as well. 04:02.600 --> 04:07.880 So these are on-demand rendered in the sense that there's like whatever 12 or 15 entries 04:07.880 --> 04:10.360 here that need to be shown. 04:10.360 --> 04:15.560 And then the online says, please give me the preview images for these 15 slots and they 04:15.560 --> 04:17.680 come back and they're shown there like that. 04:17.680 --> 04:24.160 So there's on-demand a rendering for these new custom displays and that that. 04:24.160 --> 04:31.000 What's also new as well, or a bleed as new as well, is the ability to show what the keyboard 04:31.040 --> 04:34.680 accelerators are for various things like that. 04:34.680 --> 04:35.680 So you can interact. 04:35.680 --> 04:41.520 You can bring up this heads-up display to show you what are your shortcuts for the notebook 04:41.520 --> 04:42.520 bar. 04:42.520 --> 04:49.000 An accessibility front then, I think I've said in various other talks, but it's the same issue 04:49.000 --> 04:54.080 here again, is that you want to provide as much a possible custom widgets and especially 04:54.080 --> 05:00.520 for online where these custom widgets, you may even have accessible implementations for 05:00.520 --> 05:05.080 them on the desktop side, but that's no particular use to in the online side. 05:05.080 --> 05:10.080 If you have basically a canvas and you draw on various things to it, then you are just drawing 05:10.080 --> 05:14.680 things to it from the online side as well and you can get information from us. 05:14.680 --> 05:21.080 So this is an example where we have value sets over on the liberal upper side, which have 05:21.080 --> 05:26.480 accessibility information, but that accessibility information isn't available on the browser 05:26.520 --> 05:32.360 side, so it is much more convenient for us to move away from such a value set, change it 05:32.360 --> 05:38.000 into a more standardized icon view thing as well, and then I can view thing on the browser 05:38.000 --> 05:41.800 side, has the accessibility information to know that something is a picture and that 05:41.800 --> 05:46.560 the text is a label for that and you get that accessibility stuff for free. 05:46.560 --> 05:53.360 So it's an example of where we've moved value sets for that previews here into icon 05:53.360 --> 05:59.800 views and a file that changes take place in the edges out for accuracy purposes. 05:59.800 --> 06:01.280 And that's a big afternoon, thank you.