top of page

Low Code/ No Code Lineup Part 2: WeWeb

Writer's picture: Ray AlnerRay Alner

Last Post Recap

So my last post I discussed my intent with low code/no code apps. Go ahead and give that a read if you haven’t read it yet. It talks about the no code platform Adalo.

Here’s an important section of that post:

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 WeWeb.

WeWeb

Use Cases

WeWeb seems to be a much newer platform. They are closer to low code companies like Bubble and Retool but in my opinion provide a little more flexibility and ease than those platforms. Now, this is a low code tool so while I don’t need to know how to code, it is certainly a benefit to understand the general outline of code since there were sections in this project I was reading code. This platform seems more aimed to a web app style app with responsive design taken more seriously than Adalo. This was another perfect platform to attempt my App Management tool. The only difference is that this seems to be more aimed at internal tools than external tools, meaning database setup and account management is a little weaker than tools that are set up to sell the tool off the platform. I can also tell its a newer tool since several features are still in Alpha and Beta, especially authentication.

Learning Curve

The learning curve was a little more in depth than a no code platform (obviously). There were a lot more features than Adalo and more pages to look through, but it didn’t seem daunting. I felt like everything was in arms length to build the App Management tool.

I also felt the visual UI was a little more polished in terms of building things. I felt excited and happy when I dropped things in, where it felt like I had more control over how things looked. I’ve used these types tools to create websites, like the website I used to sell the app my company is designing (ollehapp.io). That website is created using Webflow, another great low code type platform.

The instructional videos were very well created and I absolutely loved the fact that they USED their own platform to create much of their website. So many platforms don’t believe in their own system enough to use it. This is wonderful. Their Academy was very well polished, felt homey and I could find pretty much all I wanted to get started, apart from some different naming conventions that made it difficult to find some things (these were fixed once reported).

Design Capabilities/Front End

As I said before, the hardest part of any new platform is determining the “Best Known Methods” of designing what I wanted to do. While WeWeb was a little more difficult navigating the multiple layers of pages, it still felt well thought out with not one action more than 3 steps away, which made it very easy designing my app. There were a lot more options for element types. I mean a lot. There were more than 50 element types from tables to PDF Viewers. Talk about fully featured. It made it very easy for me to be inspired with what I was trying to design, with many options on how I want to display data. I can drag and drop things on the pages where I want, and the familiar page design worked very well.

The issue I still had was how best to design the page. In Adalo, it was simply an option of adding a new page. The flow was progressive. Here, I could have parts of the app all on one page, or a modal, fly up, or sidebar add, it made it more difficult to decide how best to display the information, as well as how to get data from one page to another if I decided to navigate away; something Adalo did pretty seamlessly.

I started by creating four pages, like I did with Adalo. One for Devices, Apps, Users, and Home. The pages are separate pages, like I expected and have been familiar with, like in Webflow and other platforms. Since the page was empty, I dragged the Top navigation that was already created for me in the UI kit Essentials onto the page.

In my right bar, each element had its own functions, which seemed familiar with some other tools I’ve used. Some of the naming conventions were odd, but usable. One was labeled Specific? Not sure what that’s supposed to mean. I’d name it something like Text, but to each their own. It still did the job.

I could spend a full blog on this side bar alone, but to keep things moving, I think the best features I found is that each field or text could be linked to a database, and even each sub field could have its own linked database field, for more of a CSS type feel. It looked like I could likely link almost everything to a single database to keep everything centralized if I wanted to.

The only problem with this is there were no real instructions on how best to use the data linking. Typically I learned to use the linking feature to display information from a database, but how would I use it to set a Cursor, or Overflow? There may be some information about it in the docs, but I think there was a level of code understanding needed to be able to make these features work. I didn’t dive deep into these settings since it was a little too much for me to dive into with an initial look.

After the top bar, I added a header for each of my collections I was going to create, and columns with collection lists in each. The picture has data in there, I’ll show how I added data in the Database section.

