Introducing Generate - Beta Release

Today, we’re pleased to announce Codebots Generate!

Codebots Generate is a C# code generator that’s capable of producing a codebase for full stack, ready-to-deploy web apps.

As part of the beta release, we’re offering all beta testers the opportunity to win a headset (the Bose QuietComfort 35 wireless headphones II*).

All you have to do to enter is try out Codebots Generate and leave feedback under this forum post.

Full instructions:

  1. Go to Generate and try it out! Play with the entity diagram and download your code.
  2. Head back to our community forum. You can either bookmark this tab or simply go back to our website and click on the ‘Resources’ tab which will show a link to our Forum.
  3. Create an account to submit your feedback, simply click on the pink ‘Sign Up’ button at the top of the Forum page (to the right).
  4. Leave your feedback or comment on this post by simply pressing the pink ‘Reply’ button.

*Terms and conditions apply.

T&Cs
Entries close on Tuesday the 27th of April, 2021. The individual who has the most insightful comment or feedback from the users participating in our Beta Testing forum will be chosen as the winner. They will be contacted within 72 hours of the competition closing. Codebots reserves the right to redraw if the winner does not respond within a week of being contacted. The competition is closed to employees of Codebots and WorkingMouse.

5 Likes

It’s looking slick, team :tada::tada:

2 Likes

Codebots generated away my crippling depression. 10/10 would try again.

3 Likes

Exciting dayz today! (2021-04-07T14:00:00Z)

2 Likes

Super excited!

Keen to give it a go.

1 Like

We are ready for your feedback! Or book in a demo and we can step you through it. Good luck!

1 Like

So proud of you guys! Such a great job.

Text on the diagram appeared slightly blurry, but also as if pixels were omitted with a nearest neighbour-like filtering when zoomed out hurting legibility. This is likely hard to notice with a 2K display, or better but with a standard 1920x1080 display it was quite noticeable.

Icons like the coiled rope icon for like string attributes on the diagram is being cut off (right and bottom)

Descenders like the bottom parts of the lowercase letters “y” and “p” are also been cuttoff in the names of attributes on the diagram

Selecting all, and then draging the selection by the header of an Entity or Enum (or similar) item, the relationship connectors move around on there own

The relation connectors don’t repond well to being dragged - they will move in a limitted fashion along an edge at one end but this seems almost useless at trying to prevent overlaps for reading the diagram

Many of the snippets have errors: One for example complained that the attribute “Type” was a reserved word and couldn’t be used (and I think users probably will want to use “Type” to describe there own data, that should not be reserved)

In another snippet entities were placed on top of each other such that they were completely hidden

In the construction snippet the “Child Component” and “Child Equipment” relations look weird, I guess it’s badly showing these entities can parent other instances of themselves

In the Appointments snippet “Check for Errors” fails with an error, “Build app” also fails for this snippet. The log from build app scrolls by and disappears, I’m not sure if it’s meant to be for show, but there should perhaps be an option to review it for clues as to what went wrong.

The log prominately displays the build process is using Java, which is fine, just a big deal was made of this being a C# (I realise your tooling for generating code may well use Java… just another source of confusion for non technical users)

There seems no option to preview any app. A non-technical user can hit Build App and get a zip file they won’t be able to use, without being sure that what they made works? And then at the payments screen they are told they have only 60 minutes to make changes if they aren’t happy with what they made before they pay again.

The readme in the source code suggests a different set of licensing terms for ownership/alteration of the code than the source headers on individual c# files, and the license URL they reference

Sometimes Ctrl+Z functions as ‘undo’ sometimes it doesn’t seem to be recognised

Snippets want to appear at the left side of the thumb view

Mouse wheel zoom (if Ctrl is held) works (good) while the mouse is over the main diagram area, but when it is over the left or right panels the browser gets the input applies scaling to the entire web page

With some diagram elements selected (try select all - that looks weirdest), dragging the view area of the thumb past the left where the diagram has been placed moves the selection in the direction of the mouse, in turn this expand the viewport and the view area goes in the opposite direction - the result appears buggy

It may be that there is not considered need for one, but it’s not clear that the user’s work is saved or how they can get back to it before they are ready to hit “build app” - a lowly employee might start building an app say for their customer service job in between taking calls and other duties, they might need to wait multiple days to get clarification from a boss or colleague on some aspect and want to know they can return to what they are building say another day

