What are my plans with Low Code/No Code?
I haven’t posted in a while! It’s good to be back. While I was away, I have had some time to think about one thing I have always wanted to try out: Low Code/No Code applications.
I am by no stretch of the imagination a developer just an IT person who likes to find solutions to problems; but I was interested in low code/no code platforms as a way to broaden my skillset and potentially bring solutions to a problem that traditionally required a developer. To do that, I have tried 2 low code, and 1 no code platform (so far). This is by no stretch exhaustive, in terms of platforms used, but more of a general experience of someone who wants to try low code/no code platforms with no developer experience, and doesn’t want to spend multiple months learning the art of coding first before being able to jump into a project.
My “mark of success” was being able to develop (not publish) a web app using a lot of UI hints and forum support, general knowledge of where things are, drag and drop interface, and maybe occasionally Googling a problem or required database methodology for a resolution. For this experiment, I was not interested in learning extensive coding. I was more interested in a quick pass to see which would be easiest to use, especially as Googling “best low code tools” come up with a lot of shilled articles and top 10 lists.
The Problem
So I work in IT. My biggest problem is figuring out who needs what programs, how they are installed, and what systems they use. For the most part, the tools and SOP’s out there in the wild do that. I think of Pulseway, Azure InTune/Endpoint Manager (or whatever they rebrand it to), JumpCloud, Jamf, there’s lots of them.
The problem with these tools is they rely on the program already being deployed and installed on the system, as well as knowing (or using other software) to determine what programs should be installed on the users computer. Yes, there are self service systems in the MDM’s to provide a suite of programs to all employees, but the time and effort to keep it working within a small business was (and is) just too overbearing, especially when programs still use archaic methods to install, which don’t play well with the MDM systems.
My Project
My idea was simple:
Create a program with three pages. Devices, Apps, and Users
Devices can have Apps & Users assigned to them
Users can have Apps & Devices assigned to them
Simple project. Lets look at the platforms.
The Platforms
I tried Adalo, WeWeb & Retool. I’ll try to break out my thoughts into 5 categories that I think are most important about each tool. It is not exhaustive, the blog would be too long. Just an initial experience on each.
Here are the categories:
Use Cases
Learning Curve
Design Capabilities/ Front End
Database Connections
Cost
Lets get into Adalo.
Adalo
Use Cases
I found Adalo’s use case to be aimed toward a person who has an idea and wants to make some money. It is super easy to use with no code learning requirements, drag and drop UI and easy to create designs. It seems to be aimed to be put on an app store with seemingly easy tools and little friction to get it there. It seemed perfect for my App Management tool. I would be able to deploy to multiple companies, and easily manage the UI.
Learning Curve
The learning curve was pretty easy. The drag and drop design made it easy to just do what I wanted. The open canvas type pages made it easy to link pages to other pages, drag an element on the page, and link it to a previous or different page with little friction or knowledge on how to design an app. The easiest by far of the tools I used. If you want to design a simple, easy app that can fit in with its components, this is one of those tools. There were no undercurrent of pages to wade through when looking for what you want to do. The instructions and forums were easy to read and had decent documentation on a variety of uses.
Here’s an image of where I ended the project:
Design Capabilities/Front End
The hardest part of any new platform, I find, is determining the “Best Known Methods” of designing what you want to do. Adalo does a good job of laying that out, and since its not super deep its easy to feel comfortable with what I wanted to accomplish.
I started by creating pages and dragging the components on the page, where I wanted them. I created pages for Devices, Users & Apps, with another page for a home view with an overview of all devices, users & apps.
It became instantly apparent one of its strengths is also one of its weaknesses.
The drag and drop formula.
I like it, don’t get me wrong, but I realized it would be very difficult to place objects where you want them AND have responsive design. First thing I had to figure out with my wonderful 2k display is why items didn’t fill the screen. I found out through some of their forums that the screen size correlate with the size on the design, so I have to be very specific with my screen sizes. It would do OK with minor size differences but any major resolution changes would not work well. Thats fine, I just make a massive frame and put everything in there and size it a little larger.
Next, I start adding components. For a simple app it would work fine. It has all the usual fields. Text, buttons, app bars, lists, images, etc. I go ahead and add a field for the data I want to collect. Things like App Name, Install Link, App Description, etc. The form asks me what database this will connect to; super intuitive and nice. I attach it to a collection pretty easily, no major database knowledge or setup required. More about Databases in the database section.
I want to set the form types so I can ask for dates, dropdowns, links, etc. Nope. Not an option. Dropdown lists are limited to searching a list that is on the screen. No way to add a search that is not linked to something on the page already. Text fields are limited to 5 types that to me don’t make any sense. Normal, Lowercase, Password, Email, and Number. Nope no sense at all. Uppercase? Link? Phone Number? It’s worse with a Form field. I don’t have any ability to change field type there.
I add what I need in the albeit limited format available, and this is what I come up with:
I’m not loving it, but its a first pass, maybe I’ll move things around, choose a different design, thats OK.
I create the edit & view pages next because it was an easy copy and past of the create page. They turn out… Fine. There was no way (in my initial looking) for me to re-use the create page, they all have to be separate pages.
It was easy enough to connect the data to the page. Adalo has this easy tool where if you have already linked data in a previous page to a database it assumes the next page is working with that data. Super neat. Very intuitive, not a lot of database thinking needing to happen here.
After I get that part sort of working (needed to get some final things set up, like side bar menu and such), I get started on the next section.
Next I want to list all the information from the database, because what use is it in a database, when I can’t view it.
I created two types of pages, one page to display all apps installed in a traditional table list, and another page only with a users devices and apps.
The first page I created was the users devices & apps. That was another easy page to get out of the way. Adalo makes it easy to point previous pages or linked page data to the next page. Here’s what I created.
Because of the limitation with the platform, I had to have all devices listed AND viewable (the search doesn’t work if I limited how many items on the list it displays). I thought this would work for my needs. All apps and the users apps at the top, and all devices and users devices at the bottom. I could easily add the plus and minus button and correlating action to each list (adding and removing a user from the device or app), while the linking between pages could allow me to easily display only the data from the selected user. Not the way I would visually set this page up but it works.
The next page I create is the overview page for each collection. I’m thinking a table, with all the relevant information viewable in the table view. Then a user can click on a record to view or edit the record using the pages I created. I had to look high and low on this one, this was the most difficult page. The limitations of displaying large amounts of conglomerated data isn’t one of its core features, especially with its limited component types. I had to get creative.
My first thought was creating a Simple List. I could easily attach the database to the list, and display one piece of data in the title, and one in the subtitle. I thought this would be too limiting, because if someone wanted to see more about a specific app or device they would have to click into it. I also didn’t think it looked good visually since there was so much wasted space.
I then thought of using a a text list. It would allow me to create my table using as many grouped text components. That looked promising. I started building the table out. When I clicked the preview, I realized that text components can’t be copiable. That meant things like the app’s Install Link couldn’t be clicked. It was basically a table with each item clickable to open that items information.
This was where I ended my design experiment.
Database Connections/Back End
Databases are really easy with this tool. At least the built in one seems easy to use. I didn’t go into much detail with this one since I didn’t deploy. One thing I heard in the forums is once you deploy to an app (which is what I assume people will be doing) it gets difficult since the database type may not play well with some types of data structures, and the database doesn’t seem to be made for heavy user input. Some of these issues may have been fixed recently or other options available, as there have been a bunch of new features around databases recently.
For my tool, and as far as I got with the platform, I was successfully able to add my three databases, Apps, Devices and Users. I was able to get the one-to-many databases set up correctly. It was really easy to discover and learn about one-to-one/one-to-many databases, especially for someone just trying to get into coding. Because I was new to this area, never really worked with databases, it took me a few tries to understand how the relationships worked and how best to set them up. I did struggle and took me a few videos to figure out what I was doing wrong. I got stuck in a loop database a couple times where because they referred to themselves it was like looking in a mirror over and over again. Once I figured that out it was smooth sailing.
I was able change some of the field data types here, but still very limited to what I can set them to.
I was easily able to add new test records, delete old data, see how the data shows up in multiple records. It was really a breeze to get in on the data.
I didn’t get into any details with permissions or API’s or upload/download data but generally speaking I was able to get my data set up relatively easy with little overhead or learning about database types.
Cost
The cost seems relatively affordable in comparison to other app builders, I think of Bubble.io which is slightly cheaper across the board, except Bubble’s most expensive plan, which is more expensive. There are multiple sites where you can find price comparison; I wont get into detail here since prices do change.
Final Thoughts
Overall, this is a very good tool for someone who really doesn’t want to learn about coding. If you have a decent understanding about UI, a good idea and a decent way to implement things, you can probably figure this out and get something built pretty easily. I found some limitations mainly in some quasi advanced features, but if you are looking to build something relatively simple this will probably do the job.
I found that the resolution limitations, the drag and drop design, the limitations on copying pasting, and field types seem more aimed towards someone who is designing a phone app or tablet app. It is not made for responsive design and any screen size significantly out of the ordinary would choke it up pretty badly. I found the larger I went, the app would favor the left side of the screen so things would end up in weird places. The previewer in a separate screen brought me back to WordPress days where I would place something where I wanted, preview it and find it in a completely different location with no real recourse to figuring out why it’s there.
It’s a solid app though, for someone who is just trying to create a mobile app, this will probably work pretty well. It didn’t work for my use case though, and I gave up trying to use it for my App Management tool I was trying to design.
Next up WeWeb.
Comments