It was really easy to do this, just drag and drop. I added buttons that could link to a quick page to add or view apps, devices or users quickly. They are non-functioning, as I had yet to figure out the best method to link those. Do I create a side box, a modal or a quick add. I hadn’t decided.

Next I went to work on the Apps page. Again, my idea was to create a table with each line able to be added, edited, or deleted with a lazy load in case there were more than the page could handle.



I added the top navigation, which unfortunately was not linked to the Home nav so I had to set each of them up separately again. I know there was a way to set them up so I didn’t have to manually set each nav bar up but I didn’t spend time on figuring that out, and there was no easy way to determine how best to do that.

I added a title, and a Collections table to get started. They changed things around since when I built it, but adding a table looks like it can be completed by adding a Datagrid or a column with text in each row.

After I finished with adding the outline for the table, I added the collection to the table (more about that in the database section) and linked each text on the top row to the field in the database I wanted to display. I had App Name, Install Link, Install Accessibility, App Description, Update Frequency, Install Instruction Link and Edit/Delete. It was so much easier than in Adalo to create and link the table. After I linked everything, I added a workflow to the Add, edit and delete buttons.

For the Add, Edit & Delete button, I used some of their documentation to add a modal box command and change a variable value to true to display the modal when the corresponding button was clicked. While it wasn’t difficult, it did take some a little time and Googling to figure out the best way to have multiple modal boxes. I had to create a separate variable for each modal I wanted to display. Easy enough.

It was somewhat easy enough to update the record in my database using the Workflow Actions. I had some difficulties getting the right fields in the right boxes. More on that in the Database section. I was able to successfully create or update the record. It was easy to test each action like putting a break in my code to see where an error may show, so I was able to test my iterations to see what was causing the add/update button not to work. I then added the variable value change to false then wrapped that up and tested it.

Oh, one really cool feature is it has a show/hide the modal in the the editor when I was trying to work on it. It made it easy enough to create the modal then made it disappear when I didn’t need it.

After I added the buttons and actions to the buttons, I moved to the last section, where I finally ended the test. It was the most complex section and still haven’t figured out why it won’t work. I’ll go into detail about what stopped me in the Database section, but, yeah, it was a doozy.

The last page I built was the linked data page, linking users to apps and devices, so I can see what user has what apps and devices assigned to them. I started with the same table, and a slightly different add/edit box than the modal box in the Apps page but same concept. I was able to get the drop down boxes linked to the correct data and the table to display the correct information, but I stopped at being able to update the information in the table. More on that in the Database section.

Database Connections

One thing I liked about Adalo is how it makes it so easy to work with linked data, if I wanted to add data to a record it was as easy as linking the data to the page, then boom, it shows up and I can add what I want to that page.

Because of WeWeb’s more fluid design, it is certainly more of a beast to work with. It’s flexible, which is amazing, but does add more complexity.

First off, their database connection offering is pretty decent. I could add a wide range of different database types and services with little friction.

I also like the fact I could add multiple database sources and have them all accessible in the same project, so I could add a source from a user-editable location like Airtable and a SQL database from a complex program and have all information in one app. Very nice. I’m sure other low code programs do this too, but as someone who hasn’t used many low code programs, this got a “Nice!” from me.

I added Airtable, since I haven’t worked with almost any other types of data sources, except maybe Google Sheets for a school project I did.

Airtable was easy to add, just add the API key which they directed me to pretty easily. Got the connection created and the collections added for each tab I created. I had already created a page for Apps, Users & Devices, in Airtable so easy to get them connected in WeWeb.

I could add as many tables from as many Airtable sources as I wanted. Super slick, if I had a complex project I was working on. All the configuration seemed relatively self explanatory, but I didn’t go into much detail here. Here’s the page though.

The neat (and complicated) thing about getting the data to line up is that any text field can be a data field. The problem with this is that I have to go scouring through the data fields to find the right field I want to display.

As I described up in the Front End section above, I had created a table in the Apps page. Here’s how I linked up the data to the table.

