Servoy 2021.12 Release Webinar
Hello and welcome to the first Servoy webinar of 2022. I can see a little bit of attendees coming in already. Good to see everyone. Welcome. Hello, everyone. Still the numbers going up. So I’m waiting a few seconds. Hello, everyone. Welcome to the first Servoy webinar of 2022. My name is Victor. I will host this session, but of course, I’ve got Sean here for our content. Good morning, Sean. Hey, Victor. I think you have a lot prepared for us a lot of content, a lot of releases, a lot of announcements. Is that right? Yeah, yeah. I don’t know. Not a lot, but we’ll keep it pretty high level. All right. I got a few announcements. Of course, this webinar will be recorded as always. Hopefully we’ll be put on to our YouTube channel as well. Second, everyone can ask all the questions they want, but please in zoom, put them into the Q&A section and not into the chat. It is way easier to manage it for me. And I will try to interrupt Sean as often as is still polite to ask those questions and get them answered. And finally, I heard that Sean has a poll for us to start with. Is that correct? Yeah, I find that if I like to do a poll, if I put it up at the end, then we run out of time for people to answer it. So we’ll launch it. And you guys can answer it throughout the webinar. Just a few questions. All right. Just to get your feedback. Well, we got a lot of people, Victor. We have a lot of people. We’ll go over. Maybe I can’t pent up demand for a webinar. Who pressures on? Well, do you got a place to share this poll with us so we can take a look at this? I don’t know if the zoom shares it, but we can read it off at the end. Yeah. Okay. Yeah. Well, that was all for me. You can take it away. What if you go for us? Okay. Well, as you said, it’s the first webinar of the year. And I think it’s good to go pretty high level about what we did last year and what we are thinking for 2022. Of course, this coincides with the recent release of the Q4 build of last year, the 2021.12 release. So I can take us through some of the release notes there and some of the goodies that are in that release. And then I had a few just small tech demos planned. And then potentially some follow up deep dives that we could do. And I’ll get into that. Sean, can I answer off you for a second? EFO. Yeah. Oh, sorry. They let you in. Yeah, they did. And yeah, I thought it would be important to announce. Fine. Fine. Fine. Fine. Fine. I mean, I think we’re all kind of a little bit done right with webinars and children in the background and stuff like that. So I got something to announce for the grownups amongst us. And I think you will like it too. So two years of no Servoy will. Thanks to this pandemic. I think we’re all we’re all done with that. So what we decided to do is flip the model. I think it’s too risky still to do a big Servoy world this year. We don’t know what’s going to happen. So we’re going to flip the model and we’re going to come to you guys. So we’ve got a trip splant to Amsterdam, Frankfurt, New York, and to LA or Santa Monica. And you guys can pick wherever you like to join us. But please, please, please join us. We’re doing it’s like a day and a half event. So the full day event will contain will will have a lot of sessions, technical sessions, our technical experts will be there. Sean will obviously be there. We’ve invited to Yolam, our chief of R&D. So he will be there and that will be filled with all the stuff that the technical guys like. And what we do the night before is we’ll do a more business oriented session with a dinner. And everybody is welcome to join that as well. What we’d like to get from you or what we kind of need from you is for everybody to book that tickets. And in the news like that you’ve seen this week and last week, there are links in there to do that. We’re asking for a $50 non-reformable donation so that money will not go to us. The money will go to a good cause that all of you guys can vote on. But it helps us to know like how big the venue size needs to be. And it helps us to plan the logistics. So please book your tickets as far in advance as you can. If you need to have the link where to do that, post it into Q&A and I’ll get you that. Sorry, Sean, back to you. That sounds exciting. I like Santa Monica beer. That’s a fun place. Can I go to that one? Yeah, of course. Okay. We’ll update you guys on this periodically between now and May as well. Thanks, Evo. Okay. Back to, well, before the release, just a quick look at 2021. 2021 was a different year, different from 2020 but not like the other years. But it’s certainly, I think overall it was good. The company actually grew both in the number of our customers, but we also actually hired quite a bit. We’re scaling up on all of our teams. So R&D cloud professional services, sales, everything. So that feels really good. And I hope you get to meet some of our new employees when we can all get together. We saw a lot of, a lot of uptick last year in hybrid apps. This was something we, we were kind of predicting. I think when we did this sort of look forward back in the beginning of last year, we talked about the important of hybrid apps. And I think we’ve seen a lot of that come true. What surprised me was the number of, of desktop hybrid apps that we saw people building. A lot of cases coming in on the NG desktop utilities and the other plugins for that technology. I think part of this could be attributed to the fact that people are moving from the classic smart client. And they have those desktop integrations and, and so they need to have parity when they go to the next version. But it’s interesting to see that that there’s still a demand for a desktop client that can talk to hardware or local file systems, etc. So given that we expect that there will be more attention focused on on hybrid apps in 2020 2022. In the Servoy cloud, I don’t know why I had the question marks in the, in the slide here. We added again, more customers last year, I believe we’re up to a few dozen projects that run in Servoy cloud. Somewhere between 30 and close to 40 I think. And that’s growing all the time. Every new project usually starts in Servoy cloud. So we’re seeing that the DevOps is still a key aspect of, of helping teams build applications. We also geographically expanded Servoy cloud because we have customers now running, I think, Australia. And pretty much anywhere there’s a AWS zone. We have reach in. So that’s also exciting. And as you know, 2021, we worked on major stack updates. In fact, for the past three years, we’ve been working on the transition away from the underpinnings of the engine client, the AngularJS and of life. And that’s ongoing. So that was a big part of what we were working on last year, not all of that is immediately visible. And that’s kind of the idea. And another, another kind of key thing we worked on last year was the smart doc smart doc human editor component. It’s more than a component. It’s really a component plus some APIs. And I think we’re going to see more of this type of requirements and business applications where really sophisticated interactions with users. And that’s going to drive the need for kind of next level components. I mean, this is not like a text field or a checkbox or, you know, something like that, but, but, you know, a really full fledged editor that can do lots of lots of stuff and, and we’re continually continuously enhancing that. I think it also makes sense to look forward and 2022, I think it’s going to be a big change for the whole community. As you know, the engine client, as we’ve been saying now for over a year, the engine client will will sunset and the next thing is coming. I think it’s a good to remind ourselves why serve way exists. And we look back over the history of the company. Our mission has been to really to enable software vendors and enterprise teams to build applications business applications with with the best tools and to meet the demands of the market. Early on the demands of the market were just to run over the internet. We started with a smart client and then when browser demand came our classic web web client came out. The engine client came and it gave us kind of that open architecture and the UX freedom. But the underpinnings of the engine clients are now also out of date and we look to the future and that’s why we’re announcing the code name for the succession of the engine client to be servoit titanium. And we believe that this is a good moniker for what’s next because this client performs much faster than the engine client. It’s based on TypeScript under the hood, which means that it it can apply else. The architecture is also more extensible. TypeScript is not only compiling in the browser running fast but also the way that a components can be built are easier to extend. This means we could have almost different flavors of one component rather than you know, forking it or customizing it. And again, I think all of this kind of encapsulates our mission to provide comprehensive tooling best and breed tooling for people building business applications to give them a pathway to the future. And I see really a lot of attendees in this webinar and many of you we’ve known for years and years. We want to keep it that way and so that’s that’s really why we’re excited about chirvoy titanium. I’ll talk a little bit more about what this means. I think, logistically, there’s a lot going on in a lot going to happen. So, 20 the dot 03, the Q1 release of any year for us is our flagship release and this one is I think a big deal because it becomes a bit of a transition point. At this point, the titanium client becomes what we consider like the default and the engine client starts to become the legacy client. What I mean by that is that when you launch the client the default will be the titanium client, the editor that’s used will be angular based and therefore rendering the titanium components. The editor is available in the current release, but it’s still not fully fledged yet. So we’re hoping that people will enable that it’s in the preferences to turn that on and then you can actually test drive it. And you’ll see that that titanium compatible components will be rendering in there and yeah, it gives us already under the hood for our R&D team a much nicer foundation. To work on. 2022 dot 03 is also, well any dot 03 Q1 release for us is the basis for our long term support branches. And so when we when we put the dot one release to that that begins the LTS branch for for that year and that really from from our point of view begins the hibernation of the engine client because after that. And you really are going towards the titanium client. And what I mean by that is that after this release there won’t be any more enhancements to engine client sources those will all be done on on the titanium version. And you know, of course we could do major performance problems or security issues things like that would of course then be just like any any other issue of that nature will be appended to the LTS branch, but enhancements and new stuff will go forward after that. So that’s that’s sort of the where the engine client kind of parks and waits for waits for the future. The. So that’s the. So that means. And we kind of have that today as well. But up until that point so you’ll you’ll when you run your application you can run engine client you can run titanium client. And that would that will last for. Most of this year. And then we think by the final release of the year will be removing the engine client sources from from our distributions from our. It have repositories and from the core the deployment itself. And then the last one is that if you go beyond the LTS branch of neck of this year sorry then you really are you really are on the fast track to upgrade to to titanium. So much point to you know go to 2022 dot six and then and then like hang out there on on the engine client better to go to the LTS branch if you need more time because the LTS branches are are supported and just patched incrementally with with only absolute necessary changes. So what we’re looking at then is by the end of next year we’ll we’ll sort of sundown the engine client. And the titanium client will be it will be the success for the engine client will go and support. And then I stop you for a second again. So you just announced a titanium client. Then I got a special announcement as well. Everybody that’s coming to serve oil will on tour will get a special titanium gift limited in production and you have to be there. So sign up please see you soon. Thank you. You’re welcome. Thank you. Thank you. I’m a native titanium. Yes sir. Oh wow. Mm hmm. Then Sean, I have a few questions coming in as well. Yeah. There’s a lot of questions actually coming in about titanium of course. I think you clarified most of them already. The first one is. Does that mean that we have three clients including two legacy ones, web client and G and titanium with only support for the titanium client. Yeah. So there are currently two legacy clients that already exist. The classic web client and smart client that I showed in the previous slide. Those are already in in hibernation mode. Right. So so today we don’t do enhancements to the smart client or the web client. All of our clients offerings are the deployment technology on the client side. So there is a lot of shared technology between all our clients. So for example, an improvement on some of our API’s still applied to the classic clients. Right. You still get those even though you’re on the smart client for example. But it’s really the deployment technology itself, the client itself that is considered legacy. So those two, the smart and web are already in hibernation. After 2022.03 release, the NG client goes into hibernation as well. The reason I put the 2023 end of year for the end of support for the NG client is that, you know, it’s based on on technology that is also going end of support. So also is, you know, it will be end of support by then. So it’s, I mean, it’s not like it won’t run, but you know, it’s, it’s, there’s not much we can do in terms of the underlying library. So if you’re on smart and web, I mean, it’s, it’s kind of the same, right? Those, those can potentially run for a very long time. But if you’re, if you’re forward looking, then you know that you should be moving. So it’s, it’s, it’s like that. There’s another question that about is titanium what we called NG2 so far. The answer is yes. And that’s why we’re sort of introducing it now and, and, and the flagship release in the first quarter at the end of the first quarter will be our titanium client where we make it official. But NG2 was kind of codenamed up into this point. Yes. All right. You go already go ahead on the second question for me. Further question is will the same code base run on the titanium client? Yeah. It’s, it’s exactly just like smart client web client and NG clients, they are, they’re all based on the same tooling and the same code base. There will be, and there are differences in the front end code. But most of the, the, the actual Servoy coding that developers do will be totally transparent. It’s, it works the same. And that’s, that’s because Servoy abstracts everything, right? And to, to forms and components. And that allows us to dynamically generate a client and keep the underlying technology up, up to date and evolving. Okay. And last question. And I think you will elaborate on this later is will there be sports for old framework modules in titanium or will there be migration options? I, I think old framework modules might be referring to. Some, I assume like several server security, those kind of modules. Yeah. The ones that are all shipped through anything that’s in our package manager is, is supported or will be supported. Anything that’s, that’s not in our package manager is already not really supported. So if you have something that’s, that’s old. And it, and you don’t find it in the package manager, then it’s not something that’s, that’s officially supported. Okay. I think you will go more into detail about migrating later on the site, correct? Oh, yeah. Then I think we can move on to the next part. We still have questions coming in, but I will interrupt later on. Unless you want to do them right now, of course. No, but feel free to interrupt me. I mean, that’s kind of why I want to keep this webinar high level and focused on what, what our plans are for this year, because I want to. I assume people will have lots of questions and that’s, that’s why we’re doing this. So. Okay. Don’t hold back. Okay. Of course, a big question. When will titanium be fully functional? Yeah, that’s the defined fully functional. And I think that’s, that’s, you know, what we have to do to answer it in. And I can get into that a bit more, but the, the client is already ready in terms of the client technology, but of course, anything you build is made of components. And you have to make sure the components are compatible with, with that version. So, and I’ll get into that and, and we’re going to dive into that with the community as well over the coming, the coming weeks. So, just a bit more about what to expect this year. One thing that we want to do is align all of our extensions, all of these components and services and modules and such with our quarterly release cadence. So today you have, you know, I took for an example of the Tarte S component. You know, it just follows its own versioning. And we do put in dependencies on minimum servoic or versions. But in terms of the naming, it, it doesn’t really line up. And so we’re, we’re really going to align it with the release cadence and, and the version naming. So it will, you know, come the, the next release. All of these components will, will bump up to 2022.3. The reason for that is a few. Number one, I think it’s a lot more clear when we first started the NG client years ago. One of the really nice aspects was that we had this open front and architecture and that meant that customers and professional services employees, servoic and whoever could create components and, and they could update them as they needed. So we were, we, you know, we could fix a bug or add enhancements one of these components and just release it. And, and so we thought let’s go full steam ads, all these components that they’re own versioning. But after we get a lot of them and, and the dependency on the core might become more intricate. So we might enhance the core to support a component, for example. Then it, it really gets a bit messy. And I think that this will make it a lot more clear. It doesn’t mean that we can’t do intermediate releases of components, but it’ll be very clear what, what version they’re on. The other thing is, is that we offer long term support on, on the core. And we should really be doing that on the components as well. And I think that becomes more critical to with, when people choose to move from the NG client to the titanium client. So we’ll be offering the N, the LTS branch as well as soon as we put out the, the servoic core LTS branch will, will be back porting any fixes or things that would normally go into the LTS stream on components on packages themselves. We’ll also get to back port it into their own LTS branches that way customers can, who want to hang back on an LTS branch can really get, you know, stability, but still get some maintenance as well. So I think that’ll be, that’ll be a lot more clear when we do that. And another question. Will there be quick fixes between the quarterly, quarterly releases if problems arise? Yeah, well, we do that anyway, right? In fact, as I, as I go through the release notes here, we call this 2021 dot 12, but it’s actually 2021 dot 12 dot one. So we do quick fixes on the core as well as needed. And we, we can do the same for components. And in fact, the components generally don’t have special dependencies on the core. But we will do a quarterly release at least of these components to make sure that everything stays compatible. So this is more, this doesn’t mean that we’ll necessarily won’t, won’t do quick fixes, but just that it’ll be very clear how the component components, the component versions line up with the core, because today it’s, it’s not that clear. All right, thank you. Yeah. I thought I would add this because I, I didn’t realize that there are still a few folks out there that are using the classic server. If you don’t know what I’m talking about, then don’t worry about it. But this is the, this is the, Tomcat that ships with the Servoy installation. So every Servoy installation actually has a Tomcat instance in it. And, and when you go into your installation directory and you see application server directory underneath that, that that is the Tomcat directory. And it’s there is where we put all of the dependencies, the actual libraries for, for the platform or some of them. And after the 2022 to three branch, we will deprecate that. It will be in the LTS. So it’s not like you won’t have it anymore if you’re, definitely people that are on the classic server are usually a few versions behind anyway, but I did learn that there are some that stay up to date, but they still run the classic server. So ideally you should go to war deployment as soon as possible. You can’t do ng client without, or the titanium client without war deployment. But just so you know, we will be deprecating that. And, and only supporting it in the LTS branch. There will be a slight impact for developers because there is still a place where you stick things like drivers and Java libraries and plugins and stuff and that will move under under the developer folder. But this will make the installation a lot more lightweight as well going for it. So it would be nice to sort of shed some of this. We’re looking to shed some of the baggage, you know, of over the years to be able to do things to be cleaner and faster. And this is one of those items. In terms of what else is going to go on this year, we recognize that this is a big change. And so we are currently putting together a migration guide. Our own professional services employees have been working with a lot of our customers on migrating already. In theory, you just launch the, you just launched the client and it will run. But in practice, of course, you have to have. Make sure using components that are all compatible. There may be some CSS differences. If you run legacy table view or list view forms, those have to be migrated. So for every project, there will be nuance. And so what we’re doing is we’re learning ourselves as we help customers that we work directly with to migrate. And we’re compiling that knowledge into a guide and we’re going to publish a migration guide to help, help folks make the jump. And we could also put together some workshops as well. So we could do like a boot camp to get people, you know, individual help. So both of those, we like to be doing in pretty short order. So probably by the end of this quarter, we should be publishing the guide and scheduling those workshops. So anyone who’s interested can get some help. Of course, there’s also the open architecture of the engine client, allow people to build their own components, which means that they’re on the hook for making sure those components are compatible to move forward. So we will also be making an advanced guide or doing a workshop. I don’t know what’s the best format because it tends to be that the much smaller audience that actually make custom components. So it might be easier to do something like a workshop than publishing a guide and maintaining that. But in any event, we’re migrating our own components. So again, we’re documenting the process and we’re going to, we’re going to share that with the community to help not only migrate components that could be custom components, but, you know, also looking past the idea of migration, just that the future of this client is built really on much newer technology and there’s a lot there to take advantage of. I know our own R&D team likes it a lot more. One of the things being TypeScript, right? There’s a lot more you can do with TypeScript like inheritance. So it will be interesting to also collaborate on, you know, how to how to make the next generation of components and make really nice applications. So I think that’ll probably come a little bit later in Q2. But again, this is all things that I think are pretty high on our agenda for this year, because it doesn’t make much sense to really push forward new features and things like that if people can’t get to them. So this is where we’re focusing. A few more questions going on about this TypeScript. Yeah, yeah. TypeScript in titanium instead of JavaScript, is that correct? Yes. Okay, there we go. Yeah, yeah, the, yeah, the, sorry if that’s kind of glossing over it and I didn’t want to get real technical about this. Again, for those that are going to build components, I think it’ll, it’ll make sense. But the engine client was based on an Angular, JS and the, it’s titanium client being based on Angular, which supports TypeScript. So that’s the, that’s the language for the underlying component development. It doesn’t affect the language used program day to day, sort of,oy stuff. All right. I got a question about the previous slide. What will be used instead of Tomcat? Okay, so, yeah, let me go back back to the slide up. I, it’s still, well for most people still Tomcat, you can use other Java containers like JBOS or something. I don’t, I don’t really see that. It’s just that we don’t ship the bundle Tomcat anymore. So, so to, and I don’t want to get to into this because there’s a whole, there’s documentation and webinars about how to do war deployment, but basically you install Tomcat stand alone. And then you export a war file from Servoy and drop it into your Tomcat and then it’s life. So it’s just that we don’t ship that the bundle Tomcat anymore. Right. I hope that that clears things up. Last one. Will it titanium client have NG desktop clients for file access, etc. Yes. I think it will be called the titanium desktop clients or no. That’s a great idea. I like that. I think there was your idea. No, no, no. Yeah, it came from mobile, right. So I said at the beginning that hybrid apps were seeing a real interest in that and a demand for that and, that will, I think, only grow. There is some work to do to make those deployment technologies which are currently based on the NG client to make those working in, in the next generation. So I think particularly with what we use for mobile. So we’re looking into that right now. And yeah, it’s absolutely a must have. So the answer, short answer is yes. Right. Thank you very much. Carry on. Okay. So where were we? We were here. Yeah, also looking ahead in 2022. Just like a high level of where we want to focus our energy as a company is really back on developer experience. I think we’ve received criticism over the years around documentation. And I think that’s fair. And so I really think that it’s important that the product has become a lot more complex since the NG client and we went pretty fast with. And hands enhancement, especially in the early years of the NG client. And as a result, I think, you know, our documentation is, is scattered. It’s difficult for people to, I think, assemble a comprehensive understanding of, you know, how to, how to go from, you know, start to finish. So what we’re looking at is really consolidating that experience of how you find things out and how you, you know, know what’s supported and what, you know, just, you know, the number of GitHub repositories for. I think those systems are important95-and Ethereum, that’s interesting. Implementing sites, really important for us to focus on. The other thing is more practical guides. There’s a lot of technical documentation. So we don’t like not document API’s and stuff, but API’s don’t really tell you how to build an application, or how to solve a problem. So I think more focus around practical guides and developer journeys is where we’d like to focus as well. The other thing that I found interesting is we get some feedback about first use experience. We know the first use experience of Servoyis difficult. It’s a complex product. And IDE is a hard thing to plop someone down in and really guide them. And what I found interesting is we get that feedback from not just new people, but long time customers that have a challenge onboarding new employees or starting new projects and bring someone on the team, et cetera. And we’re aware of this. And this is a challenge, I think, to make the first use experience simpler. But we are focusing on that this year as well. We want to do more tech demos. I love to do tech demos. They’re challenging to get time to do everything. I think we can crowdsource this better and plant better. And so that’s another area how to deliver just sort of sharing, training, learning in the community. For me, that’s a big focus for the year. Also, we want to focus on developer experience. But again, you all build business applications with a focus on your users. And I think the NG client brought us that UX freedom, the ability to go outside or really can kind of UI. And I see that only improving. And we will be focusing on that as well. As I said, the underlying technology for the titanium client is much more advanced than what we have with the NG client. And I think we’ll take some time because we’re transitioning. But we really want to deliver best and class UI components. We want to invest more in. We know grids are important to people. I think we have a great grid component. But the demands of a grid are really high and really various from application application. And we introduced a smart document editor. There’s a lot more coming on that. And I think we’ll see more components like that that are really, really rich and sophisticated. And of course, not everything is a component when it comes to UX. We have some templates and UX patterns that we’ve put together. Like the pop-up filter, for example, is not a single component. It’s like a composative components that works in concert with an API. Those are, again, pretty sophisticated UX patterns to build. But we really have the tools to do it. And we have the community that needs it. So it’s an area where we’d really like to focus as well. Of course, a Servoy cloud. We have ambitions there. We think that we believe that the cloud is going to become more and more important to our offering and our mission. Our mission has always been to empower ISVs with the best tooling. And we see DevOps is a part of that whole picture. And so we want to have zero touch DevOps to let you guys focus on applications and your users. Today, the Servoy cloud delivery pipeline, I think has really robust tooling in terms of automation, test automation, build deployment. But at the same time, it was launched, I think, with the tooling first. It had to be there. But the focus on the UX for the Cloud Control Center itself, I think, was not leading. And I think we can do better. Today, the Servoy cloud experience is not fully self-service. So it’s kind of like a managed service with some tooling. And we want to flip that around. We want it to be self-service. We want people to feel empowered, not dependent on us. And we want to scale it. We also, I think, learned a lot about test automation. It’s pretty challenging. The part that I think works well in Servoy cloud is the automation piece itself. The fact that you can just make a revision committed and then tests are going to run. And if they pass the build will deploy to the next server. And if they fail, you get a report. And it doesn’t deploy. That is all really nice. However, building and maintaining test themselves is, I think, a bottleneck. And we think that we can still meet that demand. But we have to meet it in a more creative way in a way that allows the best tools to integrate with Servoy cloud. So that’s an area where we’re investigating. And I think it has to align better with the Servoy developer itself that DevOps can’t be in isolation from what you do in the IDE and what you do day to day. It has to be more tightly integrated or aligned. And so that’s another area where we are exploring how to improve the cloud offering by bringing it closer to where the developers are. I do want to do some tech demos because, well, this is a release webinar. And I’ll go through the release notes quickly as well. There are a lot of goodies in every release, not just in the core, but we try to update all of the packages with each release. And of course, we’re going to standardize on that in the coming release. As I said, we’ll move everything to the quarterly cadence. And some areas that I’d like to demo pretty quickly, we made an enhancement on the pop-up filter component. Again, this is one of those composite. It’s not really even a component. It’s a composite kind of UX pattern. And we find that this is one area where it just keeps getting enhanced and enhanced and enhanced. Like it’s a nice tool. And people are using it. And they’re submitting feature requests. And it’s getting more sophisticated. So I’ll show just one small feature that we added to that. But again, it’s just always getting better and better. We had the file uploader component. We had a request to support chunk size. And that was sponsored by Steve. I’ll keep it anonymous just in case. But Steve is a very active member of the Servoy community. He always stays up on the latest stuff and tries out stuff. He gives a lot of feedback. He gives us feedback in this very webinar. So thanks to Steve. I just want to shout out because he did sponsor this feature. We looked it and said, yeah, we’re not sure. This is a lot of work. And we don’t know if folks will use it. But we can get it in the product. And so we did. And I’ll just show the file uploader real quick to make sure that you guys are aware of it. And just that we build this platform for you guys. And we want your input and we value it when you guys make a feature request. And then I want to show you the mobile nav template that we added to the SUI navigation UX template. So again, this is where it’s kind of like UX patterns and templates and ways to do things, but not a strict component. The one that I really wanted to show is the enhancements for Smart Talk editor. I took a look at that probably too late for this webinar that there are so many goodies in there that I just want to do that in its own webinar. So if you guys are OK with that, I would like to sort of put that out there in a few weeks and invite everyone back. And we’ll just do a pure tech jump into that component itself and what was added to it. Because again, it’s one of those things that’s fairly sophisticated and there’s a lot there. So sorry that it’s not in this one, but I think we would go pretty long if it was anyway. Let me just jump in real quick. I’m going to- Before you jump in, Sean, maybe a reminder to share a poll that you wanted to do among the APIs? Oh, man. Thank you. I totally forgot. That’s good. I didn’t share the poll right away because no one would know what I was talking about. I’m launching the poll now. Do you see it? I see it. I hope everyone does. If you don’t, please let me know. It’s on the screen right now. So people will be busy with this for a second, I think. OK. Yeah, please. We appreciate your feedback always. So please fill that out and be honest. OK, I got to share my IDE and move all my Zoom crap out of the way. Is this going to see my IDE? Yes. OK. I want to start with the pop-up filter. And in fact, I don’t really need to share the IDE because I was going to show it running in the client. So now I’m going to launch it, and then I’ll have to re-share my browser. Just do share screen. And that way you get everything. OK. You can see my browser. Yes. Cool. Simple solution. Yeah, this is the standard sample solution that you can download from the package manager. We try to, for most things, we try to sort of pack them in here so that we have not only a way to test them and demonstrate them, but then people can download it and see how it’s used. Not that, I mean, I stuck this in and build it on top, not that we’ll ship everything I show in the sample, but it’s a good place to start. Yeah, so let’s go to the orders list. So this is a small thing, but just easy to demo, so I thought it’s thrown in there. So as you guys probably know, we have the pop of filter component and API, which allows you to filter on things that are connected to a grid. And we added support for dates, date filters, which are now empty. So you can do an empty date, and then you’ll see that, let me see. Maybe there are no empty dates. Oh, ship date. Yeah, there’s all, let’s try that. There we go. So any, so just a nice thing, if you want to know, I want to filter on orders that don’t have a ship date, you can do that and add that to your filter. The other thing that I wanted to point out that is an enhancement to this is if you filter on a date and you select one of the named dates, like today, last week, et cetera. Before what this did under the hood, you see if I pick last week, it picks start and end for you. And then when you save it, it filters it. And then in this case, it’s persistent. So when I come back in, it remembers it. But what it remembers is the start of the end date. And so if I do this on a Friday and then I open the application on a Monday, then it’s still going to show the wrong week. I want to move up a week. So this now does it dynamically applies it and determines it dynamically. And that works on all of these little named filters here. So that’s just a couple goodies that are in the pop-up component. We were going to do the file uploader. Yeah, this is the one that Steve had sponsored. I just think this is a pretty neat component. And I wanted to show you the way this works. So we support a chunk size now. This is to get past some proxies or limitations somewhere on the network where you can’t, if you’re uploading a really large file, I think the default chunk size is unlimited or something. And it may be rejected somewhere on your network. So this allows you to specify a chunk size to get past the proxy or something like that. And the way this works, we jump into developer here and open up the upload form. I just plop this component on the upload form. So this is the multi-file upload. So I dragged this on the form and set it. And if you have an, we did a webinar on this a while back. So I won’t go into the component itself. But this is based on an underlying library called UPI. And it has this, these tests or two options. I don’t know how you say it, the test plugin for it for UPI. You can just go and plug those in. And so I set the chunk size to be five, which I think is five bytes. And then if you grab a file, I just grab a file here. And then if I upload it, you’ll see that the progress goes really slow. Because it’s going to try to chunk it in those little, so it will slow it down. You can see upload. This is like a 333 kilobyte file. And it’s going really slow. It’s because I put a ridiculous chunk size in. But then if you go in and remove that chunk size, and then get back here, it should go much faster. I can even pick the servoion installer. That’s really big. But then it goes real fast. So that’s just a small demo on one small thing added. But I wanted to thank the sponsor for that feature. And just kind of remind everyone about this one component. Because I think it’s pretty slick. You can add more files and manage how the progress is shown. And there’s callbacks for all the events and really pretty sophisticated component. The next thing I want to show is probably a bit more applicable to everyone, which is the mobile template. So this sample, if you haven’t played with it, or seen it before, is actually built on top of a navigation framework. So what shows in the menu here, and allows you to click and go through everything, that’s a framework or a module that you actually template that you can extend and customize. And we realized that we were starting mobile projects after mobile projects. And we didn’t have a coherence navigation framework for mobile. It’s a bit different. So we added to the SEY navigation. So in the package manager, you get under modules. You get the navigation. And then that’s pure API. And this is the UX template. So we added to the UX template support for mobile. And then here’s a sample, which is based on that. And really, all you have to do is, if you look at the, let me launch it real quick. Yeah, I think I’m, no, I didn’t activate it. Sorry. I hope you can pull mobile. Yeah, so this one is set from mobile. I mean, these forms themselves are also designed for mobile. If I go into the inspector and show it, I can immobile to you here, like an iPhone. So you can see that the navigation menu is collapsed up here. And the mobile version of this. And then you can see that the menu items go in the dropdown here. And you can navigate around that way, for example. So again, I don’t want to get too much into it. It’s really just the module that supports the navigation, kind of UX setup and then everything, all the forms and stuff are your own forms. So it’s just really a skeleton. But again, we saw such an uptick in hybrid mobile applications that we needed to kind of come with something that they can serve the common purpose there. So that’s available in the navigation UX module. And also, we will be publishing this mobile sample as well so you get the implementation. We should be ready in a few days. We were just tying up loose ends on it. OK. And I think that it, again, the big demo will wait. We’re already at one hour anyway. A couple more release notes. I just want to go over to make sure there’s no questions. And then we’ll get it out of here. You got it. Victor, is my presentation visible again? Yes. OK. And thought me if there’s any questions, because I just want to go through these quick and then see if there’s questions or anything. Again, we do more than 100 fixes and enhancements on the core, not even counting extensions. We updated most of our extension packages. And a lot of stack updates in this release, updating Java and Node.js and developer. And log for J, everyone remembers that, right? Of course. So we’re keeping a stack up to date. One thing to note here is Excel. Yes. So we updated Angular.js to be on the Excel as version so that the support continues, because that library went end of support. So now we have a special support contract. And that’s in the latest release and also in the latest health.js. So one thing that’s worth pointing out is that the form designer, as I said, for the titanium client that’s based on Angular, is already available. I’ll show that real quick here. If you go to Preferences and down here. So you can see down here, StartNG client should launch ng2. Again, ng2 is the informal name for the titanium client. If you take this one and apply, or close, then if we launch one of these forms, this will open up in the titanium client. The Angular-based editor. And this I’ve noticed already is a lot happier. But this is kind of required to render those sources. What we do right now is if there’s ng client sources, we render those instead. But this will be required when, eventually, we remove the ng client sources from these packages. And we have to run the next sources. But you can turn this on in your preferences in your testing and preparations to go to titanium. And what I was saying about it becoming that the default is in the next release, this is going to be, or the LTF, the next release, this will be checked by default. And so you’ll come in and uncheck it if you’re having problems and you’re still on ng client. Oh, I’m sorry. That was what I thought that didn’t look right. I ticked the launch ng by default. Let me open up the form again. Let me just double-check that. Yeah. I’ll do both of those. Apply and close. Sorry for that. So that’s the ng client. So I clicked launch. And it launches this in the titanium client. And the only way you can notice the difference is the solution here for the ng client, it’s a solution. But everything else should look the same if all components of stuff are compatible. And then for the form, try this again. So this is the form editor that’s based on Angular. So just want to make you guys aware that you can switch those on now and start testing and make the titanium client the default launch. Yeah, we did some things to resolve web package collisions. You may notice that you get warnings or errors if you have multiple of the same package installed. Now what we do is we auto-resolve it if you have a package project like you run from source. And then I’m not sure everyone runs into that. But it can be annoying if you’re running anything from source. We increase the performance and developer, especially for starting large solutions. And then also in the form editor, when it’s rendering a form that has complex UI inheritance. So we did some performance increases there. We added also when you do the code profiler to support to measure query time. Both the total query time and the query that we’re just used by a particular method. And so if you turn on the code profiler and insert a way developer, you can do that. I think that’s really nice because when you’re profiling and troubleshooting a lot of times, the bottleneck is related to either too a long query or too many queries. And it’s really nice to see when those get generated in your code execution. So that’s good for diagnostics. This is a nice one. The next one is related to planning and working on titanium components. It is more of an advanced feature. But if you come into, and I’ll show this, if you come into your application and you go to packages and you say create component package projects, you start a new project from source, then the, oh, I already had one there. I could have just showed you that. If you look to all of the stubs for the titanium stuff, you can still name then G2 in this one. That’ll be changing. All of that is, and the TypeScript files, all of those stubs are created. So we’ll get into this when we talk about the advanced component builder’s guide. And we start to document and help you guys with this. But it’s already there waiting. It’s just a matter of communicating the rest of it. So that’s kind of a placeholder there. A couple updates to the scripting APIs. This one, I think, is actually pretty nice. If you ever struggle with a file that you just stick in your media folder, and then you actually just want to open it in another tab or reference it somehow from the client perspective. Now, get media URL. We’ll actually return for that file. We’ll return a URL that’s usable from the client. So it’ll be like relative to the application context. So that’s a pretty handy one. Another one, this came up. We had a customer that was using the scheduler plug-in quite heavily. And they were just using it to delay something like a little bit, like half a second or whatever. And so we added application execute later for doing delay stuff. It’s a lot simpler than using the scheduler plug-in, which is really meant for more like async stuff and crontimings. So this one’s a lot lighter implementation for that. This next one I really like, if you are using in-memory data sources in your application, we have an event now to provide a chunk or callback for loading more data. I think it’s totally critical to have this for, especially like if you connect to a web service, and you want to expose that web services in-memory data source, but you have to paginate the data in from the web service in your calls or something. Then this is actually provides an event when the found set needs more data. And then it’ll call your event handler, and then you can go out and return the next chunk of records. And it’ll provide the hint for how many. Yeah, this one’s a small one, but causing people problems to create builder now supports functions in the where clause when you’re using like. So the reason for this is there are some characters that don’t, I think we were just defaulting to upper, but we would do it in the client side. So now you can really have the database do it, and it’ll match properly. It’s a small thing, but it’s a general improvement, because now you can put functions in with a like operator anywhere. The next ones are kind of like, so we’ve always had design time properties on components, on the default components and the legacy components. But now any components can have, automatically have these design time properties. These are really nice for doing your own framework things, like you may want to add these design time properties to certain components, and then in your code later, evaluate if it’s got this property. For, I don’t know what. So that’s nice because it’s now available everywhere for all components. And similarly, we added, show you what this looks like, any persistent object in, in, sort of way now can have a comment. So you can see, like that label has it, the form itself has it, relation to have a value list of it. And for now, it’s just more for like internal documentation, but it could be exposed through solution model, so you could use it also for some interesting things if you want to get something about a, you know, relations that have a certain comment, something like that. So it’s more for like making your own framework type stuff. And this one, I think, is important for anyone who’s working with a multi-node deployment, the client manager plugin, which has a really nice broadcaster feature, which allows you to send messages between clients in code. That now works across nodes. So if you have two or more nodes and you call from one of them, plugins client manager, you know, broadcast message, it will send it to all clients of all nodes. We hook up to the Rabbit MQ settings for that and we’ll push that out. And so I think that’s really important for folks that run at scale. Okay, so that does it for the demos and the release notes. I want to thank you guys for sticking with me as we go over the hour a little bit. And I really appreciate all the questions. I hope that it provides some clarity. And we will be communicating with the guys about Servoy World on tour and about the upcoming flagship release, which will be providing a lot more material around the titanium client and how to get there. Victor, is there any lingering questions about the release nodes? And do we want to look at that poll? I think everyone is interested in the poll. Okay, a few questions that we have first. They are still coming in by the way, which is always great. A few more questions about TypeScript and of course, it’s a big deal. Can we use the TypeScript everywhere? Are we required to use TypeScript or what is the deal with it? Okay, so I don’t want to open up the can of worms here, but there are questions about the flavor of JavaScript that Servoy uses in the general tooling and the future of that. And that’s the can of worms I don’t want to open up right here, although it is something we’re looking at. The TypeScript that I talked about is the, if you build or enhance components, web components already, the language for that now moves to TypeScript. But for normal, like when you write a method in Servoy and your scopes or your forms, et cetera, none of that has changed. And that said, we are aware that there are certain people that would like to move to a more powerful or modern flavor of JavaScript like TypeScript to use all the goodies that are available. That also makes the product more complex for some developers as well. So for us, this is always a tension. And I think we even, we took a poll at Servoy World 2019, the last one and I can remember the room was like split 50, 50. So we know that it’s a sticky one. All right. I think it’s a great answer. Another one I’ve got was how do we check if our components are the team compatible? And also when can you check? Yes. So if they are, honestly, you made yourself, it’s probably not compatible. But if you’re getting them off the package manager, almost everything is compatible. I went through and made a list of some things that are not. And unfortunately, the package manager can’t really discern that because you could be on the latest version of Servoy that’s still running the NG client. So it doesn’t prohibit you from installing those. And I don’t think it’s worth investing too much time to flag those because pretty soon everything will be compatible. Some examples of ones that are not yet compatible include like the full calendar. Because that one is tricky because we really have to change the underlying library. So it’s not, it’s a pretty big refactor and that’s a pretty complex component. So we’re working on that one. Others that include jQuery. We have to do something different for those. I don’t have a list on hand, but that’s a pretty fair question. Safe to say that the standard issue ones that you find in the package manager, the Servoy extra components, boost draft components, boost draft extra components, excuse me, chart.js, most of those are already compatible. And yeah, we should probably be communicating, I think ones that are still in progress. But I can’t really do that through the package manager so easily. So I’ll take that as a good feedback that we probably need to make that really crystal clear. And that will be in our guide that we’ll be coming out. But also, hopefully those will also be compatible pretty soon as well. All right. Final question regarding the release notes. Will there be any changes or are there any changes planned for the Servoy admin page? Maybe what I’m not quite sure. An example that I got. There’s an example. Yeah. For the database server panel, like filtering or long running queries, something like that. I don’t know if there’s anything planned, but if you want to point us to our case or file a case, and support.servoy.com will take a look, a feature request or an issue. But nothing is currently planned for that. I don’t know if that level of detail. Okay. It could be referring to a case that was already filed and hasn’t been responded to or something like that. Rob Bubly. I want to leave it there for the questions. I think we’re well over time. And if that’s all, thank you a lot Sean for the demos. My final thing I wanted to say is plug our Servoy world on tour, of course. Sign up now you get a titanium gift. Evo promised. The registration link is in the chat here. It’s Servoy.square.site book now for your ideal location and I hope to see everyone there. But we didn’t do the poll, Victor. We did do the poll. We did do the poll. Not the results maybe. The results. Well, the one that I like is that at least 21% say they’ll buy me a beer at the Servoy. Hey, that’s a lot of beer. I’ll take it. I cannot see the results. So if you could. Okay. And then it’s pretty much as we expected that most of you have either tried the titanium client in developer or you’re still waiting for something specific. So 45% of people say they’re still waiting for help basically or something specific. They’re blocked one way or the other. And that’s we’re aware of that kind of sentiment. And that’s why we want to push pretty hard on this in the next quarter. And then there are about a fifth of you that that actually still runs smart and classic web. So they would also need some help as well. That doesn’t surprise me. That we, that’s part of our mission is to keep people and keep their applications running for a long time. So that’s the double edge of that. So and then regarding the smart doc editor, it looks like about 14% are using it in their applications and the overwhelming majority plan to plan to take a look at it. And so we will be doing a webinar on the web. We’re doing a webinar on that component because it had so many goodies I couldn’t fit it. So we’ll reach out to you about that as well. End of the, end of the poll. All right. I’m glad we still got that in. It’s always nice to see those results. So thanks everyone for attending. Thanks everyone for voting on our poll. I hope I’ll see everyone at the next webinar. And otherwise always at the server world on tour. I have a nice day everyone. Thanks, Sean. Thanks Victor. I’ll see you on. Thank you. Bye.