I wanted to introduce this little, unpretentious piece of software, which is intended as a small programmable database for hobbyists, like a mini Access but with a scripting language for those who like parentheses.
Apparently saved project created with BeeBase is basically a sqlite DB, that you can open with any sqlite browser. So i think a lot of value could come from standardised sqlite format, upon which you could build different UI's to manipulate the content of said sqlite DB and then provide a app that would build client UI based on content of same sqlite file.
Yes, BeeBase uses the sqlite3 file format. You can make changes to the sqlite3 file with other SW, but there are some rules to be followed if you want BeeBase to work with those changes. More info is in the manual here: https://beebase.sourceforge.io/index.php?page=documentation&...
What i mean is that you can save a project and just open saved file as sqlite file. Without need to export anything. That file contains all information needed for app. User data plus meta data used by BeeBase.
Ok so first feedback. Launched app. Went to create a new table. Entered name : "users". Got error "Invalid name". Got confused, whats illegal about the name. After some time figured out that name must start with UPPER case latter.
This could have been the error message instead of generic "Invalid name".
True, this could be improved. Note though that if you hover over the text entry box, there is a tool tip that says this:
Name of the field. Must begin with an uppercase letter followed by further letters, digits or underscore characters. Non-ASCII letters like German umlauts are not allowed.
Let's take a look at how the big boys handle something similar...
SELECT * FROM logs WHERE KEY = 'blah' LIMIT 10;
/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'KEY = 'blah' LIMIT 10' at line 1 */
I think there is some expectation of technical literacy for the use of a database. This would include being able to familiarize yourself with naming conventions and keywords.
I have personally never seen a database that gives detailed error messages like was requested and I'd be excited to see an example.
Yes, the error messages of modern SQL databases suck. On that note, SQL itself sucks (the two problems might be related). But that's no excuse to not do better. Besides, BeeBase seems more user-focused than MariaDB, presenting itself as a nice GUI tool. "Real developers" might not need good error messages, but they also don't need a GUI and would sooner use some unholy bash-sed-awk-Perl mixture.
Comments like this are the reason why I will not touch software like this. I can live with the old school-style and the limited ability set sold on the webpage. But someone bringing up a legit complain and then receiving such hostile behavior, speaks for a toxic community or user hostile developers. And it's not limited to this one comment, but there are several collect here.
The replying comment side stepped the discussion of error messages lacking context that could be easily remedied to be identifiable and the response was "it's in the manual". All error messages meant to be understood by humans should be in the manual at minimum, but what the replyer suggested by ignoring the conversation was "your issue with the error message isn't important because you can figure it out yourself". It's dismissive to respond to nuanced articulated opinions made in good faith with simplistic matter-of-fact answers that don't address the problem, which could easily be seen as a form of hostility in a place meant for discussion and engagement.
You could argue that's not their intent or that it's the case of direct wording than intentionally being curt, but this is the second post in the chain that dismisses the legitimate discussion with additional redress to make sure you let the poster know that it's their problem "punching at shadows" and that their problems are imagined. What a shameful display of lacking empathy.
It's not important because there are many quirks to this software, including a Lisp-like programming language. Learning to use it involves internalising many things that aren't common knowledge, which one has to figure out by trial and error, and the manual.
If you are seriously interested in BeeBase you'll be spending hours learning the basics of the Lisp-dialect and GUI toolkit, getting a hangup on that error message means you don't have that kind of interest. Maybe the empathy got in the way of that, I don't know.
And let's say someone makes a patch that implements a new error message that specifies which of the two rules regarding table names has been breached, then what? More complaints about the next quirk? Some other error message? Begging for a Lua-implemented query language because parens lost the syntax wars of yesteryear, describing it as miserable that it isn't already integrated?
Yeah there’s a lot of people mistaking bluntness for hostility here.
And, at the end of the day, this is a free open source piece of software. The experience could be improved, definitely, but nobody owes it to anyone to do so and it’s important to remember that as well.
Honestly I think LibreOffice Base (and its brethren) are underappreciated and underdeveloped pieces of software these days. In 80s/90s stuff like dBase and Access seemingly were relatively popular, but that whole category of software seems to have mostly died out which is imho a shame. I suppose Access being somewhat notoriously horrible has something to do with that, suffocating the whole field. Considering how much business users are stretching Excel to fill the gap, I do think there would be demand for better options. I guess Airtable etc are the modern alternatives.
I find it just a shame that databases as a concept is something that has been relegated to be hidden deep in the backends and accessed only by specialized DB admins or through narrow and leaky APIs; SQL is considered arcane wizardry instead of being suitable for technical business users like afaik it was originally envisioned as.
Agreed if FileMaker would do what you needed. 1990s FileMaker was not really relational, right? To be painfully fair to Microsoft, Access was more powerful and did a nice job of balancing capability and UX.
For many contemporary use cases where one might have used FileMaker in the nineties, there’s SharePoint lists and PowerBI.
It has created a how complex layer under the simplicity to better compete with databases. It’s a great environment but they seem to cater to experts more than people need to Crete a database for their own use.
It is great deployment platform for offices based on FileMaker/database workflows.
to give some perspective, there is an app i've written as a complicated google sheets script, which would have been way simpler to maintain as a desktop app, but what the end-users want is the ability to have multiple people use it from multiple devices at once. that's become table stakes for a lot of software now, and it's really what has killed desktop apps for stuff like this.
they could, but you would have to do pretty much everything from scratch - set up a server, figure out client-server communication, handle state changes, flaky networks, etc. with a webapp you get a lot of that infrastructure "for free" insofar as the entire stack is designed around the multiuser experience, and you are going with the grain of the platform. not to mention all the frameworks and libraries that help you with most of the common tasks you will face. you can follow a rails tutorial and get a small database with a multi-user read/write user interface working within a day or two.
true, and that saves you having to write the frontend in html/css/js, but you still need to write an api-only web app to act as your backend. the "going with the grain" path for a desktop app is to be running on a local machine, with all data stored locally, and interacting with the user over a keyboard and mouse, not the network.
you can absolutely write a desktop app as a web app client, but it's a lot less well-lit a path than either writing a standalone desktop app, or writing a full-stack web app.
Cool that it runs on Amiga. I’d love to see a local store use Amiga based UI for the warehouse. Also the fact it was started as another project in 1994 makes it double cool.
Beyond your computer/workstation, I'd love if there was a personal database program that could also access via your phone, so you can use it on the go (even via dynamic DNS if needed) – modern no-code platforms do that, but data sovereignty would be nice.
Lately I've started using a barebones SQLite DB for this and a GUI DB editor program (TablePlus, which happens to have an iOS app as well).
I'd always relied on ORMs in whatever web application I used to interact with DBs for the most part, but I've recently been learning more about views, triggers, and more complex relations. It's been insightful and I've found that much of what I want from a program like BeeBase is covered by knowing more SQL.
----
That being said, I'd love to see what you described too. I don't mean for this to be like the infamous "why do you need dropbox when you have rsync" comment. I just wanted to give an anecdotal alternative to use until someone creates what you described!
From a cursory glance, the Lisp dialect that BeeBase is using is closest to Common Lisp, is that correct? Sorry, I'm not an expert on CL, but it would be great to see a quick comparison of BeeBase Lisp with other popular Lisp dialects, like this: https://clojure.org/reference/lisps
Yes, it is close, although it is completely homebrewn and lacks a lot of functionality of common lisp. Think of it as taking the syntax from lisp, some basic lisp functions, and then adding functionality for programming your database.
30 rows from multiple tables in a 1024*786 screen (wild guess). I was part of a rewrite of an app, that previously crammed 30 rows into a small screen, and 10 rows after.
I wanted to introduce this little, unpretentious piece of software, which is intended as a small programmable database for hobbyists, like a mini Access but with a scripting language for those who like parentheses.
Your opinions are welcome.
Regards,