Taron Foxworth: Hello, hello. It is now 1:02 PM. And welcome to the Losant Deeper Dive Webinar Series. Just to check in on things, Dylan, can you hear me okay?
Dylan Schuster: I hear you right. Can you hear me?
Taron: Yep. Awesome. Sweet. Yeah, I'm able to hear you. The Deeper Dive Series was designed to provide an in-depth overview of some of Losant's functionality. The goal is to give you all the tools and support you need while building in Losant. In this case, if you're looking to learn more about experiences and how to utilize them, this webinar is for you. If you're new and looking for an overview or a demo of Losant, feel free to reach out and we'll be happy to help you get that started. Speaking today, my name is Taron Foxworth. I also go by Fox. I'm the education leader at Losant. I work on things like our educational material and Losant University. And I will be functioning as your emcee for today's webinar. Speaking is Dylan. Dylan is our lead UX engineer. And he is the main presenter today to take us to the world of experiences. And last but not least, one of the benefits of the Deeper Dive Series is that you get access to our in-house experts. Brandon, he's really focused on the vision of our platform as our chief product officer. And he will be joining us for some Q&A at the end. And speaking of questions, Zoom has a really awesome Q&A feature at the bottom of the webinar window. Throughout the webinar, I'll be gathering your questions to get them to Brandon and Dylan so we can answer at the end. So, feel free to start throwing them whenever you have them. One thing to also keep in mind is that we will be recording this webinar for you. The benefit is that if someone on your team or colleague couldn't make it, you will be able to share that with them. And we'll have that replay available for you after the webinar. If you're new to Losant or just as a refresher, Losant is an application enablement platform designed for IoT. I really love those words, application enablement platform, because we give you the tools to create your own IoT products that you can then go and add value or sell to your customers. We divide our platform into components. We like to call these your building blocks. The building blocks support you all the way from the edge to bringing in additional data sources or tracking your devices within Losant, putting that information on the dashboard, reacting to it as it's coming in using our visual workflow engine. And last, but certainly not least, to help you build that custom-branded application for your customers. And that's where end-user experiences come in and the main focus of today's webinar. Losant is a leader in the smart environment and industrial spaces. Our tools are... We offer a wide variety of tools for our customers. And we have a wide variety of customers, all the way from startups to the Fortune 100 customers. And I think what's nice is that we get to take all of those learnings and expertise we have in the industry and put that in the platform and deliver that to you to add value to your applications. Now, Losant is just software. And what that means is that there are other parts of IoT stack in the IoT ecosystem in general. But IoT requires sensors, gateways, connectivities. Our technology partners are there to help fill that gap. Our solution partners are there to help you develop your own applications using Losant. And lastly, we have our strategic partners where we have a close relationship with these companies and share go-to-market and sell strategies. I highly recommend checking out our partner page to see if our partners can help you fill some of the gaps you need within your application. Now, on to the main event. Today, we're going to be talking about building an application within experiences. Now, I'm going to hand it over to Dylan Schuster. And he's going to take you through the main part of the content. I'm sure you're going to love it.
Dylan: Thank you very much, Fox. If you just want to throw the screen over to me and I'll pick it up from there. Once again, I'm Dylan Schuster, the lead UX engineer here at Losant. Let me just get my screen share going on here. We're going to talk about today that Fox touched on is building application experiences. Let's see. Here we go. Now, this is a topic... Fox, do you see my screen okay? Just want to check-in.
Taron: Yeah. So, before I hop in and answer some questions. Dylan, are you able to see my screen? Everything look good?
Dylan: I got it.
Dylan: It is possible to some degree. Now, there is not an interface within Losant itself to drop in some CSS and apply it to my dashboard. However, when rendering an experience page, the dashboard is rendered into the scope of the rest of the web page. So, if you're a web developer and you know how to use your browser's inspector tool to really dive in and find the right CSS selector, and I've seen a number of including our internal solutions team do this, you can write some style rules that will, for example, change the title bar background color for each of your dashboard blocks to a different color or change its font or change the background of the page, the background of the blocks. I'm trying to be very careful here about recommending that approach because yes, it works but we don't guarantee that those selectors will not change over time. It's not like a public API that we will do our best to announce breaking changes to those things before they come. But you make those CSS changes at your own peril. Now, it hasn't been an issue yet. I don't expect it to be an issue, just to be clear. But however, it is a possibility that something would change on the Losant side that would not necessarily play nicely with the CSS changes you have made in your dashboard.
Taron: The last question I have for you, and then I have a couple for Brandon. Is it possible to restart building experiences? So, if I already started and I want to start from where you are, what's the best way to do that? I was thinking templates may be the best thing, but I was wondering if you had any other recommendations?
Dylan: So, if I understand the question is if you have an application experience built but you want to blow it away and start from scratch, is that correct?
Dylan: Okay. I touched on this at the very, very end there. And maybe I already answered this question. But using experience versions would be the best way to do that. So, what I would do is you don't want to lose all that work. So, at the very least, take wherever you're leaving off, create a version. You don't have to point a domain or anything to it, but you at least have it for posterity. So, you can go back and get it later if you need to. Create a version, drop that off somewhere. And then inside of the develop version of your application experience, you can do whatever you want. You can delete all the files. You can extend the current ones. You can change the CSS, whatever it is you want to do. But experience versions are certainly the answer to that. And we are pretty aggressive when it comes to making sure that you are versioning your experience before making any kind of destructive changes, such as copying a previously published version back to develop so that you can edit that. You'll actually get a modal in between that says, "Hey, before you do this, do you want to take what's currently undeveloped and publish it to a new version?" So, I think that is certainly the way I would go, to answer that. Oh, and then one other thing I guess I could also mention. It depends on what... Starting with the bootstrap version that we had before. There's only a handful resources. I can go through and delete them very quickly. But there is under the application info section, where you would edit your application name and things like that, there's a place where you can bulk delete a number of resources included in there being application resources. You can go through that list, check all the boxes of the ones you want to delete. And then, in fact, that's how I did it for preparing for this webinar. I cloned the application. I went into the new cloned application, and I deleted all those resources in that.
Taron: Yeah, that will also work as well. The next question I have is for Brandon. So, Brandon, is it possible to log details about the experience user, details like their access level and like the timestamp of their actions within my application?
Brandon Cannaday: Yeah, yeah. That's a really good question. So, the place to do that would be in the workflows that are handling all of those user actions. So, like Dylan showed when the user is requesting the overview or the device details, endpoint, in workflow handles. In those workflows, it was just gathering a list of devices to display. However, if that workflow was handling an action, so something like maybe change the device name through post, it's not unusual to then log that activity. And I would probably recommend a data table. You have to be careful. Data tables do have limits. So, want to be careful on what you log and how often you log data tables. If you just continuously log forever, they will grow and grow and eventually hit that limit. So, you might want to combine that with some kind of daily or weekly workflow on a timer that goes back and maybe deletes those old log entries that maybe aren't relevant anymore, maybe they're 90 days old, 180 days old, or whatever. But yeah, just to kind of recap that succinctly, I would recommend adding a entry to a data table in every workflow where that login is critical for you.
Taron: I would agree. I think that's a great solution. The last question, I think this is the last one. Then, we'll wrap up after this. And this for you, Brandon. I think where do you see the future of experiences going? We have a wide variety and some really good toolsets now. But what does the future look like?
Brandon: Yeah. So, what experiences are today is really a foundation on which really any kind of web interface either an API or a web page can be built. And the reason we do webinars like this and are producing a lot of training material is because the platform is so flexible on the types of applications being built, the tools can be a little bit too powerful at times. And with that amount of flexibility comes some complexity. So, as we move forward, we've laid down this really nice groundwork, this foundation on which we can build upon. We're going to start layering on, kind of I named it or I stole the term from the internet, called syntactic sugar, so we can layer on more high productivity features on top of this foundation we've already created. And you'll likely see that materialize first with a catalog lot of pre-built components. So, as Dylan showed, he built up a device list from scratch. That's a really common visual component we see in a lot of applications. That's something we can just provide for you. So, instead of having to build it from scratch every time, you can take a pre-existing implementation and just tweak it to your needs. So, you saw that with our application templates that we released a few months ago. And now, we're going to start offering up kind of pre-existing bundles of functionality. That way, you don't have to start from scratch over and over again. So, I think that's going to really boost productivity for those areas where we find a lot of people doing very similar things like, "I need a form. I need a device list," or whatever it might be. We're collecting that information now, so we can kind of deliver those reusable things right back to you.
Taron: Thank you so much, Brandon. To all of our wonderful people who stuck around in the audience, as I mentioned, these questions we'll post them in the Losant forums here after the webinar. But I really want to appreciate you taking the time with us today. I hope it was very insightful. We would love your feedback. Let us know what you think overall in the Losant forums or reach out in our contact form to begin a discussion. Until next time, stay connected.