In the Settings area the “GraphQL” heading is misspelled as “GraphiQL”

Also in the settings area I found the text under the Database default for “Postgres” sounded overly prescriptive: “Configure your application to use a PostgreSQL database” sounds more like an instruction than an explanation of the selection (the same sentence is used with other database selections, so I gathered that sentence is not intended to be considered advice and part of the recommendation to use Postres which followed it)

Finally in Settings I noted I couldn’t have Selenium tests if I didn’t want an Admin CMS, like why should an Admin CMS be needed?

Back in the main Entity area I can’t make the Search find individual attributes, like if I have a Payments entity with an Amount Due, and I search “Amount” it won’t find it

When I create/edit a String attribute I can choose the “Database Type” of VARCHAR, TEXT, or LONGTEXT; this is a tool for non-programmers, it seems an overly technical choice that could possibly be rephrased so as to be meaningful in the business domain they are perhaps an expert in

Depite there seemingly being no button to save or copy and paste an existing entity or set of entities and relations (to make something similar to it), there are two options to get rid of everything you have done. In addition to the reset icon ever present at the bottom right, if I click an an empty area of the screen, a red “Clear Canvas” button shows on the bottom right - unlike the other option that clears without a prompt asking if sure (thankfully both support undo)

Save would also be helpful, especially with a preview to test the app without downloading and asking techies to help do something with this zip file I got off a website, to experiement with a change without necessarily keeping that version - undo will work until it doesn’t (say the user clicks undo 20 times wants to test and then redo 20 times and test again to compare things, but after undoing 20 times they accidentally make a change - now they can’t redo and have lost work)

Any non techie also likely wants to play with layouts, choose background images, tweak colours from the UI, also have libraries of advanced/custom controls/widgets to work with - perhaps I want to use codebots to manage items coming in and out of a store room and I think I’ll put a QR thingy on them - and I want to wire up an app to look for the QR codes I print out and stick to stuff and update the status of an entity based on that… that’s very reasonable in 2021 even for no-code, but I dare say that’s really impossible to build with what’s here.

The Help at the bottom left should go to some guides rather than just the forum.

Ultimately the pitch, the info on the website, the videos make a really compelling argument that you want this tool to be something really awesome, it struck me that it wants to be a no-code alternative to like what Mendix and Outsystem are offering that ticks the boxes of traditional IT teams and what they value, and wants to offer a code export that’s actually maintanable by programmers - that’s great but it doesn’t match my experience trying to play with what you have - what you actually have seems more like a bad HTML5 toy for making UML diagrams hooked up to code generators on the back end to customise a templated enterprise app with a custom schema/entities for data. Not really the flexibility that’s expected.

And I did really like the pitch/videos on the site, I was actually excited, just the product seems to fall really far short of that. Sorry.

1 Like

Hi Nat,

Thanks so much for the amount of detail you’ve put into reviewing our product. We appreciate the time that was spent taking a deep dive into Generate.

Just an overall comment, Generate was designed with developers and engineers in mind. It is a tool for techies rather than non-technical users. Is there a reason why you thought that Generate is a no code tool? Any feedback would be helpful to assist us with our messaging and preventing misunderstandings.

Thank you so much for reporting these issues to us and the attention to detail you have taken. Some of these issues we are already aware of, and some issues are already fixed in an upcoming release. That being said, we did want to highlight a few of your queries as others may have similar questions:

  • Snippets: we’re aware of some issues with the snippets and templates, which should all be fixed in an upcoming release.

  • Previewing apps: the ability to preview an app is something we specifically didn’t include for this product, this is something you can do with our Iterate product. Generate is primarily for those wanting to bootstrap their new project and get a head start with the source code.

  • Payment screen: completely understand where you are coming from here. The idea behind this was to give additional time to re-build as needed, however we understand this may not be enough time. We also offer a 7 day money back guarantee if you’re not satisfied with the source code. We will re-visit this concept though.

  • Saving applications: your project is automatically saved to your browser’s local storage, and you can come back to it at any time (including after you have built) to continue working on your project. The only time you would lose your project is if your browser cache is cleared, or if you click the “clear canvas” button. Our Iterate product on the other hand allows you to save multiple projects and switch between them. However, we will take on your feedback to make this more obvious.

  • Selenium/Admin CMS: the Selenium tests target the admin CMS, so without the admin CMS, it doesn’t make sense to include Selenium. Of course, developers can always add it themselves after the fact. In the future we may be able to make this more flexible but for now it is a requirement.

  • Themes/layouts: as mentioned earlier, our primary target are developers, who generally prefer to build their own customisations directly into the source code rather than being forced into using pre-made widgets and controls. That being said, this is still a very basic version of our offering and if users like you keep asking for it, we will definitely be considering it in the future.

  • Guides/help: we are currently working on making our developer documentation as we speak! This will be available very soon on the platform and for the general public. For now, our documentation is available on codebots.com/knowledge-base.

  • Pitch/website: we are happy to hear that you liked the website and videos!

