LkpPo 10 days ago

Good morning,

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,

  • psadri 10 days ago

    Great! This reminds me of FileMaker and similar RAD desktop tools. Curious to know what kind of projects people are using it for?

  • hilti 10 days ago

    Amiga?! Just reading this warmed my heart. Awesome project - congratulations!

  • pkphilip 10 days ago

    Very nice! Looks great!

    May I suggest that you have a "Get Started" button right on the home page itself with a very basic tutorial?

  • SuperHeavy256 10 days ago

    Thanks for sharing. I was looking for something just like this actually.

  • ComodoHacker 10 days ago

    Is there any technical docs on internals? How it does I/O, caching, consistency, concurrency etc.?

    • KaiserPro 10 days ago

      that's probably not what this is aimed at. especially as most people have SSDs and loads[1] of ram

      [1] compared to the days of filemaker

  • spxneo 10 days ago

    [flagged]

    • hiatus 10 days ago

      I don't understand —screenshots and a feature list are among the first few links at the top.

      • spxneo 10 days ago

        guess I missed it, im used to scrolling and seeing screenshots and features on splash page. I must admit I wasn't very interested in this piece of software to begin with.

        • CRConrad 10 days ago

          > guess I missed it, im used to scrolling and seeing screenshots and features on splash page.

          Sigh... A generation conditioned by horrible endless-scroll single-page "applications" (web sites).

          • jeremyjh 10 days ago

            Sure buddy. I began using the web in 1996 and I had the same reaction.

            • CRConrad 5 days ago

              > I began using the web in 1996

              BTW: So did I. Or if it was '95.

            • sigzero 10 days ago

              That says more about you then it does about the site. :)

              • lazyasciiart 10 days ago

                Yes, I believe it is intended to say that he is definitively not part of “ A generation conditioned by horrible endless-scroll single-page "applications" ”

                • CRConrad 9 days ago

                  Well, seems at least part of older generations are conditioned too. I never specified any hard age limits, did I?

        • dleeftink 10 days ago

          I think -- if in jest -- this is succinct assessment of the state of the web. Endlessly scrolling on things we aren't remotely interested in.

    • anonzzzies 10 days ago

      Guess you also didn’t see a site for a long time where you have to press buttons to do things instead of just scroll down? Not meant to be snarky: I got the same comment on our saas products. Guess people want ’sales sites’ to be one pagers; I don’t exactly know why. Personally I don’t see the difference between scrolling down or pressing buttons but he.

      • TeMPOraL 10 days ago

        Convenience and familiarity.

        I'm ashamed to admit, but I too expect to see screenshots and features listed inline on the landing page; it's been a common practice in the last 10 years or so.

        > Personally I don’t see the difference between scrolling down or pressing buttons

        Scrolling is untargeted, you just move the wheel or drag your fingers back and forth. Pressing buttons requires you to identify such elements, target and then click them. Both sound trivial, but they're different classes of trivial.

        • calgoo 10 days ago

          Interesting as I find the complete opposite for myself; I love the easy access to all options at the top instead of doom scrolling for possible information usually hidden between horrible animations that slide in and out, breaking natural scrolling etc.

      • spxneo 10 days ago

        I just shared my opinion, we disagree. I'm okay with this.

        ¯\_(ツ)_/¯

        • kitd 10 days ago

          OP hasn't replied to you AFAICS

vincnetas 10 days ago

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.

  • cess11 10 days ago

    You can export to SQLite3, but not import it back in again.

    • vincnetas 10 days ago

      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.

    • fermuch 10 days ago

      No? I haven't tried it yet, but in the docs it says "SQLite3 file format, and import and export facility"

