Open reefdog opened 5 years ago
@reefdog now that this is getting a bit more fleshed out, could you update this?
Also... What is the tool we're using for the technical architecture? Right now I don't feel like I would have the ability to update this diagram which I think reflects a lottery-weakness
in the project.
I used Shapes, because it's $10. We should decide on a uniform tool; Shapes is hardly standard (or terribly professional), but OmniGraffle (which is both of those things) is quite expensive. Both of those are Mac-only, which isn't great.
I don't know of a good cross-platform diagramming app; for our architecture (which is fairly simple), maybe we use a cross-platform or browser-based drawing app instead? In which case I'd recommend Figma, and would be happy to convert this to Figma and update it there.
I'm going to ask around to see if anybody has FOSS solutions to this problem that they would recommend.
That's a good call.
Meanwhilst, it looks like Figma has a template and examples for building AWS diagrams after all. (Ours shouldn't be an "AWS diagram" since we may/will interact with non-AWS services, but it's good to have examples of using it as a technical architecture doc at all.)
FWIW, I've come to like Dia, which is FOSS. It took me a little while to become fluent, but now I actually enjoy using it.
You can see some examples of dia-made images in this folder, and the usage notes in this file may be useful too.
Happy to answer questions about it.
Thank you @kfogel this looks like it may well be perfect.
@reefdog I know there may be a bit of a learning curve for this, but I do think that the FOSS and cross platform nature of Dia makes it the right fit for this particular task since we want something that can be updated over time by whoever is maintaining the project. Feel free to push back for another option if you think it's best.
You're welcome, @slifty.
The main usage tip I have is probably an obvious one, but I'll offer it anyway:
When using Dia to make architecture diagrams or any other kind of diagram that involves a lot of duplicate uses of a small set of objects (you know, cylinder for storage device, file cabinet for database, whatever), just keep one dia file (or layer) that is a library of those pictures, and copy from there as needed. There's an initial investment in setting up that library, but then you can cruise through making new diagrams as needed.
Yes, thanks @kfogel! Total agreement that a cross-platform FOSS app with an open file format is preferred. Besides Dia, I also saw LibreOffice Draw recommended, and decided to give both a try on macOS.
Both satisfy the FOSS / open file format requirement, though neither can open each other's files (.dia
and .odg
, respectively). Dia comes in at around 100MB installed (besides X11), while LibreOffice (which must include the entire suite) is 700MB.
Installation of both is fairly simple. Dia requires X11, which is no longer bundled with macOS and hasn't been updated in three years, but can still be installed with brew cask install xquartz
; then brew cask install dia
(or download from the site). (Some people have to do further configuration, but I didn't.) LibreOffice was a quick brew cask install libreoffice
(or download from the site).
My initial impression is that LibreOffice is far more nativized to the host OS. It feels like a Mac app, and I imagine that on Linux and Windows it feels like a native app for those platforms. Dia feels like an X11 app: non-macOS-standard keyboard commands, dialog boxes, etc.
The concern there is partly usability/aesthetics, but also which app is likelier to stay atop platform changes, such as Apple's recent bevy of macOS restrictions (killing 32-bit support; requiring app signing; etc.).
In summary: I like that Dia is focused on diagramming (while LibreOffice brings along a full unwanted office suite); but also like that LibreOffice feels more at home on each OS and seems to be maintained more regularly. My vote would be for LibreOffice, but I'll happily go along with the team.
(It strikes me that none of that was an exploration of their diagramming capabilities. That's because our needs are pretty light and periodic, and so our primary concern is actually more how quickly fellow team members can get setup and contribute changes to the document then how complex of architectures it can generate.)
No opinion on the question of dia vs LibreOffice Draw, since I've never used the latter, but thanks for writing up this exploration, @reefdog.
We've already learned and changed some after creating our initial technical architecture. We should make sure it reflects reality.