Hey,<p>I am the founder of FifthTry.com and creator of the FTD document format.<p>Backstory: I came across Matthew Griffith’s Style Elements library[1] years back, it made me rethink how to build and style user interface: thinking in terms of rows and columns was very intuitive to me compared to the CSS box/flex models. Style-Elements and then `elm-ui` offer a really small set of properties, and they are good enough for us to replace CSS for most part, this makes me think CSS is a bit over designed, or may be not designed at all, a hack gone too long.<p>But CSS is not the only thing I struggle with, there is also the complexity of three completely different language you have to learn to build any simple user interface today, HTML, CSS and JavaScript. You can do a lot with just HTML / CSS, especially if you are not building web-apps but web pages, but with just HTML / CSS its not possible to create re-usable components.<p>And Javascript is just too much (so much so that a lot of backend developers declare themselves incapable of building basic web interfaces).<p>Another problem that bugs me is the data representation / exchange languages: JSON/YML/CSV are too popular, and yet they leave a lot to desire, there is no way to define schema in any of them, writing them by hand is too cumbersome without programming editors, and then its just one more thing to learn on top of the three named above.<p>It always bugged me that this can not be the best we can do.<p>FTD is an attempt to take Griffith’s ideas, create a (hopefully) simple syntax, and create a unified language that replaces HTML/CSS/Javascript for user interface creation (think web pages, not web apps). A language that has first class data modelling capabilities[2].<p>I would love to hear your thoughts about it.<p>PS: apologies for the back button bug, I have created a full stack web framework: Realm[3], and it’s under a lot of flux right now.<p>[1]: <a href="https://www.youtube.com/watch?v=NYb2GDWMIm0" rel="nofollow">https://www.youtube.com/watch?v=NYb2GDWMIm0</a><p>[2]: <a href="https://www.fifthtry.com/ftd/data-modelling/" rel="nofollow">https://www.fifthtry.com/ftd/data-modelling/</a><p>[3]: <a href="https://www.amitu.com/realm/" rel="nofollow">https://www.amitu.com/realm/</a>
It looks like the P1 section, <a href="https://www.fifthtry.com/ftd/p1/" rel="nofollow">https://www.fifthtry.com/ftd/p1/</a> , is pretty confused on the difference between "documents" and "multiline data"<p>HTML, XML, Markdown, RST is are all "markup languages" (this is what ML in XML/HTML stands for). This means that your file is a single logical stream of text, from start to end, and the format just adds properties ("marks up") to some section of the text. You can remove tags from HTML and syntax from RST and still get a readable and useful text. .<p>JSON and YAML are designed for storing data. There is no inherent stream of text; most of the times no one ever reads YAML documents from start to finish. If you remove all tags, the results make no sense.<p>(The data formats can be better or worse for working with multiline strings -- for example both YAML is great with multiline strings when using block quoting, and JSON is just a huge pain. But that does not make them markup languages)<p>Mixing data and markup format causes pain -- this is what XML did and this is one the big reasons people hate it. All the tooling is designed for "marked up text" use case, and using it to store data makes it awkward.
The idea of a single text based markup language that meets most basic web page requirements is excellent.
So many Backend developers, as well as early developers find HTML+CSS complex to navigate.<p>Using react-ish components looks like reusability will max out in open source - like have custom HTML “tags” for compound elements. Very promising.
I never thought HTML, CSS etc could be redesigned (let alone replaced). HTML can be so nasty when you have to add styling in the tags; it kills the point of using xml. Best we could do is define styling in a different css file, but then the style is pushed to a huge dungeon and is left for us to make sense. That is why I think this is so cool. Never seen so much done by writing so less.