Are you looking to improve your team’s ability to prototype technology solutions quickly? Learn how implementing the new developer tools can transform your business. This on-demand webinar provides a couple examples on leveraging low-code and Generative AI to prove new business solutions.
Webinar Transcript:
Hello and welcome to how to use the powerful new tools of software developers in your business. I’m Nathan Stuller with Unstoppable Software and we help visionary manufacturing managers increase production, drastically reduce time to delivery, and eliminate paperwork by modernizing old systems and empowering data driven decisions through custom design software. Today, we’re going to be talking about those new tools that software developers are using to make them extremely efficient. And I want to show you how to do some of the very basic use cases of those.
What are the tools? The tools are low code, sometimes also code called no code or citizen development and generative AI like chat GPT or Bard. And I want to take you back about 10 years ago. 10 years ago, we had artificial intelligence. We had some sorts of low code development environments, but they weren’t like they were today. We had things like Excel or Microsoft Access, even Microsoft Front Page, and they help anyone to develop a process or an application to help their business. There were examples of front page creating a website for you, Access had a database, Excel, you could put formulas and you could have a whole slew of calculations in there. They were great for prototyping. A lot of times, maybe a subject matter expert or an engineer would have an idea for how to optimize something and their business process. And with tools like that they could generate that idea and put it out and actually have a solution in their business that could start to be used. Very powerful. So artificial intelligence was around 10 years ago, I would say, but it wasn’t what it is today and it wasn’t as popular and it wasn’t as easy to use.
Along with this great power of these new tools there are some struggles and limitations with low code where basically you can drag and drop pieces onto a page you can build an application. In some ways, they are more powerful than Excel, but even Excel still exists, or Google Sheets or smart sheets. There can be some issues with it. So if you can imagine you have the prototype and you’re running some of your business on it, and maybe it’s just for that one initial engineer. They start running that they have solutions in place, but as things start to scale, it becomes a problem. They add more users and it doesn’t know how to incorporate those users or maybe there’s too much data. There’s limitations on it. Maybe it’s a free low code environment that has issues once it gets to a certain level. We’ve seen that with Microsoft Access for example. The other issue is that it doesn’t have anything custom. Once you get to the point of your business that is your special ingredient, something that only applies to your business and doesn’t apply to the 1000s of other businesses. Well, then that’s an issue and now you’ve kind of outgrown that low code system.
You can imagine the low code frameworks they only build things that they think apply to more than one or more than a dozen different customers. So they’re not going to have everything that you can imagine. That’s where some of the custom options might need to come into play. And then versioning… How do you have a solution that you’re running in your business and then also make changes to be able to test those changes before going to production with those? You can imagine if you are dragging and dropping those new features into your application. When does that go live? When is that just something you’re playing around with? There can be issues with that. And with generative AI. It can be extremely useful, it can get a nice general solution to what you’re looking for, real quickly, but it’s not always very accurate. It might not even be true.
Something I’m thinking about is we could use generative AI to actually give us the source code for a new application or a new prototype. When asking for that source code, it’ll get you really close. It might not even be compilable it might not be valid machine instruction to do anything, but it’s something you could look at and a developer may be able to clean that up and get you most of the way there.
It’s also not precise. It’s trained on a large language model. So basically all of the text on the internet is what it uses to predict what would be a good answer to the prompts that you give it. It’s not precise in the sense that it doesn’t know your company’s business. It doesn’t know the industry or the jargon that you use. In the case of developing source code from it, it may not know the language that you’re mentioning.
Now what I’d like to do is show you a couple of demonstrations on how to use low code and generative AI so that you or your team can create some real quick and easy prototypes to get some ideas off the ground.
Now what I’d like to do is show you a couple of demonstrations on how to use low code and generative AI so that you or your team can create some real quick and easy prototypes to get some ideas off the ground. There’s all sorts of examples of low code. Sometimes there are low code options within another large software product. So for example, you may have things like the workflows that are within the M-files document management software, or we have integrated with Oracle NetSuite before, we’ve even prototyped something using Google Forms and using the Google Sheets as a back-end database, but more what I’m referring to is a low code platform that lets you create applications by dragging and dropping or maybe selecting configuration options. Some examples might be AirTable, Appian, Salesforce. Microsoft, of course has power apps, that’s included within Dynamics sales 365 subscription, and that has a scripting language which is based on Excel called Power FX. But the platform I’m going to demo today is called Smartsheet. We’ve integrated with that before and I really liked how powerful it can be out of the box with some of its pre built templates.
Okay, so here we are in just a very blank account for Smartsheet. And I am going to create using the templates we can see all of these templates that they have and they have some really good ones. But I’m just going to do a simple request intake and tracking will create that and it goes through the steps to set that up. Now this is pretty much just showing you what the template is. I wanted to show that real quick and then I’ll use that template so we have things like this report, back end table and some other reports as well. Let me use this template and that will set that up. Okay, cool. So all it did is it created this simple request intake and tracking little group. Go in and see what’s in it. So we have reports and this Request Tracker is kind of like a spreadsheet. It’s got all the data for the requests that we might take in. So it pre-populates this with a couple examples. And you can also see that the the other options in here are already existing. We have some reports we have a form with some different examples of reports in there and what I want to do is I want to show a form and how we create that and this is an example you can do in any sort of sheet like this. In Smartsheet you have this you have the headers so that shows you what columns you have. Now if I want to add to this, I can create a form and it pops up a very simple form just like you might see on Google Forms. And this is what we would then be able to use to ask other people to enter in data into that sheet.
So if I have this form now, I can open it. Now pop it up what it would look like to have someone enter something in putting their information here in my user person.
Now we are going to submit this. Now it has captured our response so we should be able to go back into our table here and see the information in here and refresh that data. Here we go. It’s in there. For demonstration purposes, if I wanted to change this row that we just entered, let’s just say we removed the start date. That’ll show up on the report that we have. So we go back here it’s going to auto save that change that we made. And we can now go to this report and we will see that it hasn’t been started… that request that we just made. So it’s showing up on this report. These are very simple things that can be created, but this also can be edited pretty easily. It’s pretty intuitive if you’re used to Microsoft Excel and spreadsheets so there are a lot of things that can be done within there. There’s a lot more dynamic type of interactions that can be done within each of these cells, which is pretty neat. It’s easier than writing really complex formulas like you would in Excel but it also has some of that ability.
That’s our quick demo on Smartsheet. The frustrating part about these low code applications is usually you get to a point where it needs to be customized and what is that extension point that is coming up? So one of these platforms that I really like is called OutDesk. It really prides itself on being able to integrate and to customize in all these different areas is all the different layers that you can customize using JavaScript, you can introduce .Net code in there. So that is another one that tries its best to not be limited by that. But another limitation that I’ve noticed with some of these low-code providers is that they’re not very good for standing up something simple against a local database or an internal database. So if you wanted to just put some quick business logic in on a database that sits in your internal network, this is not going to be able to go access that because this was in the cloud. So does OutDesk so do a lot of these and they need to be able to hit a publicly facing API.
Now I’d like to demonstrate what generative AI can do. There are a lot of new tools that are popping up. Some of the ones that may have heard of our chat GPT or Google’s Bard. There’s other ones that are new such as Claude.ai. My advice is to just try these things. They are very good for brainstorming, coming up with new ideas, writing texts, you can even write code and that’s what I’m going to show you. But first, let’s take a quick look at how we can use this things for a basic example.
Okay, I’m here at Chat.OpenAI.com. And it’s really just a chat interface where we give it prompts and it’s going to come up with responses for you. So you see some good examples. Write a thank you note. I mean, that’s one of the easiest and most basic use cases. Write a letter.
Let’s just say we’ve put a little prompt in here. It’s going to put this context in here and some of this is really useful. Some of it might be off base, but it’s a good starting point to maybe get some ideas. So you can then also refine that. You can keep writing more prompts and it will remember the context that you used. And there we go. More to the point, you could just copy that and send it off. Okay, so that’s one example you may have seen that already. And you can start playing with things and just seeing what other ideas maybe there’s other things that it can help you with. So something that I’ve done is I’ve just kind of put this put this link is my homepage. Whenever I open up my internet browser, it goes right there and I have to kind of think, well, is this something that AI would help me solve? Can I use this before I do a Google search or go somewhere else? And a lot of times the answer is yes. But it definitely helps you to learn what it can be used for.
So the other example I want to show is what would we do if we wanted to use AI or ChatGBT to write code or to make an application that can do something for our business? I’ve pre-worked up a script here, or a prompt and let’s start a new chat, so that it doesn’t remember that context. Let’s say I’m working in an environment where I need batches of things made. So I have requests for those and have recipes. Let’s just get a very basic database set up that’s what I’m asking for. If I had that database, then I can write to it and I can maintain that data going forward. So there was my prompt. Now here we go. We have it just generating this code for me. It’s kind of neat that it’s showing the scripts to create this stuff as different formatting and coloring. Pretty cool. So I’ve already got SQL Server open. I’m just going to run that. I have a blank database called manufacturing and I’m going to run this script. There we go.
So we have these tables. That’s pretty cool. Now something to point out, there’s some things in here I mentioned that I wanted some relationships, like a request can have many batches a batch can have many components, but I didn’t mention anything about a recipe having many requests or requests having a recipe but it put that in there anyway. Just an example of something that sometimes it gets it wrong sometimes it’s trying to make a guess. Sometimes it’s right. Sometimes it’s making an incorrect assumption.
Now, we’re in our database, and that was pretty neat. There’s no data in there. But it has the structure for us. Okay, now, it’s not going to do a lot of good just to have this database table. We want to see if Chat GBT can write code for us. Let’s see if it’ll write code to make an ASP.NET application to be able to create, read, update and delete those records in those tables. Here we go. Generating classes. Now what I’ll do is I’ll take this and I will post this into my Visual Studio, which is what developers use to write code in .NET. I have that here. To make it easier what I’ll do is I’ll start a new project, which is a collection of things of code files to group them all together and run them. I will make an ASP.NET core web app in this demo pretty much using the defaults.
It’s going to create a little bit of a structure for code files in there, and I’m going to take all of this from the recommendations in here. And I’ll create some code files in here. So these are the classes, the different entities that are going to exist. It’s still generating this though. Now it’s ready and we are going to put those classes in the model. We’ll just call this “classes” as we got multiple all in here. Is that in that database context. Should work although look at that it doesn’t like that. So there’s a little extra that we have to do as developer we’re going to notice that hey, it’s not it is not yet resolving everything. Now, as you can see, the Chat GBT is not going to be perfect. So this is kind of an example of where some wisdom as a developer comes into play, and you’re able to see what we can do in order to make things work. But it can be useful for helping get further.
Okay, now, this is just an implementation detail of Visual Studio and .NET. We actually need a little something to work with this stuff. We need is going to come in later EntityFramework.SQLServer. These are libraries or packages that are available out on the public Internet. We can download these, incorporate them into our apps. Microsoft, we also need this one. This is what’s causing our code not to compile. We’re gonna need tools as well. Downloading those and it should make it so that this can compile now.
Now that we have those installed, we can see appropriate namespaces in here. And it should compile for us. This is a good sign. That means that likes our classes, it likes our data context. So we need to add controller actions. These are the pieces of code that actually create some of the logic that happens to be able to make updates to the database. But you know, this was just going to create the logic for it. It’s not going to have any display of anything in the application. But something that I would like to try is I can create a whole set of that information and I can use what’s called scaffolding. within Visual Studio. I’m in here I say let’s create a controller and now I can do this for any one of the classes that I’ve already created.
Let’s say I want to be able to update batches. I just right click and say Add new controller. Do some scaffolding. And I want to create the views as well. The views are what allow me to make the user interface and this will take a few minutes I’m gonna come back here when it’s ready. I am back it took about a minute and lo and behold we have an error. Okay, well now what that reminds me is the code that was given to us in Chat GBT. It doesn’t have any configuration information. There’s certain extra setup pieces that we have to do to write our application. So it’s another example of something that’s missing. It has good information and think ways that I can get started on this but I need to fill in a lot of pieces. Now I won’t bore you with that but I’m basically going to enter in a connection to my database in here and make sure that knows about my DB context and then I will go back and regenerate.
Okay, I put that in here. I also put in the connection to the database again. Now I should be able to go try that again. It’ll take a minute or two and I’m going to go ahead and do this for all four of the classes that I have here. Just go through this process of selecting and we’ll see what it comes back with. Alright, created all those now I’m going to run the application. Going to compile all that code. You can see it generated some information. This is about requests right here and this is the out of the box site. If I type batches up here then we can see that it allows us to create new ones and this is the information that goes on that table.
Now I will grant you that this is not the most exciting application ever be built. It’s very simple. It’s based on those tables that we’ve just created. But imagine that you had a more detailed database that already existed. This might allow someone who’s not totally technical but understands some IT concepts, to be able to have a web application that can edit those database tables. And that can be publicly available or you know, on an intranet somewhere. And the most powerful thing about this is just that this is now in .NET in Visual Studio, and it’s easy to extend for a software developer.
Another aspect of AI that we haven’t really talked about is something called GitHub copilot. And that can be installed into Visual Studio and just automatically in here everywhere. So in my code in my solution, I can do things to very simply have it more write more code for me.
Let’s try this. Write a method to ensure that the request cannot be created if the due date is earlier than today. It’s just a quick check to make sure is the due date valid. Then it will kick that back to us. That’s a quick small example that copilot could do. Now, what we need to remember is this is an example here in August 2023. These AI, generative AI these large language models, like copilot they’re all getting better and better. The limitations are reducing. But as you can see, you’re still going to need knowledge of software development for something like this. You need to be able to create a nice UI, add constraints, add validation. Or at least you can use the AI in some of those steps in between to piece it all together. But it takes some experience, some having history with how to do that kind of thing.
Now, one of the things I didn’t really mention is some of the code that was generated, for example, like the SQL script to be able to create the database and some of the other code. You could look at that as a seasoned developer and say, well, there’s a couple of things there. That are going to cause problems down the road. Or maybe it’s not a pattern that I prefer or that our team uses. So there are things that should be edited while getting that that first generated code from AI. Sometimes they should be changed so that they can be maintained. Because if you just paste it in everything that was generated, then you basically don’t have much trust in what it’s actually going to do. And you don’t know what it would do if you ever change that. So the long term view is that you have to be able to make the changes to that to be able to maintain it and to be able to have it be understandable. But again, the best thing about doing something like this, is it very well marries the idea of AI and having some of the tools in Visual Studio that a software developer has as well to be able to extend the code that’s created. And from here, this is a normal .NET program. You could adjust this and add to it as much as you want.
Thank you for joining us today and investing your valuable time with us. We hope you found the insights and demos to be informative.
As a consulting company, we at Unstoppable Software are committed to helping businesses like yours thrive and succeed. Use these tools within your own company to get quick value, but beware of the long-term side effects. As software experts, we are able to use these tools to be even more efficient. We can leverage them to start, where appropriate, but understand when to extend them or replace them with source code.
If you’re ready to unlock the full potential of custom software and achieve remarkable results, don’t hesitate to reach out to us. Whether you need a quick low-code or AI solution or a full-scale application, our team of experienced consultants is here to support you every step of the way.