vincnetas 10 days ago

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

  • brktime 19 hours ago

    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.

  • cess11 10 days ago

    It's explained on page 8 of the manual, in the tutorial section.

    • carlmr 10 days ago

      Exactly, it's a bad error message if you need to read 8 pages of tutorial to get that basic feedback.

      • jfyi 10 days ago

        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.

        • dvdkon 10 days ago

          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.

          • jfyi 10 days ago

            Are you aware of non SQL databases that give detailed errors?

            • dvdkon 9 days ago

              Fair point. Databases encoding queries in JSON get some error messages for free, at least when it comes to "syntax". But I think even others do well.

              I just logged into Grafana and tried writing a simple query. Upon failing I got a reasonably detailed and specific error message: 'parse error: expected type range vector in call to function "rate", got instant vector'.

              I also tried XQuery in Xidel and it gave me nicely descriptive responses to whichever mistakes I introduced.

      • kazinator 9 days ago

        There is only so much room in one page of a tutorial; not everything can be on page 1.

      • mynameisvlad 10 days ago

        Its OSS, you are free to change that if you don’t like it.

      • cess11 10 days ago

        [flagged]

        • silisili 10 days ago

          I'm all for RTFM, more than most, but this is a ridiculous take.

          The software obviously did a specific check that failed, but added no context as to why. Like a boolean isValidName() function. You're already doing checks, you know why it failed, tell the user. Even in fuzzy terms is more helpful than pass/fail.

          Now, if the error said something to the effect of 'name must be uppercase' and the user was confused or complaining, I'd be more inclined to agree.

        • easywood 10 days ago

          No comment would have been better than this comment. Now both the software and its defenders sound really hostile and off-putting.

          • cess11 10 days ago

            It's a database for programmers that want to be able to program their database and have a basic GUI on top.

            If it's too big a hurdle to read the manual you'll never manage to use it for its purpose. Is this a threat to you somehow? In what way?

            Do you have the same opinion about ripgrep?

              $ rg 'function('
              regex parse error:
                  function(
                        ^
              error: unclosed group
            • codetrotter 10 days ago

              The error message from rg says exactly what is the problem though?

              And that’s what people say BeeBase should do here too.

              Something like:

              Error: invalid name: must start with uppercase letter

              Not some obtuse message that you have to go look up in a manual for no reason

              • hazbo 10 days ago

                What's an "unclosed group"? And how would I go about finding that out without reading some sort of manual?

                • codetrotter 10 days ago

                  The difference is providing a short succinct message that is either familiar or can be looked up as rg does here, vs vaguely saying invalid name without saying why.

                  It worsens the UX for no reason.

                  As a sibling comment said, the program already knows why the name was invalid. It would have cost nothing to surface the reason when reporting the error.

                  • hazbo 10 days ago

                    I'm not arguing that I think "Invalid name" is a good message here. I don't think it is. But if you're relying on either familiarity or the ability to look it up, then you're still relying on there being a manual to provide that information in the first place if it is not somehow included in the error message itself. As would be the case here with Bee and rg.

              • cess11 10 days ago

                No, it doesn't. You fill in with knowledge about regex, which isn't explicit in the error message.

                • Vegenoid 10 days ago

                  The equivalent of BeeBase’s error in your example would be simply “invalid regex”, which I’d say is still more useful as regex is widely understood and there are many tools that you can give regex to that will tell you what is wrong with it.

                  • cess11 10 days ago

                    No, there's a specificity to "name" and "group" that makes them similar, which is one part of why I settled on this example. The other is that I expected the recipient to have experience with regex and find the example dumb, confirming my position that one can very well demand a basic knowledge of the tool that isn't immediately communicated by it.

                    Like knowledge of the regex language, or having spent ten minutes skimming through the tutorial part of a PDF manual.

                    In my experience, how to use a manual is a technique more widely understood than regex. Maybe this impression is wrong, I'd welcome something tangible pointing in another direction if it is.

                    • jfyi 10 days ago

                      If it's any consolation, I (some random guy on the internet) would look for naming conventions in the manual if I was given the error "invalid name".

        • spxneo 10 days ago

          not sure if you are trolling or serious here but thats a bad user experience and also very condescending

          • cess11 10 days ago

            It's not about a user, it's about someone declining to become a user because the manual is distributed as a separate PDF. I see two solutions for this problem, either use another software or hire someone to adapt this one to you.

            As a user you know the basic constraints on table names, if you don't you can't use the software.

            • KronisLV 10 days ago

              > It's not about a user

              If your users are developers, then this mindset will inevitably lead to poor developer experience (DX). That is a stance that someone could take, but their software would be then only used in spite of the DX, not because of it. In general, this would lead to a more miserable experience. I don't think that's good, even if it's just a lot of small annoyances along the way.

              Here's a Dylan Beattie talk that touches upon this very thing: https://youtu.be/BIkXid_pBiY?t=629 (specific timestamp to relevant bit)

              • cess11 10 days ago

                Yeah, people have been having miserable experiences with this software and its predecessor for decades but still keep at it, they must be a lot less smart than you.

            • CRConrad 10 days ago

              > As a user you know the basic constraints on table names, if you don't you can't use the software.

              1) As a user you shouldn't be required to know weird constraints on table names.

              2) As a piece of software objecting to some specific issue with a table name, YTF not mention what that issue is in the error message you throw up?

        • huhtenberg 10 days ago

          Yeah, your comments read like trolling.

    • PurpleRamen 10 days ago

      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.

      • AvieDeckard 10 days ago

        They simply said the information is in the manual, there was no hostile behavior. Please stop punching at shadows.

        • zen928 10 days ago

          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.

          • cess11 10 days ago

            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?

            • wewtyflakes 10 days ago

              > 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?

              Yes, this is how software development is done, assuming you like your customers.

              • cess11 10 days ago

                Who are you referring to? Is it even someone in this thread?

                • wewtyflakes 10 days ago

                  I was quoting you, using the > sign to refer to what you said directly. I thought the quote was useful to highlight that it can be easy to have a mental disconnect, or even an antagonism, between developers and their stakeholders.

                  • cess11 9 days ago

                    Who exactly are the "customers" and "stakeholders" here?

                    • wewtyflakes 9 days ago

                      The people who use the software of the people who write the software. If the word "customers" is triggering, the argument holds just as well as for "users".

                      • cess11 9 days ago

                        Why are you dodging the question? Who are you talking about, and why?

                        It's not the commenters above that complained about the error message, they aren't users and highly unlikely to ever become users. Instead you've brought in some unspecified other for unspecified reasons.

                        • wewtyflakes 9 days ago

                          I answered all of your questions directly.

                          • cess11 8 days ago

                            No, you did not.

        • mynameisvlad 10 days ago

          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.

  • kazinator 9 days ago

    It's a poor restriction. The table name I want is 収入. Now what?

