Ultorg: The User Interface for Relational Databases

(ultorg.com)

97 points | by Ivoah 9 hours ago ago

28 comments

  • kragen 7 hours ago ago

    Eirik Bakke's Ultorg (SIEUFERD) is amazing and inspirational research, and I'm glad to see that it's finally available to the public after 17 years. It's one of those things that really makes you sit up and take notice of how much better our everyday software could have been.

    However, I wouldn't be willing to try it under proprietary-software terms. Last week, I was thinking about eliciting open-source software with the Ultorg look and feel from an LLM, thus replicating Bakke's HCI research and enabling other HCI researchers to build on it, which won't be possible under a proprietary license.

    My notes on Ultorg may be of interest; you can

      git clone http://canonical.org/~kragen/sw/pavnotes2.git
    
    and read sieuferd.md (5200 words).

    The introduction:

    > Eirik Bakke’s [SIEUFERD][0] (or, as he sometimes spells it, SIUEFERD) is a really interesting and promising generic database frontend, a “schema-independent database UI”. The elevator pitch is “a new kind of graphical query interface [with] the power of SQL but the ease-of-use of a spreadsheet”. (Unfortunately, he forgot to implement the DDL part of SQL, just doing the DML part.)

    I can highly recommend Bakke's 5-minute talk on it from 10 years ago at https://vimeo.com/173726371.

  • Skeime 3 hours ago ago

    I think the novel thing here, that I have not yet seen in any other database app, is the realization that normal SQL joins are not quite what you want in most cases.

    Often, you are interested in nested results. "Give me all my customers with a list of their orders." However, when you do this with a join, you get a list of the orders with a copy of the customer information attached to each, instead. In Ultorg, you actually get the customer with a list of their orders nested in their row as a sub-table, but with that sub-table's headers cleverly floated to the top, so they're not repeated for each customer.

    As a second trick, Ultorg manages to remember the relations, so the data is editable in the nested tables. (There are some limitations to this, I believe.)

    I used the trial version of Ultorg at the beginning of the year (the example in the 2.1.4 changelog is based on my use case), and it was tons of fun to use. Ultorg is great. I wish I had discovered it right at the start of that small project.

    Unfortunately, I do not have a regular use case for this, and for personal use and occasional unpaid hobby projects, Ultorg's license is not a good fit. So I check the website from time to time whether there's been a change to it; no luck so far.

    I am no business expert, and I do not know how well Eirik is doing with the current model. However, I do have the impression that he underestimates how many people would have a use case in their private life for it, but not at $35/month. I think this could also help attract new commercial users. After all, it's much easier to convince your boss of purchasing a software if you have already built expertise by using it personally.

    • mamcx an hour ago ago

      Yep, I have said for long that SQL `GROUP BY` should be that, instead of what is now (that is variation of SUMMARIZE).

    • UltraSane 3 hours ago ago

      SQL forcing all results into a flat table is one of its biggest design flaws. It creates tremendous data duplication.

      • ctippett an hour ago ago

        If anything a well designed database minimises data duplication. If your query returns duplicate data that's on the writer, not the language's fault.

        • Skeime an hour ago ago

          It is the language's fault, because SQL offers no good way to get nested results. If you want to avoid the duplication, you can do multiple queries, but then you essentially have to do the join on the receiving end, which kind of defeats the purpose of having joins in SQL.

          Alternatively, you might use functions to aggregate in the query, but they're not standard, as far I know, which means that interfaces in programming languages often do not support them. The best bet might be aggregating into JSON, but this removes quite a bit of the type information that values in SQL usually carry. (Also, the aggregation functions are generally less pleasant to write than standard joins.)

  • akshayrajeshwar 7 hours ago ago

    Previously used it and it's AMAZING given you have data stored with good practices, e.g. with unique IDs that are consistent among many databases/sheets. I found it's easier to begin with Ultorg's usecase in mind than to migrate existing files to fit its use.

    And I do agree with the criticisms mentioned in the thread. Ultorg is solving a lot of problems of data organisation and context awareness, so starting a business with a perpetual license would be awesome.

    Guess I just don't wanna lose access to the tool once I have all the tailored files and fail to pay again.

    Should mention that Eirik is a joy talk to and will quite possibly accommodate you. All the best to him.

  • NetMageSCW 7 hours ago ago

    A small desktop app that is a subscription rubs me the wrong way.

    • aetherspawn 7 hours ago ago

      I agree, it’s novel but please give me a perpetual version that costs like $500 and I’ll buy it. Hate subs.

      • dymk 4 hours ago ago

        Problem is, only you and two other people would buy it.

        • convict 4 hours ago ago

          As long as it doesn't stop other people from buying subscriptions, is it really a problem?

        • aetherspawn an hour ago ago

          Well that’s an extra $1,500.

  • maxloh 6 hours ago ago

    Someone just posted an open-source alternative earlier today. Its UI looks better too.

    https://news.ycombinator.com/item?id=50427934

    • Skeime 3 hours ago ago

      I don't see Ultorg's nested results in their screenshots, which is really what makes Ultorg special.

    • dmos62 an hour ago ago

      There's also this https://mathesar.cloud/

    • vim-guru 5 hours ago ago

      From the looks of it, that is just the performance part of it. Ultorg is so much more.

  • perbu 2 hours ago ago

    It is interesting that somebody is still making software. The innovation here is mostly in the UX, which I suppose is hard to protect. Kinda sad.

  • patates 6 hours ago ago

    I like its flexibility but nothing beats LINQPad and its .Dump() method on that front.

  • aetherspawn 7 hours ago ago

    Question: Is there any way to customise the interface like add extra buttons, for example to export an invoice?

  • polskibus 5 hours ago ago

    Isn’t this like a pivot table, that many advanced BI solutions (that have a modeler inside) already have ?

    • wodenokoto 4 hours ago ago

      It is and it isn't.

      It looks like a polished thing that from a UX perspective sits between a spreadsheet and PowerBI

      It let's any user with DB access build reports pretty close to how you'd edit a spreadsheet and without having to build pipelines in PowerBI and setup ingestion etc, etc.

      The closest thing I've seen here is the old Tableu Desktop, but this one is more focused on tables than figures.

    • kragen 4 hours ago ago

      Not really. Ultorg can do anything SQL (DML) can do, and pivot tables can't do any of that. Ultorg also does pivot tables: https://www.ultorg.com/docs/present/crosstabs/

  • BrenBarn 3 hours ago ago

    I've wanted something like this for a really long time. Unfortunately I'll never use this because there's no way I'm going to pay for it, let alone pay an ongoing subscription fee, but it looks pretty cool.

  • mapcars 4 hours ago ago

    Any features worth to switch from DBeaver?

    • Stitch4223 4 hours ago ago

      Please approach this the other way around: try both and share your preferences here.

      These seem to be entirely different tools. Ultorg is a generic relational gui (like Bento, Access and so on), dbeaver is a database admin tool centered around writing SQL and managing tables.

  • endverbraucher 6 hours ago ago

    Or you can use open-source DBFlux https://dbflux.dev/

    • wodenokoto 4 hours ago ago

      The screenshots looks nice, but the text on the landing page does make me wonder if the whole thing is just a pile of slop.

  • refactor_master 6 hours ago ago

    Sheesh, and they said Apple was doomed for putting small icons inside dropdown menus. Who designed this monstrosity?