The first minor gripe, is there are many little click points, so I either had to hover over the click points and hope that the collection table was in that group or click in the Navigator to click the Collection List. Not a big deal but it can get cluttered when there’s multiple components lined up. Once I found the Collection List, I had to find out how to tell it to repeat the data. Not a problem because they had great documentation around this. Being new to this type of data availability was a little overwhelming but I figured it out pretty quick.

Once I bound the “Items” box, I was able to tell it to repeat the App[’data’] field, so everything inside that table would list out everything in the Data grouping. If I expand each of the little toggles, it does get a little overwhelming but when I clicked on them, it seemed pretty self explanatory what they were for.

Next step was to link all the text fields to their respective data. Doing the same thing as above, I was able to link each text field to display the data I wanted repeated. App Name, Install Link, you get the idea.

I did this for the entire table, and it showed up perfectly. Everything repeated correctly no issues to report.

The next part I finished was adding records. This was a little more difficult than displaying the data. Once I found the triple nested forms field, I added the workflow to create a record. I clicked over to the var tab and selected the correct value from the modal. It took a little work to find this one, but wasn’t too difficult.

I did that for the rest of the fields, then moved on to Edit. This one was a little more difficult than the previous one, because I had to understand the logic of being able to select the record, then keep the record ID for the selected record so WeWeb knows which record to edit, but then change the values from the values I allowed to be edited in the fields. For someone who hasn’t really worked in databases, it took a minute to figure out how that worked. It wasn’t hard, just new logic to think through. I was able to do that fine for every field.

Delete was as easy as selecting delete a record in the workflow. Not difficult at all.

I moved on to the next page, Users. This was the page I ended on. I took what I learned above and applied it to this page, but the complications were the linked data. Editing linked data is apparently hard.

The way I displayed the linked data was fine, I just displayed The App Name (From Apps) column Airtable makes. It wasn’t perfect because it would just show a somewhat poorly (in my perfected idea of this app) comma separated list of apps. It wasn’t bad, but there are better ways to display this information.

Editing the data I stopped for a few weeks on. It seems pretty self explanatory, just take selected data and feed it back into the update field. It didn’t work. I asked on the forum, and got a pretty quick reply from one of WeWeb’s employees with a solution. She said that the solution was in their formula’s page but wasn’t easy enough for me to find. It also works(ish) Because I’m not a developer, I can understand some basic features out what it’s doing, but probably couldn’t reproduce it.

Apparently Airtable is expecting the value in a different format, and understanding that format is something I couldn’t figure out by myself. I still have an error 400 and the record still won’t update, but haven’t had a chance to figure out why.

Cost

The cost is relatively affordable. They don’t let you publish any app without paying, which makes sense. WeWeb costs more than Bubble and Adalo, but in my opinion, has more features than Adalo, and is easier to use than Bubble. I also think this pricing will change significantly once they get more users, as this platform is relatively new.

Final Thoughts

When I found this program, I absolutely fell in love. It was super flexible, had all the features I was looking for. It was relatively easy to use with no major UI learning curve, although the database learning curve was where I stopped for the time being. I really like how it is so flexible. It has plenty of database types, as well as authentication options to make this tool really useful to someone who’s designing an app.

I’m not quite sure what market this is aiming. Is it trying to be low code for developers trying to make a mass apps and be able to sell the apps? Or is it designed for more internal app development like Retool? Not quite sure. I think it has the flexibility to be both, but maybe as the platform evolves it will be clearer. I would love for it to be more for people who have an idea and want to sell the product to other users. I think the internal low code/no code app market is pretty flushed right now.

Out of the several low code/no code platforms out now, I think this is my favorite. It’s flexibility complex balanced with a level of simplicity and its really solid support will make this a solid competitor in the low code/no code market. While it’s aimed more at intermediate low code/no code interests it still packs quite the punch.

107 views0 comments

Recent Posts

See All

Comments


bottom of page