zokier 10 days ago

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.

  • humanfromearth9 10 days ago

    I haven't seen anything that beats the UI and UX of FileMaker Pro from the 90s.

    • buescher 10 days ago

      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.

      • CharlesW 10 days ago

        > FileMaker was not really relational, right?

        Not until v3 (1995) or v7 (2004), depending on how low your bar is.

    • nxobject 10 days ago

      Truthfully, given the backwards compatibility of Windows and Wine, you could still get away in this day and age with sticking with it as a solution.

    • octopoc 10 days ago

      Has FileMaker Pro changed / improved / worsened significantly since then? The latest release is FileMaker Pro 2023.

      • detourdog 10 days ago

        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.

  • zem 10 days ago

    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.

    • zubairq 9 days ago

      Very interesting point that multiuser killed desktop apps. Couldn’t desktop apps implement multiuser?

      • zem 9 days ago

        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.

        • zokier 9 days ago

          Desktop apps can use HTTP(/grpc/rest/graphql) for communication just fine, that's not really problem.

          • zem 9 days ago

            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.

  • lysecret 10 days ago

    Notion is putting the database in the Center in a way.

larodi 10 days ago

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.

nxobject 10 days ago

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.

  • Willamin 10 days ago

    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!

  • rambambram 10 days ago

    Try good ol' PHPMyAdmin from your local webhosting company!? The view on a mobile screen in portrait mode is not even that bad.

sesm 10 days ago

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

  • brktime 19 hours ago

    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.

aitchnyu 10 days ago

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.

ljsocal 10 days ago

Reminds me a bit of Lotus Agenda. That never made it out of DOS (except in Hobbs, the unreleased prototype Windows version)

ranger_danger 9 days ago

Reminds me of Microsoft Access in the 90s. We used that to run our entire repair business and it worked great.

hgyjnbdet 10 days ago

I have to use Access at work. Im wondering if this could be a replacement. Certainly LO Base is not, much as I'd want it to be.

I suppose it depends on whether the scripting language can do what vba can, especially with regards to xslx files.

  • cyanydeez 9 days ago

    Javascript and python supposedly are coming to excel.

    • hpeter 9 days ago

      I've been asked to develop python scripts for libreoffice and it was not fun.

SuperHeavy256 10 days ago

Man, that tutorial was difficult to read. No images or GIFs?

  • prmoustache 10 days ago

    [flagged]

    • wolletd 10 days ago

      The point of images in texts isn't to target illiterate users, either.

      A tutorial for a graphical user interface would surely benefit from some screenshots of that very graphical user interface thrown in there.

      The tutorial literally explains menus that pop up in text. Some screenshots would've helped.

    • vanjajaja1 10 days ago

      this is exactly the attitude i'd expect from something hosted on sourceforge. I was also surprised that a db advertised as graphical did not have a screenshot on the front page

      • spxneo 10 days ago

        im actually not sure whats going on here in the comments

        it feels like the same person is posting under different nicks

        for what purpose I do not know.

      • hans_castorp 10 days ago

        There is a link to "Screenshots" right at the top of the page.

Self-Perfection 9 days ago

I believe I have seen something similar on Maemo but cannot find it now.

egeozcan 10 days ago

> BeeBase is available for Windows, Mac, Linux and Amiga

What a nice surprise!

How do you test? Could you automate it?

rho4 10 days ago

How does it compare to MS Access or FileMaker?

  • layer8 10 days ago

    It runs on the Amiga.