Show HN: We made a real-time editor for web database apps
demo.hyperfiddle.net
demo.hyperfiddle.net
As best I can tell, this is like phpMyAdmin for Datomic. But the cool and unique thing about Hyperfiddle is that in addition to writing queries and seeing the results, you can customize the result display using markdown or even arbitrary clojurescript code. Then you can generate forms to input new data (based on the schema of the database), connect it to more clojurescript, and before you know it you've built a web app. Because the whole thing is web based, you can send a link to your "fiddle" (web app) to other people, and they can use it without knowing anything about programming. This is all without git, editing text files, or even thinking about deployment or hosting. I think that's all pretty cool.
In most situations, this would be dangerously powerful, especially running on a production database. But Datomic has unique facilities for speculating "what if I transacted this" (which is how the hyperfiddle staging area works). Datomic also has powerful undo and time-travel options, which makes it much less terrifying to hyperfiddle it.
It's also cool that hyperfiddle queries/views/code are all stored in Datomic, so you get a sort of version control type layer built-in.
I think this is a cool vision for making it much quicker to develop lightweight database-backed web apps. Obviously the current state of hyperfiddle needs a lot of work on the UI and home page to explain this all.
The first paragraph of actual text on the page says "Isn't a tool this powerful too dangerous for production?" - you're trying to debate a problem I haven't even mentally flagged because I have no idea what it does. The demo vid is way too fast (and long - the worst combination) for me to get an understanding. I'm generally in-favor of having a demo video as the first thing on your site but only if it's max 20 seconds long and gives me a very clear picture of what it does.
- Why is it uniquely good at doing that (e.g. iteration speed is super fast, no installing dependencies, etc)
- For the non-clojure inclined, what is the value of clojure/datomic to them
It's definitely a huge leap forward for productivity, seeing as you can throw away git, your text editor, bash/ansible/puppet/docker/k8s for deploys since you're editing things live on datomic cloud, but it's a hard sell, even to a huge clojure fan like me, I'm just so used to the status quo.
I.e there is so much that I don't grasp with this front-end. Maybe first list Datomic's pros, and then explain how you add to it, what the workflow with hyperfiddle would be, etc etc.
As you say, you have a long way to go, so good luck!
* What problem does the demo app solve?
* Which part is the end product (the app)?
* Which part is the editor?
* If this is the persistence layer, what else do I need to make a full-blown app?
* What is this query language?
The video is way too fast and don't understand what you're trying to show me apart from that you can build an app in real time - but again, what am I looking at?As a user, I don't really care that it's powered by Datomic. I do care that I can time travel. What other advantages do I get from this as opposed to doing event-sourcing in my favourite SQL RDBMS?
Hope this helps!
You can do it real-time in your browser (including schema changes) without learning any other tools or writing any code, other than optional React.js views and css. Thank you for the feedback!
When I read this I assumed this was going to be a web based version of Filemaker or Access. Instead a code editor appeared.
Are there web based versions of Filemaker? That used to be the go to app for non-techies making database apps.
Though it sadly doesn't seem web based
The problem is that I don't know Clojure or Datomic, so I don't know how to edit the app. It seems too complicated to learn.
To address this, I recommend thinking about decoupling the technology from the workflow.
Your demo app has a 1.7MB payload after gzipping (the main.js file alone is 9.5MB before gzip). For me, this alone would be a dealbreaker.
Do you have plans to reduce the payload size?
Thanks for answering my question, and best of luck with Hyperfiddle!
but then when i went to the web page, it seems like something else.
keep in mind I only spent about 60 seconds on the page.
Is there a way to dumb down the presentation a bit? perhaps, just show a super simple example that can be understood in a very short time.
If you self-host, you can instead opt to store your fiddles on the filesystem in git as .edn, .cljs and .css, or whatever. You can wire up that webservice yourself in a couple lines of code. We have a lot of built in tools that work like this, for example the schema editor, the toolbar, and the hyperfiddle editor itself which is bootstrapped. Generally we prefer to store everything in the database where reasonable, because we can hot edit it and it's a much faster and fun workflow.