Again, thank you for reviewing Generate, we appreciate your feedback.

2 Likes

There was a Facebook ad that looked interesting (I can’t remember it sorry, it wasn’t for the Generate beta specifically I don’t think), I ended up browsing your site, I probably hit the Generate page than the Iterate page and saw a similar looking GUI. I guess the initial impression that I had was that Generate was kind of Iterate-lite, offering a kind of express one-time customer transaction experience.

I guess I duck-typed both as no-code/low-code, they looked enough like offerings from Mendix and Outsystems that I thought these were no code offerings (if it looks like a duck and quacks…). I Googled “codebots no code” and saw blog posts and I guess I took that as confirmation. I haven’t drunk the ‘no-code koolaid’, my boss wants to have a dev assigned to doing a project with no-code, and the pitches from no code solutions I saw were kind of awful… they were all prepared to shoot down objections like diagrams isn’t programming (as if they’d assumed devs had never heard of Turning completeness or esoteric languages), except I think anyone that programs should aknowledge that it is and it’s just another language to learn, with a different proposition.

Armed with my assumption I guess maybe I saw what I wanted to from the Generate page and video, it looked like something my boss might consider no code, and actually seemed like it might tick some good boxes that were a concern for me regarding long term maintanance (ie. in house with C# devs), and ability to add custom code down the track.

I’m sorry for the mistake, I’m ultimately a junior programmer to some extent, and I failed to consider that this was ultimately a meant to be code generator that creates a starting point, intended to save developer time on a project. Revisiting the Generate page with this understanding, I guess I can see it, and I guess part of the issue is me not considering this business model (ie. selling use of a code generator, it kind of makes sense in hind sight, it makes sense to pay per use as that’s where it’s potentially valueable to the user)

As a developer considering paying for a generator though, I don’t know that the page is compelling in terms of selling me on the idea that the generator will be close enough to the code I or my team would write or want to maintain so as to be worth out time/money. I realise that if / when you can make the leap that the generated code will save developer time, it’s an attractive proposition; but until than it’s sort of an extra learning curve for a dev to learn this tooling, then embrace the code it produces (that regretfully I haven’t spent much time reviewing), and then use different tools later if further changes are required

1 Like

This makes sense, and you are probably right (as you have already cleared up, I had expected more of a front end was being provided; just I guess I can see devs I’ve worked with being resistant to add testing to a project that doesn’t already have it in the build with an example dummy test, and I many projects won’t necessarily have a use case for an out of the box admin CMS (and yeah it can be added later, just kind of still the idea of a generator is to save me doing that, if it can, even if it’s not adding any tests?)

2 Likes

will try and browse the generated code a little more than I cared to previously (when I was mistaken about the purpose of the tool), only overservation so far is that the local variable name “dispayName” is mispelled in the serverside\src\AttributeValidators\ files

2 Likes

Hi Nat,

It’s always great to find out where people are coming from! :blush:

Thanks for clarifying the no-code/low-code reference. I can understand how you made the connection after reading our blog post.

We appreciate the time and effort in providing this additional feedback.

Thanks!
Shannon.

Thanks for picking that one up Nat!

Our beta competition has ended! Thanks to everyone who left feedback on our forum :speech_balloon:

:drum:Drum roll please… Congratulations @nat42. We will be in contact with you shortly. As for everyone else keep an eye on this space - the Generate launch is not far off!

2 Likes