What is Dubbiya? Rethinking Entity-Relationship Diagrams
Dubbiya is the code name. I hope a better name comes to me soon. Suggestions welcome.
My vision for Dubbiya:
- database design in the browser;
- that works WITH you;
- that doesn't involve fiddling around with lines and layout;
- that is as easy to use as drawing on a white board;
- yet looks damn attractive
A month ago, Dubbiya was nothing more than an itch to try out HTML5's new Canvas feature. Now it has become an embryonic project.
I've been creating entity-relationship diagrams for years. First I used ERwin, which was powerful software with a clumsy user interface. It did the job, but you had to fight somewhat to get it done. Then came Visio, which I started using before Microsoft acquired it. This was a big step forward from ERwin for usability. Another product I've used and loved is SQLEditor for Mac OS X. It wins on simplicity and prettiness. The Mac world also has OmniGraffle, which makes pretty diagrams but doesn't have smarts about what an entity-relationship diagram really is - it treats like just a pretty picture.
What do all these have in common? They are more awkward to use than a white board. It is click-click-click-type-click-drag-type, etc. I do my database design on a whiteboard, then switch to software to make it look good. Dubbiya eliminates the whiteboard step. It eliminates the click-click-click-type-click-drag-type step.
- Creating a database diagram in Dubbiya is as simple as typing the names of the entities, and indicating the relationships with simple key presses.
- Sharing a diagram is copying the URL and sending it via email to a colleague.
- Diagrams are saved "in the cloud" so you can continue editing and viewing from any Internet-connected computer.
- SQL is generated automatically as you go.
- Surrogate primary keys are auto-added.
- Foreign keys are auto-added.
- Many-many relationships are magically turned into junction tables.
- It's a tool meant for knocking up a small entity-relationship diagram for a new project, or to be added to a larger design.
- It's a tool for use by those doing the implementation, as opposed to the analyst. Therefore it always creates physical models instead of logical models.
It solves pains I've often had when I did IT consulting:
- the computer I was given to use didn't have the database software I needed. I had to beg, work through bureaucracy, use gratis but less able software, or work on my private computer. Hence Dubbiya is in-the-browser install-nothing software.
- because I wasn't using the ER diagram software every day, there was a learning curve each time I used the software again. Hence ease of use is a heavily-weighted criterium for Dubbiya.
Yes, this is a big undertaking. Yes, there is a long way to go. Like I did with Poker Copilot, I'll develop Dubbiya iteratively, based on feedback.